Desvantagens de Criar uma Busca Personalizada Sem um Plugin
Ao personalizar a busca em seu site, você pode aumentar o número de visualizações de página, impulsionar suas vendas e ajudar seus visitantes a encontrar o que procuravam mais rapidamente.
Neste artigo, falaremos sobre como você pode personalizar a busca em seu site sem instalar um plugin e por que você ainda deve considerar o uso de um plugin para fazer isso.
Vamos começar!
Por que a Busca Personalizada é Importante para o Seu Site WordPress?
Para começar, vamos falar sobre como uma busca personalizada em seu site pode ajudá-lo a crescer seu negócio.
Personalizar a busca em seu site permite que você:
- Entregue resultados de busca mais relevantes. Limite sua busca a categorias específicas para refinar seus resultados de busca e ajudar os visitantes a encontrar o que procuram mais rapidamente.
- Obtenha mais visualizações de página e vendas. Aumente a descoberta de seu conteúdo e sua renda promovendo posts ou produtos específicos em seus resultados de busca.
- Construa uma audiência leal. Visitantes que tiveram uma experiência de busca positiva em seu site são mais propensos a retornar para explorar mais de seu conteúdo.
- Gere mais tráfego dos motores de busca. Ao ajudar os visitantes a encontrar o conteúdo certo mais rapidamente, você os faz permanecer em seu site por mais tempo, o que é um dos principais fatores de classificação no Google.
Depois de entendermos os benefícios que a busca personalizada pode trazer para o seu negócio, vamos falar sobre as desvantagens que você pode esperar se fizer isso sem um plugin.
Drawbacks of Creating Custom Search Without A Plugin
Você deve considerar algumas desvantagens importantes se quiser criar uma busca personalizada em seu site sem um plugin.
1. Requer Habilidades de Codificação e Conhecimento Profundo de WordPress
A principal desvantagem de personalizar a busca do seu site manualmente é que ela requer experiência extensiva em codificação e conhecimento profundo de WordPress.
O fato é que não há ferramentas de configuração de busca padrão no WordPress.
Devido a isso, a única maneira de personalizar sua busca é modificar os arquivos principais do WordPress e o código do seu tema.
É inconveniente, demorado e inadequado para pessoas não experientes em tecnologia.
Além disso, se você fizer algo errado, isso pode levar à falha do seu site, então você deve ter muito cuidado ao personalizar os arquivos do seu tema.
2. Você Terá Menos Recursos
Além disso, mesmo que você tenha habilidades extensivas de codificação, o número de recursos de busca personalizada que você pode adicionar sem um plugin é limitado.
Por exemplo, você não pode adicionar múltiplos motores de busca com um conjunto exclusivo de regras, excluir páginas ou categorias específicas da busca, gerenciar a ordem dos seus resultados de busca e muito mais.
Portanto, se é crucial para você ter controle total sobre como a busca funciona em seu site, você deve considerar o uso de um poderoso plugin de busca para WordPress.
3. Você Pode Perder Suas Alterações
Finalmente, como personalizar a busca sem um plugin requer fazer edições nos arquivos do seu site, você perderá todas as alterações feitas ao atualizar seu tema ou versão do WordPress.
A melhor maneira de evitar tais situações é usar um plugin de busca para WordPress, pois ele mantém suas configurações, independentemente do que você faça em seu site.
Com isso, vamos dar uma olhada em como você pode personalizar a busca em seu site em poucos cliques, sem necessidade de codificação e independentemente de suas habilidades técnicas.
O Método Mais Fácil para Personalizar a Busca do WordPress em Seu Site
A maneira mais fácil de personalizar uma busca em seu site WordPress é usar um plugin como o SearchWP.

