Melhorando o SEO da busca do WordPress

Quer melhorar a URL da busca do seu WordPress? Cole o código abaixo no functions.php do seu tema para ter URLs limpas como http://site.com/busca/plugins quando alguém buscar pela palavra-chave “plugin” em seu site.

function rewrite_seo_busca() {
    global $wp_rewrite;
    $wp_rewrite->search_base = "busca";
    $wp_rewrite->flush_rules();
}
add_action('init', 'rewrite_seo_busca');

function rewrite_seo_base() {
    global $wp_rewrite;
    if ( !isset( $wp_rewrite ) || !is_object( $wp_rewrite ) || !$wp_rewrite->using_permalinks() )
        return;
    $search_base = $wp_rewrite->search_base;
    if ( is_search() && !is_admin() && strpos( $_SERVER['REQUEST_URI'], "/{$search_base}/" ) === false ) {
        wp_redirect( home_url( "/{$search_base}/" . urlencode( get_query_var( 's' ) ) ) );
        exit();
    }
}
add_action( 'template_redirect', 'rewrite_seo_base' );

if ( version_compare( $wp_version, '3.5', '<=' ) ) {
    function rewrite_seo_bug( $q ) {
        if ( $q->get( 's' ) && empty( $_GET['s'] ) && is_main_query() )
            $q->set( 's', urldecode( $q->get( 's' ) ) );
    }
    add_action( 'pre_get_posts', 'rewrite_seo_bug' );
}

Adaptado de alguns plugins, como o Nice Search!

Ou faça o download aqui: https://downloads.wordpress.org/plugin/wp-seo-search.zip

Deixe um comentário