Dados estruturados de caixa de pesquisa de sitelinks (WebSite)

Uma caixa de pesquisa de sitelinks é uma maneira rápida de as pessoas pesquisarem no seu site ou app diretamente na página de resultados da pesquisa. Essa caixa implementa sugestões em tempo real e outros recursos.

A Pesquisa Google pode mostrar uma caixa de pesquisa com escopo definido para seu site automaticamente quando ele aparecer como um resultado da pesquisa, sem que você precise fazer mais nada para que isso aconteça. Essa caixa tem a tecnologia da Pesquisa Google. No entanto, você pode fornecer informações explicitamente adicionando os dados estruturados WebSite, o que pode ajudar o Google a entender melhor seu site.

Se a Pesquisa Google já exibiu uma caixa de pesquisa de sitelinks para seu site, é possível controlar alguns aspectos da caixa adicionando dados estruturados WebSite.

Como implementar a caixa de pesquisa de sitelinks

Siga estas etapas para tornar seu site qualificado para exibição com uma caixa de pesquisa nos resultados da Pesquisa Google:

  1. Instale um mecanismo de pesquisa ativo no seu site ou app para Android.

    As consultas de pesquisa de sitelinks levam o usuário à página de resultados da pesquisa no seu site ou app. Portanto, é necessário ter um mecanismo de pesquisa em funcionamento para ativar esse recurso.

    • Sites: configure um mecanismo de pesquisa no seu site. Esse recurso encaminha a consulta do usuário ao seu destino usando a sintaxe especificada nos dados estruturados. O mecanismo de pesquisa precisa ser compatível com consultas codificadas em UTF-8.
    • Apps: consulte a Visão geral da pesquisa no site do desenvolvedor Android e saiba como implementar um mecanismo de pesquisa em um app. O app para Android precisa ser compatível com uma intent ACTION_VIEW dos resultados da pesquisa, e o URI de dados correspondente precisa ser especificado na propriedade potentialAction.target da marcação.
  2. Implemente o elemento de dados estruturados WebSite na página inicial do seu site. Para a ativação do recurso, é preciso que o app tenha um site associado, mesmo que seja um site de uma única página. Confira algumas outras diretrizes:
    • Adicione essa marcação somente à página inicial, não às outras páginas.
    • Se você já está implementando dados estruturados WebSite para o recurso de nomes de sites, aninhe as propriedades de nome do site no mesmo nó. Em outras palavras, evite criar outro bloco de dados estruturados WebSite na página inicial, se possível.
    • Sempre especifique um SearchAction para o site. Você pode especificar outro, se ele for compatível com a pesquisa em apps. É necessário sempre ter um SearchAction para o site, mesmo que o app seja o destino de pesquisa preferencial. Isso garantirá que o resultado da pesquisa direcione para o site se o usuário não estiver pesquisando em um smartphone Android ou não tiver o app Android instalado.
    • Com base no formato que você está usando, saiba onde inserir dados estruturados na página.
  3. Siga as diretrizes.
  4. Valide o código com o Teste de pesquisa aprimorada.
  5. Verifique a implementação do mecanismo de pesquisa. Para isso, copie o URL WebSite.potentialAction.target dos dados estruturados, substitua {search_term_string} por uma consulta de teste e navegue até esse URL em um navegador da Web. Por exemplo, se o endereço do site for example.com e você quiser testar a consulta "kittens" (gatinhos), navegue até https://www.example.com/search/?q=kittens.
  6. Defina um URL canônico preferencial para a página inicial do domínio usando o elemento do link rel="canonical" em todas as variantes dessa página. Isso ajuda a Pesquisa Google a escolher o URL correto para sua marcação. O servidor precisa ser compatível com a codificação de caracteres UTF-8.
  7. Para apps, ative os filtros de intent necessários para que sejam compatíveis com o URL especificado no app de destino da sua marcação. Veja um exemplo de como criar filtros de intent para URLs da Pesquisa Google em Indexação de apps do Firebase para Android.
  8. Implante algumas páginas que incluam seus dados estruturados e use a Ferramenta de inspeção de URL para testar como o Google vê a página. Confirme se a página está acessível ao Google e se não está bloqueada por um arquivo robots.txt, pela tag noindex ou por requisitos de login. Se estiver tudo certo, peça ao Google para rastrear novamente seus URLs.
  9. Para manter o Google informado sobre alterações futuras, recomendamos que você envie um sitemap. É possível automatizar isso com a API Search Console Sitemap.

Exemplo

Veja um exemplo de resultado da pesquisa para "Pinterest" no Google que retorna uma caixa de pesquisa de sitelinks para o site do Pinterest:

Caixa de pesquisa de sitelinks em uso

Veja abaixo alguns exemplos de marcações que implementam uma caixa de pesquisa de sitelinks que usa um mecanismo de pesquisa personalizado do site:

JSON-LD

Veja um exemplo em JSON-LD:


<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
Microdados

Veja um exemplo em microdados:


<div itemscope itemtype="https://schema.org/WebSite">
  <meta itemprop="url" content="https://www.example.com/"/>
  <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
    <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/>
    <input itemprop="query-input" type="text" name="search_term_string" required/>
    <input type="submit"/>
  </form>
</div>
  

Veja um exemplo de site e app em JSON-LD:

<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": [{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      },{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

Diretrizes

Siga estas diretrizes para qualificar o site para exibição na pesquisa aprimorada.

A Pesquisa Google pode adicionar uma caixa de pesquisa de sitelinks ao seu site mesmo que ele não inclua os dados estruturados descritos aqui. No entanto, é possível impedir esse comportamento adicionando a seguinte tag meta à sua página inicial:

<meta name="google" content="nositelinkssearchbox">

Definições de tipos de dados estruturados

Para tornar seu conteúdo qualificado para exibição com uma caixa de pesquisa de sitelinks, inclua as propriedades obrigatórias.

Tipo WebSite modificado

A Pesquisa Google usa um tipo de dados estruturados WebSite modificado para caixas de pesquisa de sites e apps. A definição completa de WebSite está disponível em schema.org (em inglês), mas o tipo que a Pesquisa Google utiliza é um pouco diferente do padrão. Veja as propriedades aceitas pelo Google:

Propriedades obrigatórias
potentialAction

Matriz de um ou dois objetos SearchAction

Este objeto descreve o URI para enviar a consulta, bem como a sintaxe da solicitação enviada. É necessário implementar uma página da Web ou um gerenciador de intent que possa receber a solicitação e realizar uma pesquisa na string enviada. Se o usuário não estiver em um app Android (ou estiver, mas não houver um destino de intent do Android especificado), a caixa de pesquisa enviará a versão de site da consulta ao local especificado. Se o usuário estiver em um dispositivo Android e tiver especificado um URI de intent do Android, a caixa de pesquisa enviará essa intent.

Crie um SearchAction de site para ativar o caso de pesquisa em computadores. Se você também oferecer compatibilidade com a pesquisa em apps, poderá especificar um objeto SearchAction para seu app. Cada objeto SearchAction precisa conter as seguintes propriedades aninhadas:

Exemplo de site

O exemplo a seguir envia uma solicitação GET para https://query.example.com/search?q=user%20search%20string.

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search_term_string}"
  },
  "query-input": "required name=search_term_string"
}]

Exemplo de app

O exemplo a seguir envia uma intent do Android para android-app://com.example/https/query.example.com/search/?q=user_search_string.

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
  },
  "query-input": "required name=search_term_string"
}]

potentialAction.query-input

Text

Use a string literal required name = search-term ou qualquer marcador usado em target. Confira se os dois valores de marcador correspondem. Por exemplo, os dois valores de marcador nas propriedades target e query-input usam a string search-term:

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search-term}"
  },
  "query-input": "required name=search-term"
}]
potentialAction.target

EntryPoint

Um objeto EntryPoint com uma propriedade urlTemplate.

O urlTemplate precisa ser uma string neste formato: search_handler_uri{search_term_string}

Exemplo:

https://query.example.com/search?q={search_term_string}
search_handler_uri Para sites, é o URL do gerenciador que recebe e gerencia a consulta de pesquisa. Para apps, é o URI do gerenciador de intent do mecanismo de pesquisa que gerencia as consultas.
search_term_string

É uma string de marcador que é substituída pela consulta de pesquisa do usuário quando ele clica no botão "Pesquisar" da caixa de pesquisa. Todas as strings de marcador usadas aqui precisam corresponder ao valor do elemento name da propriedade query-input.

url

URL

Especifica o URL do site que está sendo pesquisado. Defina como a página inicial canônica do seu site. Exemplo: https://www.example.org

Monitor rich results with Search Console

Search Console is a tool that helps you monitor how your pages perform in Google Search. You don't have to sign up for Search Console to be included in Google Search results, but it can help you understand and improve how Google sees your site. We recommend checking Search Console in the following cases:

  1. After deploying structured data for the first time
  2. After releasing new templates or updating your code
  3. Analyzing traffic periodically

After deploying structured data for the first time

After Google has indexed your pages, look for issues using the relevant Rich result status report. Ideally, there will be an increase of valid items, and no increase in invalid items. If you find issues in your structured data:

  1. Fix the invalid items.
  2. Inspect a live URL to check if the issue persists.
  3. Request validation using the status report.

After releasing new templates or updating your code

When you make significant changes to your website, monitor for increases in structured data invalid items.
  • If you see an increase in invalid items, perhaps you rolled out a new template that doesn't work, or your site interacts with the existing template in a new and bad way.
  • If you see a decrease in valid items (not matched by an increase in invalid items), perhaps you are no longer embedding structured data in your pages. Use the URL Inspection tool to learn what is causing the issue.

Analyzing traffic periodically

Analyze your Google Search traffic using the Performance Report. The data will show you how often your page appears as a rich result in Search, how often users click on it and what is the average position you appear on search results. You can also automatically pull these results with the Search Console API.

Solução de problemas

Se você tiver problemas para implementar ou depurar dados estruturados, veja alguns recursos que podem ajudar.