SearchWP é o plugin de busca para WordPress mais bem avaliado, confiável por mais de 50.000 proprietários de sites.
Sua interface amigável e recursos poderosos permitem que você personalize completamente sua busca, mesmo que esteja lançando seu primeiro site.
Por exemplo, com o SearchWP, você pode gerenciar onde o WordPress deve procurar por correspondências, limitar a busca a um tipo específico de conteúdo, ativar a busca por tags e campos personalizados, e muito mais.
O melhor é que você pode fazer a maioria dessas coisas em apenas alguns cliques.
Você também pode usar o SearchWP para:
- Mostrar resultados de busca em modo ao vivo: Ative a exibição em tempo real dos resultados da busca em seu site para que seus visitantes possam navegar instantaneamente para o conteúdo que desejam.
- Rastrear buscas de seus visitantes: Colete dados sobre o que os visitantes estão procurando em seu site, quais resultados são mais clicáveis e outros dados valiosos.
- Destacar termos de busca nos resultados: Ajude seus visitantes a descobrir se encontraram o conteúdo certo mais rapidamente, destacando palavras-chave nos resultados da busca.
- Excluir páginas específicas da busca: Elimine a desordem nos resultados da busca em seu site, excluindo páginas redundantes e conteúdo desatualizado.
Depois de aprender por que o SearchWP é o melhor plugin de busca para WordPress, vamos ver como você pode usá-lo para personalizar a busca em seu site de acordo com suas necessidades.
Etapa 1: Instalar e Ativar o SearchWP
O primeiro passo é ir ao site do SearchWP e garantir sua cópia do SearchWP.
Feito isso, basta ir ao painel da sua conta SearchWP e clicar em Downloads.

Em seguida, você pode pressionar o botão Download SearchWP e salvar o plugin em seu computador.
Após o download, também sugerimos copiar sua chave de licença do SearchWP no canto inferior esquerdo.
Em seguida, você precisará instalar o SearchWP em seu site. Se precisar de ajuda, pode seguir nosso guia detalhado sobre instalação de um plugin WordPress.
Depois disso, você verá a tela de boas-vindas do SearchWP e o assistente de configuração. Prossiga e clique no botão ‘Iniciar Assistente de Integração’ e siga as instruções na tela.

Passo 2: Comece a Personalizar Sua Busca
Em seguida, você pode adicionar, remover e personalizar mecanismos de busca no SearchWP. Pense neles como um conjunto de regras que serão seguidas ao realizar uma busca em seu site.
Ao personalizar o mecanismo, você pode gerenciar a lista de suas fontes de busca, fazer com que ele considere novos atributos de conteúdo, limitar a busca a categorias específicas e muito mais.
Com o SearchWP, você pode adicionar um número ilimitado de mecanismos de busca e conectá-los a formulários de busca individuais em seu site.
Graças a isso, você pode criar rapidamente formulários de busca personalizados para várias necessidades de negócios e colocá-los onde quiser em seu site.
Como neste tutorial queremos personalizar como a pesquisa funciona em todo o site, editaremos o mecanismo de pesquisa Padrão.
Primeiro, vamos especificar onde o WordPress pesquisará conteúdo configurando sua lista de fontes de pesquisa.
Gerencie Suas Fontes de Pesquisa
Para começar, acesse SearchWP » Algoritmo no seu painel do WordPress.
A partir daqui, você pode pressionar o botão Fontes e Configurações.

Aqui você pode gerenciar quais fontes incluir no processo de pesquisa.
Por padrão, ele pesquisa entre Posts, Páginas e Arquivos de Mídia.

Para remover uma fonte de pesquisa, você pode desmarcar uma caixa ao lado dela. Por exemplo, vamos limitar a pesquisa em nosso site apenas a posts.
Para fazer isso, desmarcaremos todas as outras fontes, exceto Posts e, em seguida, clicaremos em Concluído para salvar as alterações.

Depois de configurar nossa lista de fontes de pesquisa, vamos também aprimorar nossa pesquisa fazendo com que o WordPress considere atributos de post e taxonomias.
Configure Seus Atributos de Pesquisa
Para começar, você pode clicar no botão Adicionar/Remover Atributos na seção de pesquisa de Posts.

Na próxima janela, você pode especificar atributos como campos personalizados e taxonomias que você deseja que o SearchWP considere ao realizar uma pesquisa.
Por padrão, ele incluirá título, conteúdo, slug, resumo e autor como atributos.

Para tornar um campo personalizado específico pesquisável, você pode clicar no campo Campos Personalizados e inserir seu nome.
Da mesma forma, você também pode incluir taxonomias como tags e categorias para a fonte.
Para tornar uma nova taxonomia pesquisável, clique no campo Taxonomias e selecione a taxonomia desejada.
Por exemplo, vamos fazer com que o WordPress considere as tags de post ao realizar uma pesquisa. Para fazer isso, escolha a opção Tags no menu suspenso.

Depois de terminar de gerenciar os atributos da fonte de Posts, pressione Concluído para salvar as alterações.
Agora, vamos ver como você pode refinar sua pesquisa para dar aos seus visitantes resultados mais relevantes.
Limite a Pesquisa a uma Categoria de Post Específica
Para começar, prossiga e pressione o botão Editar Regras para sua fonte.

