# Como corrigir o JetSearch que não retorna resultados relevantes no WordPress

O JetSearch deixa de retornar resultados relevantes quando o widget de busca aponta para a fonte (post type) errada, não inclui os campos certos na pesquisa ou tem um limite de resultados muito baixo, fazendo a busca ignorar produtos, custom fields e taxonomias.

## O que é JetSearch sem resultados relevantes?

O JetSearch é o plugin de busca AJAX da Crocoblock para Elementor, Gutenberg e Bricks. Ele substitui a busca padrão do WordPress por um campo com sugestões em tempo real, controlado pelo widget AJAX Search e por uma página de resultados. A relevância dos resultados depende de como você configura a fonte da busca (o post type pesquisado) e quais sources de conteúdo entram na consulta: título, conteúdo, resumo, campos personalizados, taxonomias e, no caso de lojas, o SKU do produto.

Quando o JetSearch não retorna resultados relevantes, quase sempre o problema está nessa configuração, e não em uma falha do plugin. Se o widget busca apenas em post e página, ele nunca vai encontrar produtos do WooCommerce ou itens de um Custom Post Type. Se a busca olha só o título, um termo que existe só num campo personalizado ou no conteúdo é ignorado. Um limite de resultados baixo, conteúdo recém-publicado fora do índice e conflitos com plugins de cache ou de busca relevante completam o quadro.

## Como identificar

- Você digita um termo que existe no site e o JetSearch mostra 'No results found' ou 'Nada encontrado' mesmo com o conteúdo publicado.
- A busca retorna apenas posts e páginas e ignora produtos do WooCommerce ou itens de um Custom Post Type.
- Pesquisar pelo SKU ou por um valor de campo personalizado não traz o produto ou item correspondente.
- Os resultados aparecem fora de ordem ou pouco relevantes: itens antigos vêm antes do que mais combina com o termo digitado.
- A lista de sugestões trava em poucos itens e some o resultado esperado porque o limite de resultados está muito baixo.

**Antes de começar:** Antes de alterar regras de cache ou desativar plugins de busca em produção, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para reverter caso a busca ou outras áreas do site quebrem.

## Como prevenir

- Ao montar o widget AJAX Search, defina a Search Source com todos os post types relevantes desde o início, incluindo produtos e Custom Post Types.
- Padronize quais sources entram na busca (título, conteúdo, campos personalizados, taxonomias e SKU) conforme o tipo de conteúdo do site, e documente essa escolha.
- Sempre que adicionar um novo Custom Post Type ou campo de busca importante, revise a configuração do JetSearch para incluí-lo na fonte e nos campos pesquisados.
- Mantenha a consulta AJAX do JetSearch fora das regras de cache de página e valide a busca após cada mudança de cache ou de plugin de SEO.

Erros relacionados

