post

Reescrevendo URL amigável de pesquisa no WordPress

Publicado em: 30/12/2020

Categorias: BlogWordpress

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.

Publicações recomendadas:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para 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/pb/656

ID de Referência: 656

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato


Comentários