Volver a las notas

data-nosnippet: decide qué puede citar AI Overviews

15 de noviembre de 2026·
aiseohtmlaioverviews
Demo en vivoAbrir a pantalla completa

No hay ningún marcado especial que te meta en los AI Overviews de Google, pero sí hay marcado que deja partes de tu página fuera. Los mismos controles que llevan años decidiendo el texto gris bajo cada resultado (nosnippet, max-snippet y el atributo data-nosnippet) deciden ahora también cuánto de tu página puede usar Google como entrada directa para AI Overviews y AI Mode. Es de las pocas palancas que están documentadas, funcionan por página o por párrafo y no obligan a bloquear ningún rastreador.

La demo de arriba es una página pequeña con una meta robots que puedes cambiar. Toca un bloque para ponerle data-nosnippet, mueve el control de max-snippet y mira cómo se encogen el contador, el resultado de búsqueda y la caja de "entrada para la IA". El bloque de letra pequeña es un <p>, y no por casualidad: prueba a excluirlo y mira qué pasa.

Lo que dice Google de verdad

La página de Google sobre funciones de IA es muy clara: "There are no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary". También dice que no hace falta añadir ningún dato estructurado especial de schema.org. Lo que recomienda son las bases del SEO: permitir el rastreo, tener el contenido importante en texto, enlazarlo internamente y que los datos estructurados coincidan con el texto visible.

Lo interesante es la otra dirección. Para limitar lo que se muestra de tus páginas, esa misma página te manda a nosnippet, data-nosnippet, max-snippet y noindex. Y la documentación de la meta robots explica la parte de la IA:

  • nosnippet se aplica a todas las formas de resultados de búsqueda, con AI Overviews y AI Mode en la lista, y además impide que el contenido se use como entrada directa para AI Overviews y AI Mode.
  • max-snippet:[número] limita el fragmento de texto a ese número de caracteres y también limita cuánto contenido se puede usar como entrada directa para AI Overviews y AI Mode. 0 significa sin fragmento (lo mismo que nosnippet) y -1 deja que Google elija.

O sea, no es un interruptor solo para la IA. Es tu fragmento, y las funciones de IA leen ahora del mismo presupuesto.

Cómo funciona

Las reglas de toda la página van en una meta (o en la cabecera HTTP X-Robots-Tag). Las parciales, en los propios elementos:

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

<p>Basil needs light. <span data-nosnippet>Call 555 0142.</span></p>

<section data-nosnippet>
  <p>The members-only trick: pinch the tips every week.</p>
</section>

data-nosnippet es un atributo booleano: el valor da igual, así que data-nosnippet="false" también excluye el texto. Y solo cuenta en span, div y section. El propio ejemplo de Google marca un elemento personalizado como "NOT VALID: not a span, div, or section", y por eso el <p> de la demo se pone amarillo y no cambia la cuenta hasta que lo conviertes en <div>.

La demo lo modela con un tree walker que recoge cada nodo de texto y se salta los que están dentro de un bloque excluido:

const SKIP = 'span[data-nosnippet], div[data-nosnippet], section[data-nosnippet]';

function quotableText(root) {
  const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT);
  let out = '';
  for (let n = walker.nextNode(); n; n = walker.nextNode()) {
    if (n.parentElement.closest(SKIP)) continue; // dentro de un bloque excluido
    out += n.data + ' ';
  }
  return out.replace(/\s+/g, ' ').trim();
}

Después, nosnippet o max-snippet:0 no dejan nada y max-snippet:N se queda con los primeros N caracteres. Ejecuté esta función en Chromium sobre una página con un <span>, una <section>, un <p> y un <div data-nosnippet="false">, todos marcados: devolvió solo el texto normal más el del <p>, que es justo la regla de la documentación. También probé la demo en Chromium, Firefox y WebKit, sin errores en consola.

Que quede claro qué es esto: un modelo de las reglas, no de Google. Google elige qué frases enseña y cuántas; la demo solo muestra el límite de lo que tú permites.

Detalles a tener en cuenta

  • No es solo IA. nosnippet también quita el fragmento de los resultados normales, de Imágenes y de Discover. Si solo quieres recortar lo que entra en la IA, max-snippet o un data-nosnippet puntual hacen menos daño.
  • El HTML tiene que ser válido. Google pide HTML válido con todas las etiquetas bien cerradas para poder leer la sección sin problemas.
  • No lo cambies con JavaScript. La extracción puede pasar antes y después del renderizado, así que Google pide no añadir ni quitar data-nosnippet en nodos existentes con JavaScript. Ponlo en el HTML que manda tu servidor. La demo lo cambia con JavaScript solo porque es una simulación.
  • Los datos estructurados dentro de un bloque excluido siguen contando. La documentación dice que los datos estructurados declarados dentro de un elemento con data-nosnippet se pueden seguir usando en los resultados.
  • Si bloqueas al rastreador, no ve las reglas. Estos ajustes solo se leen si los rastreadores pueden acceder a la página. Si la bloqueas en robots.txt, Google nunca ve tu nosnippet.
  • En caso de conflicto, gana la regla más restrictiva. Con max-snippet:50 y nosnippet en la misma página, manda nosnippet.
  • Google-Extended es otro control. Cubre el entrenamiento de Gemini y el grounding en Gemini Apps y Vertex AI, y Google dice que no afecta a la inclusión en la Búsqueda de Google. No es el interruptor de AI Overviews.
  • Un permiso aparte anula el límite. La documentación aclara que el límite de max-snippet no se aplica cuando el editor ha dado permiso por separado para usar el contenido.

Qué vigilar

Son reglas de Google. Otros buscadores y asistentes tienen sus propios controles, o ninguno, así que revisa la documentación de cada uno antes de dar por hecho que el mismo marcado funciona. Y vigila la página de la meta robots: la mención a AI Overviews y AI Mode es lo que hace que max-snippet importe aquí, y si Google cambia cómo usan el contenido sus funciones de IA, ahí será donde se note primero.

Fuentes