Especificaciones de la metaetiqueta robots, data-nosnippet y X-Robots-Tag

Resumen

En este documento se detalla cómo se pueden usar las configuraciones de nivel de página y texto para ajustar la forma en que Google presenta el contenido en los resultados de la búsqueda. Puedes especificar la configuración a nivel de página incluyendo una metaetiqueta en páginas HTML o en un encabezado HTTP. Puedes especificar la configuración a nivel de texto con el atributo data- nosnippet en elementos HTML dentro de una página.

Cómo usar la metaetiqueta robots

La metaetiqueta robots permite utilizar un enfoque preciso y específico para controlar la forma en que se debe indexar una página en particular y cómo se debe mostrar a los usuarios en los resultados de la Búsqueda de Google. Coloca la metaetiqueta robots en la sección <head> de una página, como se muestra a continuación:

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

En el ejemplo anterior, la metaetiqueta robots indica a los motores de búsqueda que no muestren la página en los resultados de la búsqueda. El valor del atributo name (robots) especifica que la directiva se aplica a todos los rastreadores. Para enfocarte en un rastreador específico, reemplaza el valor robots del atributo name por el nombre del rastreador en cuestión. A los rastreadores específicos también se los llama "usuarios-agentes" (un rastreador utiliza su usuario-agente para solicitar acceso a una página). El nombre del usuario-agente del rastreador web estándar de Google es Googlebot. Para evitar que Googlebot rastree una página, modifica la etiqueta como se muestra a continuación:

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

La etiqueta ahora indica a Google específicamente que no muestre esta página en los resultados de la búsqueda. Los atributos name y content no distinguen entre mayúsculas ni minúsculas.

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

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

Para especificar varios rastreadores por separado, usa varias metaetiquetas robots:

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

Cómo usar el encabezado HTTP X-Robots-Tag

El X-Robots-Tag se puede usar como elemento de la respuesta de encabezado HTTP para una URL determinada. Las directivas que se pueden usar en una metaetiqueta robots también se pueden especificar como X-Robots-Tag. A continuación, se incluye un ejemplo de una respuesta HTTP con un 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
(…)

Se pueden combinar varios encabezados X-Robots-Tag dentro de la respuesta HTTP o puedes especificar una lista de directivas separada por comas. A continuación, hay un ejemplo de una respuesta de encabezado HTTP que tiene un noarchive X-Robots-Tag combinado con un unavailable_after X-Robots-Tag.

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
(…)

De manera opcional, X-Robots-Tag puede especificar un usuario-agente antes de las directivas. Por ejemplo, se puede utilizar el siguiente grupo de encabezados HTTP X-Robots-Tag para permitir que se muestre de forma condicional una página en los resultados de la búsqueda de diferentes motores de búsqueda:

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 que se especifican sin un usuario-agente son válidas para todos los rastreadores. El encabezado HTTP, el nombre del usuario-agente y los valores especificados no distinguen entre mayúsculas ni minúsculas.

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

Las siguientes directivas se pueden utilizar para controlar la indexación y publicación con la metaetiqueta robots y X-Robots-Tag. Cada valor representa una directiva específica. En la siguiente tabla, se muestran todas las directivas que distingue Google, así como su significado. Se pueden combinar varias directivas en una lista separada por comas. Estas directivas no distinguen entre mayúsculas ni minúsculas. En los resultados de la búsqueda, un fragmento es un extracto breve de texto que se usa a fin de demostrar la relevancia de un documento para la consulta de un usuario.

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 muestra de forma explícita.
noindex
No muestra esta página en los resultados de la búsqueda.
nofollow
No sigue los vínculos de esta página.
none
Equivale a noindex, nofollow.
noarchive
No muestra un vínculo en caché en los resultados de la búsqueda.
nosnippet
No muestra un fragmento de texto ni una vista previa de video en los resultados de la búsqueda de esta página. Una miniatura de imagen estática (si está disponible) aún puede ser visible, cuando proporciona una mejor experiencia del usuario. Esto se aplica a todos los tipos de resultados de la búsqueda (en Google: búsqueda web, Google Imágenes, Descubre).
max-snippet:[number]

Usa un máximo de [number] caracteres como fragmento de texto de la búsqueda para este resultado. (Ten en cuenta que una URL puede aparecer como varios resultados de la búsqueda en una página de resultados de la búsqueda). Esto no afecta las vistas previas de imágenes ni videos. Esto se aplica a todos los tipos de resultados de la búsqueda (como Búsqueda web de Google, Google Imágenes, Descubre, Asistente). Sin embargo, este límite no se aplica en los casos en los que un publicador otorgó permiso por separado para que se use el contenido. Por ejemplo, si el publicador proporciona contenido en forma de datos estructurados in-page o tiene un acuerdo de licencia con Google, esta configuración no interfiere con los usos permitidos más específicos. Esta directiva se ignora si no se especifica un [number] analizable.

