Datos estructurados de cuadros de búsqueda de enlaces de sitios (WebSite)

Los cuadros de búsqueda de enlaces de sitios ofrecen a los usuarios una forma rápida de buscar directamente en tu sitio o aplicación desde la página de resultados de búsqueda. En ellos, se incluyen sugerencias en tiempo real y otras funciones.

La Búsqueda de Google puede mostrar automáticamente un cuadro para hacer búsquedas directas en tu sitio web cuando aparece como resultado de búsqueda sin que tengas que hacer nada. Ese cuadro de búsqueda usa tecnología de la Búsqueda de Google. Aun así, puedes añadir datos estructurados de WebSite para proporcionar información de forma explícita a Google y ayudarlo así a entender mejor tu sitio.

Si en la Búsqueda de Google ya aparece un cuadro de búsqueda de enlaces de tu sitio, puedes añadir datos estructurados de WebSite para controlar determinados aspectos de ese cuadro.

Cómo implementar un cuadro de búsqueda de enlaces de sitios

A continuación se indican los pasos que debes seguir para que tu sitio pueda aparecer con un cuadro de búsqueda en los resultados de la Búsqueda de Google:

  1. Instala un buscador que funcione en tu sitio web o aplicación Android.

    Las consultas de búsqueda de enlaces de sitios envían a los usuarios a la página de resultados de búsqueda de tu sitio o aplicación, por lo que necesitas un buscador que funcione para usar esta función.

    • Sitios web: configura un buscador en tu sitio web. Con esta función, las consultas de los usuarios se reenvían a tu destino con la sintaxis especificada en tus datos estructurados. El buscador que uses debe admitir consultas codificadas en UTF-8.
    • Aplicaciones: consulta el artículo Descripción general de la Búsqueda del sitio para desarrolladores de Android para obtener información sobre cómo implementar un buscador en tu aplicación. Tu aplicación Android debe admitir un intent ACTION_VIEW de los resultados de búsqueda, con el URI de datos correspondiente especificado en la propiedad potentialAction.target de las etiquetas.
  2. Implementa el elemento de datos estructurados WebSite en la página principal de tu sitio. Para habilitar esta función, una aplicación debe tener un sitio web asociado, aunque el sitio web sea solo una página. Algunas directrices adicionales:
    • Añade estas etiquetas solo a la página principal y a ninguna otra página.
    • Si ya estás implementando datos estructurados de WebSite para la función de nombres de sitios, asegúrate de anidar las propiedades del nombre del sitio en el mismo nodo. Es otras palabras, evita crear un bloque de datos estructurados WebSite adicional en tu página principal, si es posible.
    • Especifica siempre un objeto SearchAction en el sitio web y, si quieres, uno adicional si admite la búsqueda en aplicaciones. Debes tener un objeto SearchAction en el sitio web aunque el destino preferido de las búsquedas sea tu aplicación. De este modo, te aseguras de que, si un usuario no busca desde un teléfono Android o no tiene instalada tu aplicación Android, el resultado de la búsqueda dirige a tu sitio web.
    • Consulta más información sobre dónde insertar datos estructurados en una página en función del formato que uses.
  3. Sigue las directrices.
  4. Valida tu código con la prueba de resultados enriquecidos.
  5. Verifica la implementación de tu buscador. Para ello, copia la URL WebSite.potentialAction.target de tus datos estructurados, cambia {search_term_string} por una consulta de prueba y ve a esa URL en un navegador web. Por ejemplo, si tu sitio web es example.com y quieres probar la consulta "gatitos", deberías navegar a https://www.example.com/search/?q=kittens.
  6. Define una URL canónica preferida de la página principal de tu dominio con el elemento de enlace rel="canonical" en todas las variantes de la página principal. De esta forma, ayudas a que la Búsqueda de Google elija la URL correcta que debe aplicar a las etiquetas. El servidor debe admitir la codificación de caracteres UTF-8.
  7. En el caso de las aplicaciones, habilita los filtros de intents adecuados para admitir la URL que especifiques en el destino de la aplicación de las etiquetas. Para ver un ejemplo sobre cómo crear filtros de intents en las URLs de la Búsqueda de Google, consulta la página Firebase App Indexing para Android.
  8. Crea varias páginas que incluyan tus datos estructurados y comprueba cómo las ve Google con la herramienta de inspección de URLs. Asegúrate de que Google pueda acceder a tu página y de que no esté bloqueada por un archivo robots.txt, por la etiqueta noindex ni por requisitos de inicio de sesión. Si la página se ve bien, puedes solicitar que Google vuelva a rastrear tus URLs.
  9. Para que Google siempre tenga la versión actualizada de tus páginas, te recomendamos que envíes un sitemap. Puedes automatizar el envío con la API Sitemap de Search Console.

Ejemplo

A continuación proporcionamos un ejemplo de resultado de búsqueda de "Pinterest" en Google que devuelve un cuadro de búsqueda de enlaces de sitios en el sitio web de Pinterest:

Ejemplo de uso de un cuadro de búsqueda de enlaces de sitios

A continuación se ofrece un ejemplo de etiquetas que implementaría un cuadro de búsqueda de enlaces de sitios que utiliza el buscador personalizado del sitio web:

JSON-LD

A continuación se muestra un ejemplo en 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>
Microdatos

A continuación se muestra un ejemplo en microdatos:


<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>
  

