Quer personalizar a URL de busca do WordPress do seu site? Você pode criar dinamicamente uma URL personalizada com base no termo de busca real que seus visitantes digitam na sua barra de pesquisa.
Com o trecho abaixo, é assim que sua URL de pesquisa ficará:
http://example.com/search/searchterm
Instruções:
Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:
function search_url_rewrite_rule() {
if ( is_search() && !empty($_GET['s'])) {
wp_redirect(home_url("/search/") . urlencode(get_query_var('s')));
exit();
}
}
add_action('template_redirect', 'search_url_rewrite_rule');
Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar / colar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.
Se você gostou deste trecho de código, considere conferir como conectar o Google Analytics ao seu site, para que você possa rastrear sua pesquisa no local com facilidade.
Obrigado pelo snippet, mas há um problema ao tentar pesquisar palavras com acentos (á, é, í, ó, ú) ou outras letras (ñ, ç, …)
Você precisa decodificar o termo de busca em query_vars e em search_query. Aqui está meu código
function you_search_filter($s) { return urldecode($s); }
add_filter(‘get_search_query’, ‘you_search_filter’);
add_filter(‘the_search_query’, ‘you_search_filter’);
add_action(‘parse_query’, ‘you_query_vars_search_filter’ );
function you_query_vars_search_filter( $qvars ) { $qvars->query_vars[‘s’] = urldecode($qvars->query_vars[‘s’]); return $qvars;
}
Espero que seja útil
Existe alguma vantagem de SEO em usar isso em vez do URL padrão?
Boa função, aliás, vou usá-la.
Para ser honesto, não acho que seja uma grande ajuda para SEO, no entanto, se você tiver links bonitos habilitados, isso continuará essa aparência em vez de ?s=.