Como excluir páginas dos resultados de busca ou pesquisa do WordPress

Adicione os seguintes códigos abaixo ao arquivo functions.php do seu template.

Para excluir páginas específicas:

add_filter( 'pre_get_posts', 'exclude_pages_search_when_logged_in' );
function exclude_pages_search_when_logged_in($query) {
    if ( $query->is_search && is_user_logged_in() )
        $query->set( 'post__not_in', array( 1, 2, 3, 4, 5 ) ); 

    return $query;
}

Para excluir todas as páginas:

add_action('pre_get_posts','exclude_all_pages_search');
function exclude_all_pages_search($query) {
    if (
        ! is_admin()
        && $query->is_main_query()
        && $query->is_search
        //&& is_user_logged_in()
    )
        $query->set( 'post_type', 'post' );
}