A continuación se muestra un ejemplo de un sitio y una aplicación en 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>

Directrices

Debes seguir estas directrices para que tu sitio pueda aparecer como resultado enriquecido.

Puede que la Búsqueda de Google añada un cuadro de búsqueda de enlaces de sitios a tu sitio, incluso si no incluye los datos estructurados que se describen aquí. Sin embargo, puedes impedir que ocurra si añades esta etiqueta meta a tu página principal:

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

Definiciones de tipos de datos estructurados

Para que tu contenido pueda aparecer con un cuadro de búsqueda de enlaces de sitios, tienes que incluir las propiedades obligatorias.

Tipo de WebSite modificado

La Búsqueda de Google utiliza un tipo de datos estructurados de WebSite modificado en los cuadros de búsqueda de sitios web y aplicaciones. La definición completa de WebSite está en schema.org, aunque la Búsqueda de Google no sigue exactamente ese estándar. Las propiedades que admite Google son las siguientes:

Propiedades obligatorias
potentialAction

Es la matriz de uno o dos objetos SearchAction

Este objeto describe el URI al que se envía la consulta y la sintaxis de la solicitud que se envía. Debes implementar una página web o un controlador intent que pueda recibir la solicitud y hacer una búsqueda adecuada en la cadena enviada. Si el usuario no está en una aplicación Android (o está en una, pero no ha especificado un destino de intent para Android), el cuadro de búsqueda enviará la versión del sitio web de la consulta a la ubicación especificada; si el usuario está en un dispositivo Android y ha especificado un URI de intent para Android, enviará ese intent.

Debes crear un sitio web SearchAction para habilitar el caso de búsqueda para ordenadores. Si también permites que se busque en aplicaciones, puedes especificar otro objeto SearchAction para tu aplicación. Cada objeto SearchAction debe contener las siguientes propiedades anidadas:

Ejemplo de sitio web

Con el siguiente ejemplo se enviaría una solicitud GET a 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"
}]

Ejemplo de aplicación

Con el siguiente ejemplo se enviaría un objeto intent Android a 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

Usa la cadena required name = search-term o cualquier marcador de posición que hayas utilizado en el objeto target. Estos marcadores de posición deben tener los mismos valores. Por ejemplo, en los dos valores de marcador de posición de las propiedades target y query-input se usa la cadena 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

Objeto EntryPoint con una propiedad urlTemplate.

El valor de urlTemplate debe ser una cadena con este formato: search_handler_uri{search_term_string}.

Por ejemplo:

https://query.example.com/search?q={search_term_string}
search_handler_uri Con sitios web, indica la URL del controlador que recibe y gestiona las consultas de búsqueda; en el caso de las aplicaciones, indica el URI del controlador de intent del buscador que gestiona estas consultas.
search_term_string

Una cadena de marcador de posición que se reemplaza por la consulta de búsqueda del usuario cuando el usuario hace clic en el botón "Buscar" del cuadro de búsqueda. Comprueba que la cadena de marcador de posición que usas aquí también coincide con el valor del elemento name de la propiedad query-input.

url

URL

Especifica la URL del sitio que se busca. Define la página principal canónica del sitio. Por ejemplo: https://www.example.org

Cómo supervisar resultados enriquecidos con Search Console

Search Console es una herramienta que te ayuda a supervisar el rendimiento de tus páginas en la Búsqueda de Google. Si bien no es necesario que te registres en Search Console para que se incluya tu contenido en los resultados de la Búsqueda de Google, puede ayudarte a comprender y mejorar la forma en que Google ve tu sitio. Te recomendamos que revises Search Console en los siguientes casos:

  1. Después de implementar datos estructurados por primera vez
  2. Después de lanzar plantillas nuevas o actualizar código
  3. Para analizar tráfico periódicamente

Después de implementar datos estructurados por primera vez

Después de que Google haya indexado tus páginas, busca problemas con el informe de estado de resultados enriquecidos relevante. Lo ideal es que haya un aumento de los elementos válidos y no de los elementos no válidos. Si encuentras problemas en los datos estructurados, haz lo siguiente:

  1. Corrige los elementos no válidos.
  2. Inspecciona una URL publicada para verificar si persiste el problema.
  3. Solicita una validación desde el informe de estado.

Después de lanzar plantillas nuevas o actualizar código

Cuando realices cambios significativos en tu sitio web, supervisa los aumentos en los elementos no válidos de datos estructurados.
  • Si notas un aumento en la cantidad de elementos no válidos, tal vez se deba a que implementaste una plantilla que no funciona o a que tu sitio interactúa con la plantilla actual de una forma diferente e incorrecta.
  • Si notas una disminución de los elementos válidos (que no coincide con un aumento en la cantidad de elementos no válidos), es posible que ya no estés incorporando datos estructurados en tus páginas. Usa la Herramienta de inspección de URLs para saber cuál es la causa del problema.

Cómo analizar el tráfico periódicamente

Analiza el tráfico de la Búsqueda de Google con el Informe de rendimiento. Los datos te mostrarán con qué frecuencia tu página aparece como resultado enriquecido en la Búsqueda, con qué frecuencia los usuarios hacen clic en ella y cuál es la posición promedio en la que apareces en los resultados de la búsqueda. También puedes extraer esos resultados automáticamente con la API de Search Console.

Solución de problemas

Si tienes problemas para implementar o depurar datos estructurados, te brindamos algunos recursos que podrían resultarte útiles.