Especificaciones de la metaetiqueta "robots" y los elementos "data-nosnippet" y "X-Robots-Tag"

En este documento se explica cómo cambiar la forma en que Google muestra tu contenido en los resultados de búsqueda mediante ajustes a nivel de página y de texto. Los ajustes a nivel de página se pueden configurar incluyendo una metaetiqueta en páginas HTML o en encabezados HTTP. En cambio, los ajustes a nivel de texto deben especificarse añadiendo el atributo data-nosnippet a elementos HTML de las páginas.

Usar la metaetiqueta "robots"

La metaetiqueta "robots" permite utilizar un enfoque granular y a nivel de página para controlar cómo se deben indexar y servir a los usuarios páginas concretas en los resultados de la Búsqueda de Google. Incluye la metaetiqueta "robots" en la sección <head> de una página determinada. Por ejemplo:

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

La metaetiqueta "robots" del ejemplo anterior indica a los buscadores que no muestren esa página en los resultados de búsqueda. Como el atributo name tiene el valor robots, la directiva se aplica a todos los rastreadores. Para aplicarla a un rastreador específico, sustituye el valor robots del atributo name por el nombre del rastreador en cuestión. Los rastreadores específicos también se denominan "user-agents" (los rastreadores utilizan su user-agent para solicitar acceso a una página). El nombre de user-agent del rastreador web estándar de Google es Googlebot. Si quieres impedir que el robot de Google indexe tu página, modifica la etiqueta como se indica a continuación:

<meta name="googlebot" content="noindex" />

Esta etiqueta indica a Google que no muestre la página en los resultados de búsqueda. En los atributos name y content no se distingue entre mayúsculas y minúsculas.

Los buscadores pueden tener distintos rastreadores con diferentes fines. Consulta la lista completa de rastreadores de Google. Por ejemplo, para mostrar una página en los resultados de búsqueda web de Google, pero no en Google Noticias, utiliza la siguiente metaetiqueta:

<meta name="googlebot-news" content="noindex" />

Para especificar varios rastreadores de forma individual, puedes utilizar varias metaetiquetas "robots":

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

Usar la cabecera HTTP X-Robots-Tag

X-Robots-Tag se puede utilizar como un elemento de la respuesta de cabecera HTTP de una URL determinada. Cualquier directiva que se pueda utilizar en una metaetiqueta "robots" también se puede especificar como X-Robots-Tag. A continuación, se muestra un ejemplo de una respuesta HTTP con una cabecera X-Robots-Tag que indica a los rastreadores que no indexen una página:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

Es posible combinar varias cabeceras X-Robots-Tag en la respuesta HTTP o especificar una lista de directivas separadas por comas. A continuación, se muestra un ejemplo de una respuesta de cabecera HTTP que incluye una cabecera X-Robots-Tag noarchive y una cabecera X-Robots-Tag unavailable_after.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

En la cabecera X-Robots-Tag, se puede especificar de forma opcional un user-agent antes de las directivas. Por ejemplo, con el siguiente conjunto de cabeceras HTTP X-Robots-Tag, se puede permitir que se muestre una página en los resultados de búsqueda de diferentes buscadores de forma condicional:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

Las directivas sin user-agent son válidas para todos los rastreadores. El encabezado HTTP, el nombre de user-agent y los valores especificados no distinguen entre mayúsculas y minúsculas.

Directivas de indexación y publicación válidas

Con las directivas que se indican más abajo, se puede controlar el proceso de indexar y servir fragmentos de contenido con la metaetiqueta "robots" y la cabecera X-Robots-Tag. En los resultados de búsqueda, un fragmento es un breve extracto de texto que se utiliza para demostrar la relevancia de un documento en relación con la consulta del usuario. En la tabla que se encuentra a continuación, se muestran todas las directivas que Google reconoce y su significado. Cada valor representa una directiva. Se pueden combinar varias directivas en una lista separada por comas. En estas directivas no se distingue entre mayúsculas y minúsculas.

Directivas

all

