Pesquisa de conteúdo

Last updated:

O HubSpot CMS inclui uma funcionalidade de pesquisa do site para permitir que os seus visitantes encontrem facilmente o conteúdo que procuram. Todo o conteúdo do seu HubSpot é automaticamente indexado pelo mecanismo de busca nativo da HubSpot, eliminando o incômodo de configurar uma ferramenta de busca de terceiros para o seu site.

Pesquisar conteúdo

O mecanismo de busca pode ser acessado por meio da API /contentsearch/v2/search. Esta API oferece suporte a inúmeras opções de filtragem para permitir que você crie uma experiência de pesquisa altamente personalizada e poderosa em seu site. Por exemplo, se você quiser criar uma pesquisa em seu blog, poderá consultar type=BLOG_POST para retornar apenas os posts do blog. Ou, se você quisesse criar a pesquisa na versão espanhola do seu site, poderia consultar language=es para retornar apenas páginas em espanhol.

A API retorna JSON que pode ser analisado com JavaScript para exibir os resultados no site. Todos os tipos de conteúdo retornarão o domínio da página, o título, a url e o idioma. A descrição retornada é uma amostra de texto do conteúdo que melhor corresponde ao termo de pesquisa. Um elemento <span class="hs-search-highlight hs-highlight-html"> envolverá um texto correspondente, permitindo realçar o texto com CSS. 

Dependendo do tipo de conteúdo pesquisado, os resultados retornam informações ligeiramente diferentes, de modo que você pode exibir os resultados para tipos de conteúdo exclusivos de maneira diferente. Por exemplo, os posts de blog retornarão informações sobre quais tags eles têm, quem é o autor e quando ele foi publicado.

// json { "total": 850, "offset": 0, "limit": 10, "results": [ { "id": 3761238962, "score": 0.30858153, "type": "SITE_PAGE", "domain": "designers.hubspot.com", "url": "https://developers.hubspot.com/docs/cms/search", "language": "en", "title": "Content Search", "description": "Using HubSpot’s native search engine, content search, to implement <span class="hs-search-highlight hs-highlight-html">search on your website</span>" }, { "id": 3254581958, "score": 0.30858153, "type": "BLOG_POST", "domain": "designers.hubspot.com", "url": "https://designers.hubspot.com/blog/getting-started-with-local-development", "featuredImageUrl":"https://designers.hubspot.com/hubfs/local-development.jpg" "title": "Getting Started with Local Development", "description":"The beta Local Development Tooling connects your local workflow to HubSpot, allowing you to utilize <span class="hs-search-highlight hs-highlight-html">version control</span>, your favorite text editor and various web development technologies when developing on the HubSpot CMS." "authorFullName": "William Spiro", "tags": [ "Website Development", "Local Development" ], "publishedDate": 1447938000000 } }

Para obter a documentação completa sobre os parâmetros de consulta e resultado, consulte a documentação em /contentsearch/v2/search.

Implementar pesquisas no seu site

Existem dois módulos padrão que você pode usar para implementar facilmente as pesquisas no seu site utilizando a API /contentsearch/v2/search

Entrada de pesquisa no site

Um campo de entrada para os visitantes digitarem os termos de pesquisa. Esse módulo pode existir em qualquer lugar do seu site. Esse módulo pode ser incluído em um modelo com {% module "search_input" path="@hubspot/search_input" %}.

{% module "search_input" path="@hubspot/search_input" %}

Resultados de pesquisa do site

Retorna uma lista de conteúdo com base no termo de pesquisa. Esse módulo pode existir em qualquer lugar do seu site. Esse módulo pode ser incluído em um modelo com

{% module "search_results" path="@hubspot/search_results" %}

Se a funcionalidade desses módulos não é como você quer que a pesquisa funcione em seu site, você pode criar seus próprios módulos ou funcionalidade de pesquisa. Os módulos de pesquisa padrão são projetados para serem estendidos com base em suas necessidades de pesquisa. Você pode visualizar e clonar esses módulos no Gerenciador de design, procurando seus nomes no Finder, ou você pode buscá-los em seu ambiente local usando a CLI do CMS e o comando hs fetch @hubspot/search_input.module ou hs fetch @hubspot/search_results.module.