Valores especiales:

  • 0: No se mostrará ningún fragmento. Equivale a nosnippet.
  • -1: No hay límite de longitud para los fragmentos.
  • Ejemplo:

    <meta name="robots" content="max-snippet:20">
    max-image-preview:[setting]

    Establece el tamaño máximo de una vista previa de imagen para esta página en los resultados de la búsqueda.

    Valores de setting aceptados:

  • none: No se mostrará ninguna vista previa de imagen.
  • standard: Se puede mostrar una vista previa de imagen predeterminada.
  • large: Se puede mostrar una vista previa de imagen más grande, de hasta el ancho del viewport.
  • Esto se aplica a todos los tipos de resultados de la búsqueda (como Búsqueda web de Google, Google Imágenes, Descubre, Asistente). Sin embargo, este límite no se aplica en los casos en los que un publicador otorgó permiso por separado para que se use el contenido. Por ejemplo, si el publicador proporciona contenido en forma de datos estructurados in-page o tiene un acuerdo de licencia con Google, esta configuración no interfiere con los usos permitidos más específicos.

    Ejemplo:

    <meta name="robots" content="max-image-preview:standard">
    max-video-preview:[number]

    Usa un máximo de [number] segundos como un fragmento de video para los videos en esta página en los resultados de la búsqueda.

    Otros valores admitidos:

  • 0: Como máximo, se puede usar una imagen estática, de acuerdo con la configuración del tamaño máximo de vista previa de imagen.
  • -1: No hay límites.
  • Esto se aplica a todos los tipos de resultados de la búsqueda (en Google: búsqueda web, Google Imágenes, Google Videos, Descubre, Asistente). Esta directiva se ignora si no se especifica un [number] analizable.

    Ejemplo:

    <meta name="robots" content="max-video-preview:-1">
    notranslate
    No ofrece una versión traducida de esta página en los resultados de la búsqueda.
    noimageindex
    No indexa las imágenes de esta página.
    unavailable_after: [RFC-850 date/time]

    No muestra esta página en los resultados de la búsqueda después de la fecha y la hora especificadas. Ambos datos deben especificarse en el formato RFC 850. La directiva se ignora si no se especifica un [date/time] válido. De forma predeterminada, no hay fecha de vencimiento para el contenido.

    Ejemplo:

    <meta name="robots" content="unavailable_after: Sunday, 01-Sep-24 01:00:00 PDT">

    Cómo administrar las directivas de indexación y publicación combinadas

    Puedes crear una instrucción con varios elementos 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 vínculos que contiene:

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

    A continuación, se incluye un ejemplo que limita el fragmento de texto a 20 caracteres y permite una vista previa de imagen grande:

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

    Cuando se especifiquen varios rastreadores y diferentes directivas, el motor de búsqueda utilizará la suma de los elementos negativos. Por ejemplo:

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

    Durante el rastreo, el robot de Google interpretará una página que contenga estas metaetiquetas como si tuviera una directiva noindex, nofollow.

    Cómo usar el atributo HTML data-nosnippet

    El atributo data-nosnippet entra en vigencia más adelante en 2019.

    Puede designar partes textuales de una página HTML para que no se usen como fragmento. Esto se puede hacer a nivel de elemento HTML con el atributo HTML data-nosnippet en los elementos span, div y section. El data-nosnippet se considera un atributo booleano, es válido con o sin un valor. Para garantizar que la máquina pueda leer la sección HTML, esta debe tener código HTML válido y todas las etiquetas apropiadas deben estar cerradas correctamente.

    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>some text</html>
    <!-- unclosed "div" will include all content afterwards -->
    
    <mytag data-nosnippet>some text</mytag>
    <!-- NOT VALID: not a span, div, or section -->
    

    En general, Google procesa páginas para indexarlas. Sin embargo, no se garantiza la renderización. Debido a esto, la extracción de data-nosnippet puede ocurrir tanto antes como después del procesamiento. Para evitar la incertidumbre del procesamiento, no agregues ni quites el atributo data-nosnippet de los nodos existentes mediante JavaScript. Cuando agregues elementos DOM por medio de JavaScript, incluye el atributo data-nosnippet según sea necesario cuando agregues por primera vez el elemento al DOM de la página. Si se usan elementos personalizados, únelos o procésalos con elementos div, span o section si tienes que usar data- nosnippet.

    Cómo usar datos estructurados

    Las metaetiquetas robots rigen la cantidad de contenido que Google extrae automáticamente de las páginas web para mostrarlas como resultados de la búsqueda. Sin embargo, muchos publicadores también utilizan los datos estructurados de schema.org para que información específica esté disponible en la presentación de la búsqueda. Las limitaciones de la metaetiqueta robots no afectan el uso de esos datos estructurados. Para administrar el uso de datos estructurados en tus páginas web, puedes modificar los tipos y valores de datos estructurados, y agregar o quitar información para proporcionar solo los datos que deseas que estén disponibles. También ten en cuenta que los datos estructurados siguen siendo utilizables para los resultados de la búsqueda cuando se declaran dentro de un elemento data-nosnippet.

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

    Puedes agregar X-Robots-Tag a las respuestas HTTP de un sitio por medio de los archivos de configuración del software de servidor web de tu sitio. Por ejemplo, en los servidores web basados en Apache, puedes usar archivos .htaccess y httpd.conf. La ventaja de utilizar un X-Robots-Tag con respuestas HTTP es que puedes especificar directivas de rastreo que se aplican globalmente en un sitio. La posibilidad de utilizar expresiones regulares ofrece un gran nivel de flexibilidad.

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

    Apache:

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

    NGINX:

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

    Puedes usar X-Robots-Tag para los archivos que no estén en formato HTML, como los de imagen, en los que no es posible utilizar metaetiquetas robots en HTML. A continuación, se muestra un ejemplo de cómo agregar la directiva noindex X-Robots-Tag para los archivos de imagen (.png, .jpeg, .jpg o .gif) de todo 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";
    }
    

    Cómo combinar el rastreo con las directivas de indexación y publicación

    Las metaetiquetas robots y los encabezados HTTP X-Robots-Tag se descubren al rastrear una URL. Si no está permitido rastrear una página a través del archivo robots.txt, no se encontrará ninguna instrucción sobre directivas de indexación o publicación y, en consecuencia, se ignorará la página. Si se deben seguir directivas de indexación o publicación, no se podrá impedir el rastreo de las URL que contengan esas directivas.