No hay restricciones de indexación ni de publicación. Esta directiva es el valor predeterminado y no tiene ningún efecto si se utiliza de forma explícita.

noindex

No se muestra la página en los resultados de búsqueda. Si no incluyes esta directiva, la página puede indexarse y aparecer en los resultados de búsqueda.

nofollow

No se siguen los enlaces de esta página. Si no incluyes esta directiva, Google puede seguir los enlaces que hay en la página para descubrir las páginas enlazadas. Más información sobre nofollow

none

Es equivalente a noindex, nofollow.

noarchive

No se muestra ningún enlace en caché en los resultados de búsqueda. Si no incluyes esta directiva, Google puede almacenar en caché una versión de la página, por lo que los usuarios podrían acceder a esa versión desde los resultados de búsqueda.

nosnippet

No se muestra ningún fragmento ni la vista previa de ningún vídeo en los resultados de búsqueda de la página. Es posible que se siga mostrando una miniatura de imagen estática si hay una disponible en el caso de que mejore la experiencia de usuario. Esta directiva afecta a todos los tipos de resultados de búsqueda (en el caso de Google, la Búsqueda web, Google Imágenes y Discover).

Si no incluyes esta directiva, Google puede generar fragmentos de texto y vistas previas de vídeos a partir de la información que haya en la página.

max-snippet: [número]

Se usan un máximo de [número] caracteres como fragmento de texto para este resultado de búsqueda. Recuerda que una URL puede aparecer como varios resultados de búsqueda en una página de resultados de búsqueda. No afecta a las vistas previas de imágenes o vídeos. Se aplica a todo tipo de resultados de búsqueda, como la Búsqueda web de Google, Google Imágenes, Discover o el Asistente. Sin embargo, si un editor ha dado permiso por separado para usar su contenido, este límite no se tendrá en cuenta. Por ejemplo, si el editor proporciona contenido en forma de datos estructurados en la página o tiene un contrato de licencia con Google, lo definido en este ajuste no interrumpe los usos permitidos más específicos. Esta directiva se ignora si no se especifica ningún elemento [número] que se pueda analizar.

Si no incluyes esta directiva, Google elegirá la longitud del fragmento que considere oportuna.

Valores especiales:

  • 0: no se mostrará ningún fragmento. Es equivalente a nosnippet.
  • -1: Google elegirá la longitud que considere más eficaz para que los usuarios descubran tu contenido y accedan a tu sitio.

Ejemplos:

Para que no aparezca ningún fragmento en los resultados de búsqueda, incluye esta etiqueta:


<meta name="robots" content="max-snippet:0">

Para permitir que el fragmento de una página pueda tener hasta 20 caracteres, utiliza esta etiqueta:


<meta name="robots" content="max-snippet:20">

Para indicar que se pueden usar tantos caracteres como hagan falta en el fragmento de una página, añade esta etiqueta:


<meta name="robots" content="max-snippet:-1">

max-image-preview: [ajuste]

Se fija el tamaño máximo de la vista previa de las imágenes de esta página cuando aparecen en los resultados de búsqueda.

Si no incluyes la directiva max-image-preview, Google puede mostrar vistas previas de imágenes del tamaño predeterminado.

Valores [ajuste] aceptados:

  • none: no se mostrarán vistas previas de ninguna imagen.
  • standard: es posible que se muestre una vista previa de la imagen predeterminada.
  • large: es posible que se muestre una vista previa más grande de una imagen, con el máximo definido por el ancho del viewport.

Se aplica a todo tipo de resultados de búsqueda (como la Búsqueda web de Google, Google Imágenes, Discover o el Asistente). Sin embargo, no se aplica en los casos en los que un editor haya dado un permiso por separado para utilizar el contenido. Por ejemplo, si un editor proporciona contenido en forma de datos estructurados en una página (como versiones AMP y canónica de un artículo) o tiene un contrato de licencia con Google, este ajuste no interrumpirá los usos permitidos más específicos.

Si no quieres que Google muestre imágenes en miniatura de mayor tamaño cuando sus páginas AMP y la versión canónica de un artículo aparezcan en la Búsqueda o en Discover, da un valor standard o none a la directiva max-image-preview.