módulo de pesquisa padrão

Modelo de resultados de pesquisa

Cada domínio tem sua própria página de resultados de pesquisa por padrão. O modelo e o caminho para esta página estão definidos em Configurações > Site > Páginas na guia Páginas do sistema para domínios específicos. Consulte o modelo de resultados de pesquisa do boilerplate de temas do CMS como exemplo. O domínio definido para a página de resultados de pesquisa é automaticamente conectado aos módulos de pesquisa padrão. No entanto, você pode criar pesquisas da maneira que quiser usando a API /contentsearch/v2/search em qualquer página do seu site.

Como a precedência da pesquisa é determinada?

A ordem dos resultados de pesquisa é determinada por uma série de comparações de página de conteúdo para o termo de pesquisa do visitante. O conteúdo da página é separado em campos de comparação com peso variável com base em onde o conteúdo abrange no HTML de suas páginas. Campos de comparação estão agrupados em ordem de:

  1. Título HTML
  2. Metadescrição
  3. HTML elementos H1
  4. Elementos H2 HTML
  5. Elementos H3 HTML
  6. Outros elementos HTML

Observe que essa lista está sujeita a alterações. 

Se você quiser solicitar para o nosso indexador acelerar especificamente certos elementos em uma página, você pode envolver o conteúdo em uma classe hs-search-keyword.

Controlar a indexação durante o desenvolvimento

Ao desenvolver um site novo, é útil poder testar a pesquisa do site sem se preocupar se ele foi indexado pelos mecanismos de busca como o Google.

No seu robots.txt, você pode instruir o HubSpot a rastrear tudo, enquanto bloqueia outros bots.

# Block all bots User-agent: * Disallow: / # Allow HubSpot Site Search Indexing User-agent: HubSpotContentSearchBot Allow: /

Se alguma de suas páginas tiver uma tag meta que não especifica um índice, a página ainda não será indexada, mesmo se permitido no robots.txt.

Lembre-se também de revisar seu robots.txt antes do lançamento para garantir que tudo seja indexado como desejado.

Comportamento padrão de indexação

Como o CMS sabe a intenção de determinados tipos de páginas, a pesquisa de conteúdo é capaz de limitar com segurança a indexação para permitir a indexação de páginas de tipo de conteúdo. Exemplos de páginas de tipo de conteúdo:

  • Páginas do site
  • Landing pages
  • Artigos de conhecimento
  • Posts de blog

As páginas do sistema e as páginas protegidas por senha não são indexadas. As páginas restritas a membros do CMS só serão exibidas na pesquisa de conteúdo do HubSpot para os usuários que estão registados e têm acesso às páginas.

Como posso excluir páginas de serem retornadas nos resultados de pesquisa?

Se você bloquear uma página de ser indexada pelos mecanismos de busca no robots.txt dos seus sites ou por meio de tags meta, elas não serão indexadas para pesquisa. 

Em seu robôs.txt, adicione um disallow.

# Block all bots User-agent: * Disallow: /path-to-page # Block just HubSpot Site Search Indexing User-agent: HubSpotContentSearchBot Disallow: /path-to-page

Você também pode adicionar uma tag meta NOINDEX, NOFOLLOW a <head> no nível da página ou do modelo.

<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">

Você não precisa bloquear robôs usando o robots.txt e a tag meta. Isso pode se tornar confuso mais tarde, caso você decida permitir a indexação de uma página.

Como excluir seções de uma página de serem indexadas para pesquisa

Às vezes, há regiões de uma página que não são úteis para retornar nos resultados de pesquisa. Elas incluem o conteúdo de um cabeçalho, um rodapé, uma barra lateral etc. Nesse caso, você pode adicionar a classe hs-search-hidden ao seu HTML para que o conteúdo dessas regiões seja ignorado pelas pesquisas.

Esse artigo foi útil?
Este formulário é para comentários sobre nossos documentos de desenvolvimento. Se tiver comentários sobre o produto da HubSpot, em vez disso compartilhe sua opinião no Fórum de Ideias.