Uma nova janela agora aparecerá.
Simplesmente clique no botão Adicionar Regra.

Aqui você pode adicionar regras pelas quais o WordPress filtrará o conteúdo nos resultados da pesquisa.
Por exemplo, você pode adicionar uma regra para excluir categorias específicas de sua pesquisa ou limitá-la a elas.
Vamos supor que queremos limitar a pesquisa em nosso site de teste à categoria Notícias.
Para fazer isso, primeiro certifique-se de escolher a opção Excluir entradas se: e, em seguida, escolha a taxonomia Categorias.
A partir daqui, você pode inserir o nome de uma categoria à qual deseja limitar sua pesquisa no campo mais à direita. No nosso caso, será Notícias.

Depois de terminar de personalizar as regras do seu mecanismo de pesquisa, clique em Concluído para salvar suas alterações.
Quando estiver satisfeito com a forma como personalizou sua pesquisa, estará pronto para passar para a etapa final e salvar seu mecanismo de pesquisa.
Salve seu mecanismo de pesquisa
Para fazer isso, clique no botão Salvar no canto superior direito do seu painel do SearchWP.

É isso. Você personalizou completamente a pesquisa às suas necessidades sem escrever uma única linha de código.
Vamos testar sua nova pesquisa para garantir que ela funcione de acordo com suas personalizações.
Etapa 3: Teste sua nova pesquisa
Para começar, acesse seu site e realize uma pesquisa de teste.
Por exemplo, como tornamos as tags de postagem pesquisáveis, vamos tentar encontrar uma postagem apenas por suas tags.
Em nosso site de teste, temos uma postagem chamada “Novos Recursos do WordPress”, que tem a tag “Atualizações”.
Vamos pesquisar por esta tag e ver se conseguimos encontrar nossa postagem.

Encontramos a postagem, mesmo que não haja a palavra “atualizações” em seu título, resumo ou conteúdo.
Isso significa que nosso mecanismo de pesquisa agora considera as tags de postagem ao procurar correspondências.

Vamos também garantir que a pesquisa em nosso site agora esteja limitada à categoria “Notícias”.
Para fazer isso, pesquisaremos por “WordPress”, pois temos muitas postagens relacionadas ao WordPress em outras categorias.

Você pode ver que apenas as postagens da categoria Notícias são exibidas nos resultados da pesquisa que obtivemos.
Isso significa que a regra que adicionamos ao nosso mecanismo de pesquisa, que diz que o WordPress deve pesquisar apenas entre as notícias, funciona como deveria.

Portanto, você acabou de aprender a maneira mais fácil de personalizar sua pesquisa. Agora, vamos ver como você pode fazer isso sem usar um plugin.
Crie uma Pesquisa Personalizada no WordPress Sem um Plugin
Para personalizar sua pesquisa sem um plugin, você precisará fazer edições em seu tema.
A maneira mais segura de fazer isso é criar um tema filho do tema atual que você está usando em seu site.
Dessa forma, quando você fizer alterações em um tema filho, seu tema pai permanecerá intocado, permitindo que você o alterne rapidamente em caso de erros críticos.
Além disso, ter um tema filho permite que você atualize seu tema pai sem perder suas alterações. Para mais detalhes sobre como criar um tema filho, confira este tutorial sobre como criar um tema filho.
Dica Profissional: Você também pode usar um plugin de backup do WordPress para garantir que você tenha uma cópia recente do seu site pronta para restaurar caso algo dê errado.
Após criar e ativar um tema filho, você estará pronto para começar a personalizar sua pesquisa.
Para começar, navegue até Aparência » Editor de Arquivos do Tema no seu painel do WordPress. Em seguida, encontre o arquivo functions.php no painel direito e clique nele.
Se você não se sentir confortável editando os arquivos do tema, sugerimos usar o WPCode. Ele ajuda você a inserir códigos personalizados em seu site sem o risco de quebrá-lo. Você pode consultar este guia sobre como copiar e colar trechos de código da web no WordPress.

