Mueller explica cómo impedir que Googlebot cargue un aviso de edad
John Mueller, de Google, ha explicado en Reddit dos formas de que Googlebot no renderice un pop-up de verificación de edad: bloquear con robots.txt el dominio que lo sirve o el JavaScript que lo carga. Es otra manera de seguir la recomendación que Google mantiene desde 2023, que Googlebot no active las barreras de edad, sin tener que identificarlo en el servidor.

John Mueller, de Google, ha explicado en un hilo de r/TechSEO que robots.txt puede impedir que Googlebot cargue el pop-up de verificación de edad que una web muestra por obligación legal. Quien preguntaba planteaba un caso hipotético: una web que carga esa ventana desde otro dominio, a través de una API, y quería saber si bastaba con un disallow en el robots.txt de ese dominio. Mueller respondió que, en general, funcionaría.
Añadió otra vía: bloquear en robots.txt el archivo JavaScript concreto que abre la ventana. Él no lo haría si ese mismo archivo se encarga de muchas otras cosas.
Dos formas de que Googlebot no descargue la ventana
En una segunda respuesta, Mueller desarrolló las dos opciones:
- Que el dominio que sirve la ventana no permita el rastreo. Si la página incrusta contenido de otro dominio, con un iframe o llamando a un script alojado allí, y ese dominio bloquea todo el rastreo en su robots.txt, Googlebot no descarga ese contenido ni lo usa al renderizar. No rastrea esas URL como páginas sueltas, pero sí las pide mientras renderiza la tuya; si robots.txt se lo impide, se queda sin ellas. Según Mueller, así funcionan muchos servicios de anuncios.
- Bloquear tú el archivo que la carga. Si la web abre la ventana con un JS propio (su ejemplo es
load-verification-popup.js) y lo bloqueas en tu robots.txt, el script no se carga al renderizar. Mueller lo ve menos habitual, pero es la opción que queda si no puedes influir en el robots.txt del proveedor.
Al explicar la primera, pone una condición: «tienes que asegurarte de que tus páginas siguen cargando cuando no se obtienen esas URL». Para una ventana así, añade, no suele ser un problema.
RedditComentario de John Mueller en r/TechSEOSe carga desde Reddit solo si lo pides: al hacerlo, Reddit recibe tu visita y puede usar sus propias cookies. También puedes verla en Reddit.Con nombres de ejemplo, cada vía es una regla en un robots.txt distinto. La primera la publica el proveedor; la segunda, tú:
# https://verificacion.example/robots.txt (dominio del proveedor)
User-agent: *
Disallow: /
# https://www.tuweb.example/robots.txt (tu dominio)
User-agent: *
Disallow: /js/load-verification-popup.jsGoogle ya pide que Googlebot no active las barreras de edad
La regla general de Google es no bloquear lo que hace falta para renderizar. Su introducción a robots.txt admite bloquear imágenes, scripts o estilos poco importantes si la página no se resiente sin ellos, y pide no hacerlo si su ausencia complica que Google la entienda. En octubre de 2014, al actualizar sus directrices técnicas por el renderizado, Google avisó de que bloquear el JavaScript o el CSS perjudica el renderizado y la indexación, y puede empeorar el posicionamiento.
En la Ultra guía del renderizado lo tratamos como el error más simple y más repetido con JavaScript.
Para las verificaciones de edad, Google tiene una recomendación expresa desde el 26 de mayo de 2023. Sus directrices de SEO para contenido explícito piden que, si hay contenido detrás de una comprobación de edad, se permita que Googlebot «rastree el contenido sin activar la comprobación de edad». Proponen hacerlo verificando que las peticiones vienen de Google y sirviéndole la página sin la barrera.
Si no se hace, avisan, el sitio puede posicionar peor. Y si detrás de la barrera hay contenido no explícito que Googlebot no ve, es más probable que Google clasifique como explícito ese contenido o el sitio entero, y lo deje fuera de los resultados con SafeSearch activado.
La página de Google sobre intersticiales y cuadros de diálogo va en la misma línea. Los intersticiales obligatorios por el tipo de contenido, como la verificación de edad de un casino, quedan exentos de sus pautas. Aun así, Google recomienda que la ventana se superponga al contenido en lugar de redirigir a otra página, y repite el consejo de dejar pasar a Googlebot sin la barrera.
No toda diferencia de renderizado entre un usuario y Googlebot es cloaking. Las políticas de spam de Google lo definen como mostrar un contenido distinto a usuarios y buscadores para manipular el posicionamiento y engañar a los usuarios. En el caso de las barreras de edad, es su propia documentación la que recomienda que Googlebot no las vea.
Vale para la ventana legal, no para cualquier pop-up
Nuestra lectura. La propuesta encaja si la ventana es un recurso separado y el contenido sigue accesible al omitirlo. No basta con bloquear una dirección: hay que comprobar el resultado renderizado. Según cómo esté construida la web, configurar el servicio de verificación para dejar pasar a Googlebot puede ser una opción más adecuada.
La recomendación se refiere a una barrera de edad obligatoria. Las ventanas promocionales siguen sujetas a las pautas contra los intersticiales intrusivos: ocultarlas al rastreador no mejora la experiencia que recibe el visitante. Tampoco se puede concluir que cualquier recurso bloqueado sea cloaking; importan el contenido servido y la finalidad del cambio.
Comprobaciones antes de tocar el robots.txt
- Mira primero qué ve Googlebot. Abre el robots.txt del dominio desde el que se carga la ventana: si bloquea los recursos concretos que construyen la ventana, puede que no haga falta cambiar nada. Para confirmarlo, la prueba en directo de la inspección de URLs de Search Console enseña el HTML renderizado y los recursos que se han cargado, como explica la guía de Google para solucionar problemas de JavaScript.
- Si bloqueas tu propio JS, que solo abra la ventana. Según la especificación de robots.txt de Google, las reglas valen solo para el host donde está el archivo. Por eso esta vía exige que la ventana se cargue desde un archivo alojado en tu dominio; no sirve si el HTML llama directamente al script del proveedor. Si el nombre cambia con cada versión, una regla por prefijo puede cubrir las variantes, pero comprueba que no alcance otros scripts necesarios. Y no cierres la regla con
$: si el script lleva la versión en un parámetro (popup.js?ver=1.4),Disallow: /js/popup.js$ya no lo bloquea. - Pon la regla en el grupo que lee Googlebot. Googlebot obedece un único grupo, el del user-agent más específico que le corresponde. Si tu robots.txt tiene un grupo
User-agent: Googlebot, la línea va ahí y no en el de*. Si no lo tiene, basta con ponerla en el de*: abrir un grupo para Googlebot solo por esta línea haría que dejara de leer todas las demás reglas del*, y habría que repetirlas en el suyo. - Repite la prueba después del cambio. El contenido tiene que salir entero en el HTML renderizado. Si la página no carga el contenido hasta que el script confirma la edad, bloquear ese script deja a Googlebot sin él.
Carlos Sánchez cuenta el bloqueo paso a paso, con la comprobación en la inspección de URLs de webs reales como Saucony o Visionlab, en «Poner un popup sin que Google lo renderice». Si prefieres la vía de la documentación, dejar pasar a Googlebot comprobando que de verdad es Google, lo explica en «Indexar contenido para adultos, de pago o bloqueado por países».


