post

Reescrevendo URL amigável de pesquisa no WordPress

Por padrão a URL de pesquisa do WordPress é a chamada “https://seusite.com.br/?s=wordpress”, onde “https://seusite.com.br”, é o site usado neste exemplo, “?s=” é o nome do parâmetro, e “wordpress” é o exemplo do texto a ser encontrado.

Essa URL não é tão amigável falando em SEO e nem tão bonita de se ver ou compartilhar.

Podemos alterar essa URL “https://seusite.com.br/?s=wordpress” para “https://seusite.com.br/buscar/wordpress” por exemplo.

Para reescrever a URL, primeiro adicione este código abaixo no seu arquivo functions.php do seu tema.

function reescrever_slug_pesquisa() {
    global $wp_rewrite;
    $wp_rewrite->search_base = 'buscar';
}
add_action('init', 'reescrever_slug_pesquisa');

function reescrever_url_pesquisa() {
    if (is_search() && ! empty($_GET['s'])) {
        wp_redirect(home_url("/buscar/").str_replace("+", "-", urlencode(trim(get_query_var('s')))));
        exit();
    }
}
add_action('template_redirect', 'reescrever_url_pesquisa');

No código acima, onde esta escrito “buscar” você pode trocar para o que quiser como exemplo: “pesquisar”. Isso é opcional.

Com o código acima você já seria capaz de redirecionar, mas teria o problema do wordpress alto completar URLs, onde se você pesquisa-se pelo parâmetro de id post, por exemplo: https://seusite.com.br/?p=569 iria dar problema.

Então antes de salvar o arquivo e atualizar os links permanentes, vamos adicionar outro trecho de código logo abaixo.

function desativar_url_canonical_wordpress($redirect_url) {
  if (is_404() && !$_GET['p']) {
    return false;
  }
  return $redirect_url;
}
add_action('redirect_canonical','desativar_url_canonical_wordpress',1);

Desta maneira você diz ao wordpress que você quer que ele verifique se a o parâmetro “p” na URL e se a pagina existe ou é um erro 404.

Após adicionar os dois trechos acima no seu arquivo functions.php, você deve salvar o arquivo e atualizar os links permanentes do seu site, se não o código não ira funcionar.

Acesse seu painel admin wordpress, vá para Configurações > Links permanentes, e simplesmente clique em “salvar alterações”

Pronto, seu site agora tem uma pagina de busca com URL amigável.


Link de compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/r/NjU2

ID de Referência: 656


Comentários