Depois disso, siga as instruções abaixo, dependendo de quais personalizações você deseja fazer na pesquisa em seu site.
Ativar Pesquisa de Posts por Tags e Categorias
Para tornar as tags e categorias de posts pesquisáveis em seu site sem um plugin, você precisará adicionar o seguinte código ao arquivo functions.php do seu tema.
<pre class="wp-block-syntaxhighlighter-code">
/*
* ----------------------------------------------------------
*
* Search Posts by Tags and Categories
*
* ----------------------------------------------------------
*/
/**
* Join the terms, term_relationship, and term_taxonomy tables.
*
* @global $wpdb
*
* @param string $join The JOIN clause.
* @param object $query The current WP_Query instance.
*
* @return string The JOIN clause.
*/
function search_custom_posts_join( $join, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $join;
}
$join .= &amp;amp;quot;
LEFT JOIN
(
{$wpdb-&amp;amp;gt;term_relationships}
INNER JOIN
{$wpdb-&amp;amp;gt;term_taxonomy} ON {$wpdb-&amp;amp;gt;term_taxonomy}.term_taxonomy_id = {$wpdb-&amp;amp;gt;term_relationships}.term_taxonomy_id
INNER JOIN
{$wpdb-&amp;amp;gt;terms} ON {$wpdb-&amp;amp;gt;terms}.term_id = {$wpdb-&amp;amp;gt;term_taxonomy}.term_id
)
ON {$wpdb-&amp;amp;gt;posts}.ID = {$wpdb-&amp;amp;gt;term_relationships}.object_id &amp;amp;quot;;
return $join;
}
add_filter( 'posts_join', 'search_custom_posts_join', 10, 2 );
/**
* Modify the WHERE clause to include searches against taxonomies.
*
* @global $wpdb
*
* @param string $where The WHERE clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The WHERE clause.
*/
function search_custom_posts_where( $where, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $where;
}
// Get additional where clause for the user.
$user_where = '';
$user_id = get_current_user_id();
$status = array( &amp;amp;quot;'publish'&amp;amp;quot; );
// Include private posts if the user is logged in.
if ( $user_id ) {
$status[] = &amp;amp;quot;'private'&amp;amp;quot;;
$user_where .= &amp;amp;quot; AND {$wpdb-&amp;amp;gt;posts}.post_author = {$user_id}&amp;amp;quot;;
}
$user_where .= &amp;amp;quot; AND {$wpdb-&amp;amp;gt;posts}.post_status IN( &amp;amp;quot; . implode( ',', $status ) . &amp;amp;quot; ) &amp;amp;quot;;
$where .= &amp;amp;quot; OR (
{$wpdb-&amp;amp;gt;term_taxonomy}.taxonomy IN( 'category', 'post_tag' )
AND
{$wpdb-&amp;amp;gt;terms}.name LIKE '%&amp;amp;quot; . esc_sql( get_query_var( 's' ) ) . &amp;amp;quot;%'
{$user_where}
)&amp;amp;quot;;
return $where;
}
add_filter( 'posts_where', 'search_custom_posts_where', 10, 2 );
/**
* Set the GROUP BY clause to post IDs.
*
* @global $wpdb
*
* @param string $groupby The GROUPBY clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The GROUPBY clause.
*/
function search_custom_posts_groupby( $groupby, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $groupby;
}
return &amp;amp;quot;{$wpdb-&amp;amp;gt;posts}.ID&amp;amp;quot;;
}
add_filter( 'posts_groupby', 'search_custom_posts_groupby', 10, 2 );
</pre>
Quando terminar, pressione o botão Atualizar Arquivo para salvar suas alterações.

