Tacking a post_type parameter to any search URL in WordPress filters the search results by a post type.

For example:

http://example.com/?s=speak+easy&post_type=events

Will return only events which include the terms speak and easy.

But when setting the post_type parameter to page, something unusual happens.

Publicly Queryable Pages

When you request only search results that are pages, you’ll get results of all post types. This comes about due to the publicly_queryable value for pages being set to false and a bug in core (Trac ticket).

There is an easy fix, just set publicly_queryable to true. For example: