Muitos de nossos leitores perguntaram sobre como alterar o slug padrão do URL de pesquisa do WordPress. Essa é uma solicitação comum, pois o formato padrão (http://example.com/?s=search-term) não é muito fácil de usar nem otimizado para SEO.
Os proprietários de sites geralmente preferem uma estrutura mais limpa, como http://example.com/search/search-term, para melhorar a experiência do usuário e a visibilidade do mecanismo de pesquisa.
Encontramos dois métodos eficazes para personalizar o slug do URL de pesquisa no WordPress. Neste guia, vamos orientá-lo sobre as duas abordagens, ajudando-o a criar URLs de busca mais profissionais e amigáveis para SEO em seu site. Vamos começar!
Por que alterar o slug do URL de pesquisa padrão no WordPress?
Por padrão, o WordPress usa uma estrutura de URL compatível com SEO para todas as páginas de seu site. Normalmente, os URLs do WordPress amigáveis para SEO têm a seguinte aparência:
http://example.com/some-post/
http://example.com/2018/03/news-article/
http://example.com/category/some-category/
Como você pode ver, esses URLs são bastante fáceis de serem entendidos pelos visitantes. Eles podem simplesmente olhar a barra de endereços do navegador e ver onde estão no layout do seu site.
Esses URLs também fornecem aos mecanismos de pesquisa informações úteis sobre a página para que eles possam classificá-la corretamente e mostrá-la às pessoas que estão procurando conteúdo como o seu.
No entanto, quando um usuário do WordPress faz uma pesquisa em seu site, o URL geralmente tem a seguinte aparência:
http://example.com/?s=search-term
Os caracteres ?s= extras tornam esse URL mais difícil de ler e entender, o que pode confundir os mecanismos de pesquisa e seus visitantes. Ao alterar esse URL, você pode melhorar sua pesquisa no WordPress e impulsionar seu SEO.
Dito isso, vamos ver como você pode alterar o URL de pesquisa. Basta usar os links abaixo para ir direto ao método que você deseja usar:
Método 1: Alterar o slug do URL de pesquisa do WordPress usando o WPCode (recomendado)
A maneira mais fácil de alterar o slug de pesquisa padrão do WordPress é usar o WPCode.
O WPCode é o plug-in de snippets de código mais popular usado por mais de 2 milhões de sites do WordPress. Ele permite que você adicione trechos de código no WordPress sem precisar editar o arquivo functions.php do seu site.
A primeira coisa que você precisa fazer é instalar e ativar o plug-in gratuito do WPCode em seu site. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.
Após a ativação, vá para Code Snippets ” Add Snippet.
Isso o levará à página “Add Snippet”, onde você poderá ver a biblioteca de snippets prontos do WPCode.
Para adicionar seu próprio snippet, basta passar o mouse sobre ‘Add Your Custom Code (New Snippet)’. Em seguida, clique em ‘+ Add Custom Snippet’ quando ele aparecer.
Em seguida, você precisa escolher o tipo de código entre as opções que aparecem. Para este tutorial, clique em “PHP Snippet”.
Agora, na página “Create Custom Snippet” (Criar snippet personalizado), você pode começar inserindo um título para o snippet de código personalizado.
Pode ser qualquer coisa que o ajude a identificar o snippet na área de administração do WordPress.
Em seguida, você pode prosseguir e colar o seguinte na caixa “Code Preview” (Visualização de código):
function wpb_change_search_url() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
add_action( 'template_redirect', 'wpb_change_search_url' );
Esse snippet de código substitui os caracteres ‘/?s=search-term’ por ‘search’, de modo que seu slug terá a seguinte aparência: http://example.com/search/wordpress
Para usar algo diferente de “search” em seu URL, basta personalizar o trecho de código acima.
Quando estiver satisfeito com o código, é hora de alterar o local de execução do snippet, rolando a tela até a caixa “Inserção”.
Para começar, verifique se a opção “Auto Insert” (Inserção automática) está selecionada. Em seguida, abra o menu suspenso “Location” (Local) e escolha “Frontend Only” (Somente front-end), pois usaremos esse código somente no front-end público do nosso site.
Quando o snippet estiver configurado como você deseja, você poderá torná-lo ativo clicando no botão “Active” (Ativo).
Por fim, não se esqueça de clicar em “Save Snippet”.
Agora, acesse seu site e faça uma pesquisa.
Se você der uma olhada na barra de endereços do seu navegador, verá o novo URL de pesquisa otimizado para SEO.
Método 2: Alterar o slug do URL de pesquisa do WordPress por meio do arquivo .htaccess
Outra opção é editar o arquivo .htaccess do seu site. Esse método é mais complicado, portanto não é recomendado para iniciantes. No entanto, ele permite que você altere o slug do URL de pesquisa sem usar um plug-in de snippet de código.
Para acessar o arquivo .htaccess, você precisará de um cliente FTP, como o FileZilla, ou poderá usar o gerenciador de arquivos do cPanel da sua hospedagem WordPress.
Se esta é a primeira vez que você usa FTP, consulte nosso guia completo sobre como se conectar ao seu site usando FTP.
Para fins de exemplo, usaremos o aplicativo gerenciador de arquivos da Bluehost. Se você for um usuário da Bluehost, faça login no painel de controle da hospedagem. Em seguida, navegue até a guia “Websites” e clique em “Settings” (Configurações) para o site que você deseja editar.
Depois disso, vá para a seção Quick Links (Links rápidos).
Em seguida, clique em “Gerenciador de arquivos”. Na mesma área, você também verá o caminho da raiz do documento (geralmente public_html), onde poderá encontrar o arquivo .htaccess.
Agora você deve estar dentro do gerenciador de arquivos da Bluehost.
Depois de encontrar o arquivo .htaccess na pasta public_html, clique com o botão direito do mouse nele e selecione “Editar”.
Agora, cole o seguinte código na parte inferior do arquivo:
# Change WordPress search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
Isso alterará o slug de pesquisa do WordPress para o seguinte:
http://example.com/search/your-search-query/
Você pode alterar esse slug personalizando o snippet de código.
Depois de fazer isso, não se esqueça de clicar em “Save Changes” (Salvar alterações).
Agora, se você fizer uma pesquisa em seu site, perceberá que ele está usando o novo slug.
Dica bônus: Use o SearchWP para criar um mecanismo de pesquisa personalizado do WordPress
O bloco de pesquisa integrado do WordPress funciona bem como mecanismo de pesquisa do seu site. Mas se você quiser oferecer uma experiência de pesquisa melhor, precisará do SearchWP.
Esse plug-in de pesquisa do WordPress permite criar algoritmos e formulários de pesquisa personalizados que melhor atendam às necessidades dos seus usuários e do site. Por exemplo, você pode adicionar um recurso de pesquisa por categoria para que seus leitores possam se concentrar apenas na pesquisa de conteúdo em uma categoria específica.
Para saber mais sobre esse plug-in de pesquisa, leia nossa análise completa do SearchWP.
Esperamos que este artigo tenha ajudado você a alterar o slug do URL de pesquisa padrão no WordPress. Você também pode ler nosso artigo sobre como personalizar a página de resultados de pesquisa no WordPress e nosso guia para iniciantes sobre como fazer uma pesquisa inteligente de produtos do WooCommerce.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Brandon Boyd
Hi, I just came across this today and it’s been super helpful. Is there anyway to remove the “You Search For” prefix in the page title when doing a search?
WPBeginner Support
That would be added by your specific theme first. We would recommend checking with the support for your theme to see if they have a built-in or recommended way for changing that without needing to modify your theme’s files.
Administrador
Kedar Bhogle
Thank you Respected Sir/Madam,
I am looking for such code because I want to use theme default theme’s search box using “Google Custom Search Engine” for extra revenue. Finally I have done using this code (all credit goes to you Sir / Madam). I have basis knowledge about html ( I don’t learn @ any institution, I learned online….. Let’s go),
Very Very Thanks again…..
WPBeginner Support
Glad our guide could help
Administrador
mostafa elaissaoui
thank you
this is helpful
WPBeginner Support
You’re welcome
Administrador
Josh
Is there a way to change /search/ to /somethingelse/
WPBeginner Support
You would use the first method and replace the word search with the word you wanted
Administrador
Josh
Works great. Any idea why this might leave off closing / as in url.com/search/search-term instead of /search-term/
WPBeginner Support
For the first method, depending on your permalinks it may not automatically add a trailing slash, if you wanted one you would need to add the trailing slash to the wp_redirect function or modify your permalink settings.
Administrador
Carlos
Method 1 doesn’t work if I change “/search/” for another term. I triead “/busca/” that means search in portuguese…
Richard Talbot
Carlos is right. Same goes for method 2 (htacess method. The only word it will work for is “search”. If you try any other word like “result”, “busca”, “whatever”, etc, then you get a 404.
Very confusing as to why it only works for the word “search”.
WPBeginner Support
You may want to ensure you cleared your caching if you’ve edited the code from the article for a word other than search for one possible reason.
Administrador
Allewar
These methods alone won’t work, they only make the «pretty» slug, but the keyword you need to change is the WP rewrite rule for the query.
You can use this code in your theme’s functions.hp to use any word you want (also includes the rule for the ‘page’ slug):
function re_rewrite_rules() {
global $wp_rewrite;
$wp_rewrite->search_base = ‘buscar’;
$wp_rewrite->pagination_base = ‘pagina’;
$wp_rewrite->flush_rules();
}
add_action(‘init’, ‘re_rewrite_rules’);
Cristina
I’ve used the .htaccess metod and it works. Ths a lot!
Joseph
Do you meant that the search result page can be indexed by search engine?
However, the content in the search result page is a kind of duplicate content as what we can find in the archieve, category or tag pages.
PS. I am not an expert in SEO and might have wrong concept.
Linas
Thank You! Works great. Used 1st method with functions.php