Agora os visitantes do seu site podem pesquisar posts por tags e categorias.
Habilitar Pesquisa por Conteúdo de Comentários e Nomes de Autores
Para tornar comentários e nomes de autores pesquisáveis em seu site sem um plugin, adicione o seguinte código ao arquivo functions.php do seu tema:
/*
* ----------------------------------------------------------
*
* Search by Comment Content and Author Names
*
* ----------------------------------------------------------
*/
/**
* Joins the comments and posts tables.
*
* @global $wpdb
*
* @param string $join The JOIN clause.
* @param object $query The current WP_Query instance.
*
* @return string The JOIN clause.
*/
function search_custom_comments_posts_join( $join, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $join;
}
$join .= ' LEFT JOIN ' . $wpdb-&amp;amp;gt;comments . ' ON ' . $wpdb-&amp;amp;gt;posts . '.ID = ' . $wpdb-&amp;amp;gt;comments . '.comment_post_ID ';
return $join;
}
add_filter( 'posts_join', 'search_custom_comments_posts_join', 10, 2 );
/**
* Modify the WHERE clause to include searches against comments.
*
* @global $wpdb
*
* @param string $where The WHERE clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The WHERE clause.
*/
function search_custom_comments_posts_where( $where, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $where;
}
$where = preg_replace(
&amp;amp;quot;/\(\s*&amp;amp;quot; . $wpdb-&amp;amp;gt;posts . &amp;amp;quot;.post_title\s+LIKE\s*(\'[^\']+\')\s*\)/&amp;amp;quot;,
&amp;amp;quot;(&amp;amp;quot; . $wpdb-&amp;amp;gt;posts . &amp;amp;quot;.post_title LIKE $1) OR (&amp;amp;quot; . $wpdb-&amp;amp;gt;comments . &amp;amp;quot;.comment_author LIKE $1) OR (&amp;amp;quot; . $wpdb-&amp;amp;gt;comments . &amp;amp;quot;.comment_content LIKE $1)&amp;amp;quot;,
$where
);
return $where;
}
add_filter( 'posts_where', 'search_custom_comments_posts_where', 10, 2 );
/**
* Prevent search results duplicates.
*
* @param string $distinct The DISTINCT clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The DISTINCT clause.
*/
function search_custom_comments_posts_distinct( $distinct, $query ) {
if ( ! is_main_query() || ! is_search() ) {
return $distinct;
}
return 'DISTINCT';
}
add_filter( 'posts_distinct', 'search_custom_comments_posts_distinct', 10, 2 );
Quando terminar, clique no botão Atualizar Arquivo na parte inferior do editor para salvar suas alterações.

Agora seus visitantes podem pesquisar por conteúdo de comentários e nomes de autores.
Habilitar Pesquisa por Campos Personalizados de Posts
Para tornar campos personalizados pesquisáveis em seu site sem um plugin, adicione o seguinte código ao arquivo functions.php do seu tema:
<pre class="wp-block-syntaxhighlighter-code">
/*
* ----------------------------------------------------------
*
* Search by Post Custom Fields
*
* ----------------------------------------------------------
*/
/**
* Joins the postmeta and posts tables.
*
* @global $wpdb
*
* @param string $join The JOIN clause.
* @param object $query The current WP_Query instance.
*
* @return string The JOIN clause.
*/
function search_custom_meta_posts_join( $join, $query ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $join;
}
$join .=' LEFT JOIN '.$wpdb-&amp;amp;gt;postmeta. ' ON '. $wpdb-&amp;amp;gt;posts . '.ID = ' . $wpdb-&amp;amp;gt;postmeta . '.post_id ';
return $join;
}
add_filter( 'posts_join', 'search_custom_meta_posts_join', 10, 2 );
/**
* Modify the WHERE clause to include searches against postmeta.
*
* @global $wpdb
*
* @param string $where The WHERE clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The WHERE clause.
*/
function search_custom_meta_posts_where( $where ) {
global $wpdb;
if ( ! is_main_query() || ! is_search() ) {
return $where;
}
$where = preg_replace(
&amp;amp;quot;/\(\s*&amp;amp;quot; . $wpdb-&amp;amp;gt;posts . &amp;amp;quot;.post_title\s+LIKE\s*(\'[^\']+\')\s*\)/&amp;amp;quot;,
&amp;amp;quot;(&amp;amp;quot; . $wpdb-&amp;amp;gt;posts . &amp;amp;quot;.post_title LIKE $1) OR (&amp;amp;quot; . $wpdb-&amp;amp;gt;postmeta . &amp;amp;quot;.meta_value LIKE $1)&amp;amp;quot;, $where );
return $where;
}
add_filter( 'posts_where', 'search_custom_meta_posts_where', 10, 2 );
/**
* Prevent search results duplicates.
*
* @param string $distinct The DISTINCT clause.
* @param WP_Query $query The current WP_Query instance.
*
* @return string The DISTINCT clause.
*/
function search_custom_meta_posts_distinct( $distinct, $query ) {
if ( ! is_main_query() || ! is_search() ) {
return $distinct;
}
return 'DISTINCT';
}
add_filter( 'posts_distinct', 'search_custom_meta_posts_distinct', 10, 2 );
</pre>
Assim que terminar, pressione o botão Atualizar Arquivo na parte inferior do editor para salvar suas alterações.

Agora seus visitantes podem pesquisar posts por campos personalizados.
Esperamos que este artigo tenha ajudado você a aprender como criar uma pesquisa personalizada em seu site sem um plugin. Você também pode consultar nosso guia sobre como criar um tema WordPress personalizado e como personalizar sua página de resultados de pesquisa do WordPress.
Pronto para personalizar a pesquisa em seu site em poucos cliques? Você pode começar com o SearchWP aqui.