Ejemplo:


<meta name="robots" content="max-image-preview:standard">

max-video-preview: [número]

Utiliza fragmentos de vídeo de [número] segundos como máximo al incluir vídeos de esta página en los resultados de búsqueda.

Si no incluyes la directiva max-video-preview, Google puede mostrar en los resultados de búsqueda un fragmento de vídeo que dure lo que Google considere oportuno.

Valores especiales:

  • 0: como máximo, se puede utilizar una imagen estática, de acuerdo con la configuración de max-image-preview.
  • -1: no hay límite.

Se aplica a todo tipo de resultados de búsqueda (en la Búsqueda web de Google, Google Imágenes, Google Vídeos, Discover o el Asistente). Esta directiva se ignora si no se especifica ningún elemento [número] que se pueda analizar.

Ejemplo:


<meta name="robots" content="max-video-preview:-1">

notranslate

No se ofrece una traducción de esta página en los resultados de búsqueda. Si no incluyes esta directiva, Google puede mostrar un enlace junto al resultado de tu página para que los usuarios puedan verla traducida.

noimageindex

No se indexan las imágenes de esta página. Si no incluyes este valor, las imágenes de la página pueden indexarse y aparecer en los resultados de búsqueda.

unavailable_after: [fecha/hora]

No se muestra esta página en los resultados de búsqueda después de la fecha y hora especificadas. La fecha y la hora deben especificarse en formatos ampliamente aceptados, como RFC 822, RFC 850 o ISO 8601. Esta directiva se ignora si no se especifica ningún valor de fecha y hora válido. De forma predeterminada, el contenido no tiene fecha de vencimiento.

Si no incluyes esta directiva, esta página puede mostrarse en los resultados de búsqueda de forma indefinida.

Ejemplo:


<meta name="robots" content="unavailable_after: 2020-09-21">

Usar conjuntamente directivas para indexar y servir contenido

Puedes crear una instrucción con varias directivas que combine directivas de metaetiquetas "robots" con comas. A continuación, se muestra un ejemplo de una metaetiqueta "robots" que indica a los rastreadores web que no indexen la página y que no rastreen ninguno de los enlaces que contiene:

<meta name="robots" content="noindex, nofollow">

A continuación, se muestra un ejemplo que incluye un fragmento de texto con límite de 20 caracteres y que permite obtener una vista previa de imagen grande:

<meta name="robots" content="max-snippet:20, max-image-preview:large">

Cuando se especifiquen varios rastreadores y directivas, el buscador concatenará las directivas negativas. Por ejemplo:

<meta name="robots" content="nofollow">
<meta name="googlebot" content="noindex">

La página que contiene estas metaetiquetas se interpretará como si tuviera una directiva noindex, nofollow cuando el robot de Google la rastree.

Utilizar el atributo HTML de data-nosnippet

Puedes marcar partes del texto de una página HTML para que no se incluyan en fragmentos. Se puede hacer a nivel de elemento HTML incluyendo el atributo HTML data-nosnippet en los elementos span, div y section. El atributo data-nosnippet se considera booleano y, por tanto, se ignorará cualquier valor que incluya. Para que los sistemas automatizados puedan interpretar correctamente las directivas, el código HTML de la sección debe ser válido y todas las etiquetas deben estar cerradas según corresponda.

Ejemplos:

<p>This text can be shown in a snippet
<span data-nosnippet>and this part would not be shown</span>.</p>

<div data-nosnippet>not in snippet</div>
<div data-nosnippet="true">also not in snippet</div>
<div data-nosnippet="false">also not in snippet</div>
<!-- all values are ignored -->

<div data-nosnippet>some text</html>
<!-- unclosed "div" will include all content afterwards -->

<mytag data-nosnippet>some text</mytag>
<!-- NOT VALID: not a span, div, or section -->