- [Como corrigir o JetSmartFilters AJAX que não retorna resultados](https://full.services/wp-fixer/corrigir-jetsmartfilters-ajax-sem-resultados/)
- [Como corrigir o JetSmartFilters que não filtra dados dinâmicos](https://full.services/wp-fixer/corrigir-jetsmartfilters-nao-filtra-jetengine/)
- [Como corrigir o JetEngine Relations que não conecta posts](https://full.services/wp-fixer/corrigir-jetengine-relations-nao-conecta/)

## Causa

- O campo Search Source do widget AJAX Search está apontando para os post types errados (por exemplo, só post e página), então produtos do WooCommerce e Custom Post Types nunca entram na consulta.
- A opção de buscar em campos personalizados (Search in custom fields) está desativada, e o termo que o usuário digita existe só em um meta field, ficando de fora da pesquisa.
- A inclusão de taxonomias na busca está desligada, então categorias, tags e termos personalizados que casariam com o termo digitado não geram resultado.
- Em lojas WooCommerce, a busca por SKU não está habilitada, e o cliente que pesquisa pelo código do produto não encontra o item.
- O limite de resultados (Number of results) do widget está muito baixo e corta itens relevantes antes de exibi-los na lista de sugestões.
- Um plugin de cache de página serve uma versão estática da consulta AJAX, ou um plugin de busca relevante de terceiros assume a query e devolve um conjunto diferente do esperado pelo JetSearch.

## Como resolver

1. Ajuste a fonte da busca (Search Source): Edite o widget AJAX Search e confira o campo Search Source. Marque todos os post types que precisam ser encontrados, incluindo Produto (WooCommerce) e qualquer Custom Post Type. Se a fonte não inclui o tipo de conteúdo, ele nunca aparece nos resultados.

```
Edite a página no Elementor e selecione o widget AJAX Search
Abra a aba Content e localize o campo Search Source
Marque os post types desejados (ex.: Post, Page, Product, e seus CPTs)
```

2. Inclua campos personalizados, taxonomias e SKU na busca: No mesmo widget, habilite as opções que ampliam o que é pesquisado: buscar em campos personalizados, em taxonomias e, em lojas, por SKU do produto. Assim a consulta passa a casar termos que existem fora do título e do conteúdo.

```
No widget AJAX Search, ative Search in custom fields
Ative Search in taxonomies para incluir categorias e tags
Em lojas, ative a busca por SKU do produto WooCommerce
```

3. Aumente o limite de resultados: Confira o campo Number of results do widget. Um valor muito baixo corta itens relevantes antes de exibi-los. Aumente o limite para um número que comporte os resultados esperados sem sobrecarregar a lista de sugestões.

```
No widget AJAX Search, localize o campo Number of results
Aumente o valor (ex.: de 5 para 10 ou mais) e salve a página
```

4. Exclua a consulta AJAX do cache: Se um plugin de cache estiver servindo uma versão estática da busca, a lista de resultados fica congelada. Exclua a URL ou a action AJAX do JetSearch das regras de cache para que cada consulta seja processada ao vivo.

```
No plugin de cache, abra as exclusões (Never Cache URLs ou similar)
Adicione a action admin-ajax do JetSearch às exceções
Limpe todo o cache do site após salvar
```

5. Isole conflitos com outros plugins de busca: Plugins de busca relevante de terceiros podem assumir a query principal e devolver um conjunto diferente do que o JetSearch espera. Desative temporariamente esses plugins e recarregue a busca para confirmar se o JetSearch volta a retornar os resultados certos.

```
Painel WP -> Plugins -> desative plugins de busca de terceiros
Teste a busca do JetSearch e observe os resultados
Reative os plugins um a um para identificar o conflito
```


## Código

```php
<?php
/**
 * Inclui um Custom Post Type na busca AJAX do JetSearch.
 * Use somente se o seu CPT nao aparece no Search Source do widget.
 */
add_filter( 'jet-search/data/post-type', 'full_jetsearch_extra_post_types' );
function full_jetsearch_extra_post_types( $post_types ) {
    // Substitua 'evento' pelo slug do seu Custom Post Type.
    $post_types[] = 'evento';
    return array_unique( $post_types );
}
```

## Perguntas frequentes

### Por que o JetSearch não retorna nenhum resultado para um termo que existe no site

Geralmente o widget AJAX Search está com a Search Source apontando para os post types errados ou com a busca limitada só ao título. Edite o widget, inclua os post types corretos na fonte e ative a busca em conteúdo e campos personalizados para o termo ser encontrado.

### Como faço o JetSearch buscar produtos do WooCommerce

No widget AJAX Search, abra o campo Search Source e marque o post type Produto. Para que o cliente encontre itens pelo código, habilite também a busca por SKU. Sem o post type Produto na fonte, a busca nunca traz resultados da loja.

### O JetSearch consegue pesquisar em campos personalizados

Sim. O widget tem a opção de incluir campos personalizados na consulta. Ative Search in custom fields para que termos que existem só em meta fields, como dados de um Custom Post Type, também gerem resultados na busca.

### Por que os resultados do JetSearch aparecem pouco relevantes ou fora de ordem

Isso costuma acontecer quando a busca olha poucos sources de conteúdo ou quando o limite de resultados corta itens importantes. Inclua título, conteúdo e campos relevantes na pesquisa e aumente o Number of results para a lista refletir o que mais combina com o termo.

### Um plugin de cache pode quebrar a busca do JetSearch

Sim. Se o cache servir uma versão estática da consulta AJAX, a lista de resultados fica congelada e desatualizada. Adicione a action admin-ajax do JetSearch às exclusões do plugin de cache e limpe o cache para que cada busca seja processada ao vivo.

### A busca do JetSearch encontra conteúdo recém-publicado

Encontra, desde que o conteúdo esteja publicado e dentro do post type configurado na Search Source. Se um item novo não aparece, confirme que ele está publicado e que o post type dele está marcado na fonte da busca do widget.

### Como saber se o problema é do JetSearch ou de outro plugin de busca

Desative temporariamente outros plugins de busca relevante e recarregue a pesquisa. Se o JetSearch voltar a retornar os resultados certos, o conflito está em um desses plugins. Reative um a um até identificar qual assume a query.

**Fonte:** [Crocoblock — Knowledge Base (JetSearch)](https://crocoblock.com/knowledge-base/)