Normalmente, Google procesa las páginas para indexarlas, pero no se garantiza el renderizado. Por este motivo, la extracción de data-nosnippet puede producirse tanto antes como después del renderizado. Para evitar el renderizado ambiguo, no añadas ni elimines el atributo data-nosnippet de los nodos existentes a través de JavaScript. Al añadir elementos DOM a través de JavaScript, incluye el atributo data-nosnippet según sea necesario cuando añadas inicialmente el elemento al DOM de la página. Si vas a utilizar elementos personalizados, encapsúlalos o renderízalos con elementos div, span o section si tienes que usar data-nosnippet.

Usar datos estructurados

Las metaetiquetas "robots" controlan la cantidad de contenido que Google extrae automáticamente de las páginas web para mostrarlo como resultados de búsqueda. No obstante, muchos editores también utilizan los datos estructurados de schema.org para que determinada información aparezca en las búsquedas. Las limitaciones de las metaetiquetas "robots" no afectan al uso de esos datos estructurados, a excepción de los valores article.description y description que se especifican en otras obras creativas. Con la metaetiqueta "robots" max-snippet, puedes especificar la longitud máxima de una vista previa basada en los valores description. Por ejemplo, los datos estructurados recipe de una página se pueden incluir en el carrusel de recetas, aunque la vista previa de texto esté limitada. Con el valor max-snippet, puedes limitar la longitud de una vista previa de texto, pero la metaetiqueta "robots" no se aplica cuando la información se proporciona mediante datos estructurados para resultados enriquecidos.

Para gestionar el uso de datos estructurados en tus páginas web, puedes modificar los tipos y valores de estos datos. Para hacerlo, añade o quita información para proporcionar solo los datos que quieres que estén disponibles. Ten en cuenta también que los resultados de búsqueda seguirán pudiendo aprovechar los datos estructurados si se declaran dentro de un elemento data-nosnippet.

Implementación práctica de X-Robots-Tag

Puedes añadir X-Robots-Tag a las respuestas HTTP de un sitio a través de los archivos de configuración del software de servidor web de tu sitio. Por ejemplo, en los servidores web Apache puedes utilizar archivos .htaccess y httpd.conf. La ventaja que ofrece el uso de una cabecera X-Robots-Tag con respuestas HTTP es que permite especificar las directivas de rastreo que se deben aplicar globalmente en un sitio. La posibilidad de utilizar expresiones regulares ofrece un gran nivel de flexibilidad.

Por ejemplo, para añadir una directiva X-Robots-Tag noindex, nofollow a la respuesta HTTP de todos los archivos .PDF de un sitio, añade el siguiente fragmento al archivo raíz .htaccess o al archivo httpd.conf del sitio en Apache, o al archivo .conf en NGINX.

Apache:

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

NGINX:

location ~* \.pdf$ {
  add_header X-Robots-Tag "noindex, nofollow";
}

Puedes utilizar X-Robots-Tag para archivos que no sean HTML, como archivos de imagen en los que no se puedan utilizar metaetiquetas "robots" en HTML. A continuación, se muestra un ejemplo de cómo añadir una directiva X-Robots-Tag noindex para archivos de imágenes (.png, .jpeg, .jpg, .gif) en un sitio:

Apache:

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

NGINX:

location ~* \.(png|jpe?g|gif)$ {
  add_header X-Robots-Tag "noindex";
}

También puedes configurar los encabezados X-Robots-Tag de archivos estáticos concretos:

Apache:

# the htaccess file must be placed in the directory of the matched file.
<Files "unicorn.pdf">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

NGINX:

location = /secrets/unicorn.pdf {
  add_header X-Robots-Tag "noindex, nofollow";
}

Combinar el rastreo con las directivas para indexar y servir contenido

Las metaetiquetas "robots" y las cabeceras HTTP X-Robots-Tag se descubren al rastrear una URL. Si no se permite rastrear una página a través del archivo robots.txt, no se podrá encontrar ninguna información sobre directivas para indexar y servir contenido, y la página se ignorará. Si se deben seguir directivas para indexar o servir contenido, no se debe impedir el rastreo de las URLs que contengan esas directivas.