Casi todo el mundo verifica que sus productos sean accesibles para los bots. Casi nadie verifica que el checkout no lo sea.
Las dos mitades importan igual. Un bot que no llega a tu catálogo te cuesta visibilidad en buscadores y en respuestas generadas. Un bot que sí llega a tu carrito, a tu área de cuenta o a tus páginas de búsqueda interna te cuesta presupuesto de rastreo, y a veces algo peor.
Este artículo explica cómo se verifica lo uno y lo otro, y por qué las respuestas vienen de tres capas independientes que fallan distinto.
Cuando decís "este bot no puede entrar", estás mezclando tres mecanismos que no tienen nada que ver entre sí. El arreglo de cada uno lo hace una persona distinta.
Capa 1 — robots.txt. Lo decide el sitio y lo obedecen los bots que cumplen. Es voluntario: nada impide que un rastreador lo ignore. Se resuelve buscando el product token del bot dentro del archivo, no su User-Agent. Son campos distintos: Screaming Frog usa el token screaming frog seo spider y sale a la red con el UA Screaming Frog SEO Spider/20.0.
Capa 2 — la respuesta HTTP con el User-Agent del bot. Lo decide el servidor, el WAF o el CDN. Es un corte de acceso real, no una convención: puede bloquear aunque robots.txt permita, y no depende de la buena voluntad de nadie. Los estados que valen como bloqueo son 401, 403, 407, 429 y 451.
Capa 3 — las directivas de indexación. X-Robots-Tag en los encabezados y <meta name="robots"> en el <head>. Dejan pasar pero no indexan. El bot accede, lee, y la página igual no entra al índice.
Las tres pueden contradecirse. Un robots.txt permisivo con un 403 del WAF encima da "bloqueado". Un 200 limpio con noindex en el encabezado da "entra pero no sirve". Por eso no alcanza con un semáforo: hace falta ver el dato crudo de cada capa por separado.
Cuando hay que resumir las tres en un veredicto, la precedencia es esta:
Primero lo que corta el acceso, después lo que lo prohíbe, al final lo que deja entrar sin indexar. Un Disallow para GPTBot en un sitio que además le devuelve 403 no es información redundante: si mañana sacás el bloqueo del WAF, la primera regla sigue en pie.
Verificar esto a mano, con curl y buena voluntad, falla en lugares específicos. Estos son los que más veces dan un "está permitido" que no es cierto.
/vieja permitida que redirige a /privada prohibida no es accesible. Y si la redirección cambia de host, el archivo que manda es el del otro host.User-agent: Google no cubre a Googlebot. El protocolo pide coincidencia exacta (RFC 9309, sección 2.2.1). Hacerlo coincidir "por las dudas" es contestar una prohibición que el sitio nunca escribió.User-agent consecutivas. Dos o más seguidas comparten las reglas que vienen abajo. Cortar mal ahí le aplica un Disallow al bot equivocado.X-Robots-Tag como texto plano. El encabezado admite alcance por bot: X-Robots-Tag: googlebot: noindex. Buscar la palabra "noindex" en el crudo marca a GPTBot y a bingbot por una regla escrita para Googlebot. Hay que separar el prefijo de alcance de las directivas con valor, como max-snippet: -1.Allow y aun así tener prohibido el entrenamiento. Son ejes distintos.Sobre este último punto conviene ser explícito, porque la lectura intuitiva es la equivocada: declarar ai-train=no y dejar a los bots de IA sin bloquear no los bloquea. Es una reserva de derechos, no un candado.
En IndexNow Connect el test corre desde el panel, contra hasta 5 URLs y un catálogo de 46 entradas repartidas en cinco grupos: IA (21), buscadores (10), SEO (6), redes y mensajería (8), y una fila de navegador. Cada fila muestra una columna por capa más el veredicto.
Tres decisiones que conviene contar porque tienen consecuencias visibles:
Hay una fila de navegador y es la más importante. Chrome sobre macOS, sin token de robots. Sin ella no hay contra qué comparar: si el navegador también recibe 403, el problema no es el bot, es la URL. Es la primera pregunta ante cualquier bloqueo.
Tres tokens no reciben pedido. Google-Extended, Applebot-Extended y el legacy anthropic-ai no son crawlers: son interruptores de uso para IA sobre lo que ya bajaron Googlebot y Applebot. Mandarles una sonda sería inventar un bot que no existe. De ellos se informa el veredicto de robots.txt y nada más.
El techo es real y se declara. Máximo 40 sondas HTTP por corrida, 4 en paralelo, 6 segundos de timeout, 200 KB de cuerpo leído por respuesta. Con dos URLs y el catálogo entero se piden 86 sondas y corren 40: quedan 46 sin probar, la pantalla lo dice con un número, y esas filas salen como "sin probar" en amarillo, nunca como permitido. Un límite silencioso se lee como "probé todo", y eso es peor que no medir.
Lo que no hace, dicho sin vueltas:
User-agent: Screaming Frog en vez de su token real, así que esa regla el crawler no la reconoce como propia.El test vive junto al resto del panel — conocé IndexNow Connect si querés ver cómo encaja con el envío automático de URLs a IndexNow cuando publicás o editás un producto.
Lo que debería entrar. Home, categorías principales, una ficha de producto representativa, el sitemap. Verificá con el grupo de buscadores y el de IA por separado: es habitual que Googlebot pase limpio y GPTBot reciba 403 de una regla de WAF que nadie recuerda haber puesto. Si el navegador entra y el bot no, el bloqueo es deliberado o accidental, pero existe.
Lo que no debería entrar. Checkout, carrito, área de cuenta, páginas de búsqueda interna con query string, filtros facetados, endpoints de la API. Acá el resultado esperado es disallow, y un allow es el hallazgo. Probá con la query string incluida: la evaluación de robots.txt toma pathname + search, y una regla escrita para /buscar no necesariamente cubre /buscar?q=zapatillas.
Dos detalles que cambian el resultado en la segunda mitad:
*. Si no lo nombrás explícitamente, sigue entrando a las rutas que prohibiste para todos. Hay que repetirle las reglas en su propio grupo.*. Es la única forma que tiene el protocolo de excluir a uno y dejar entrar al resto, pero significa que ese bot deja de ver todos los Disallow generales. Es un efecto del protocolo, no de la herramienta.Si tu robots.txt lo escribe tu plataforma o te lo reescribe Cloudflare, es probable que ninguna de las dos cosas esté como creés. Vale la pena leer también qué son las Content Signals en robots.txt y cómo mantener tu sitio accesible a los bots de IA con Cloudflare.
Disallow en robots.txt garantiza que el bot no entre?No. El Robots Exclusion Protocol es voluntario: describe cómo un rastreador que quiere cumplir debe interpretar el archivo, no impone nada. Si necesitás un corte real de acceso, la capa es HTTP: autenticación, WAF o reglas del CDN. Por eso el test mide las dos por separado.
Sí para el acceso, pero perdés la declaración estándar de sitemaps. Ojo con el matiz: un 4xx significa "no hay archivo" y por lo tanto todo permitido, mientras que un 5xx no equivale a permitido. Es un estado desconocido, y tratarlo como permiso es inventar una respuesta que el servidor no dio.
noindex y Disallow hacen lo mismo?No, y combinarlos suele ser un error. Si prohibís la URL en robots.txt, el bot no puede leer el noindex que pusiste adentro. Google lo documenta en su guía de noindex: para que la directiva se respete, la página tiene que ser rastreable. Prohibir en robots.txt sirve para que no gasten rastreo; noindex sirve para que no aparezca en el índice.
Por dos razones distintas. La primera es presupuesto de rastreo: cada URL de carrito con parámetros únicos es una URL nueva que el bot descubre y pide, y eso compite con tus fichas de producto. La segunda es que las páginas de cuenta y los flujos de compra a veces exponen datos o estados que no tenían que salir del sitio. La segunda es menos frecuente y más cara.
Menos de los que pensás, pero los correctos. Empezá por el grupo de IA y la fila de navegador, que es el default. El navegador te dice si la URL funciona; el grupo de IA es donde aparecen los bloqueos que nadie decidió conscientemente, porque muchos WAF traen reglas de "AI scrapers" activadas de fábrica. Los grupos de SEO y de redes agregan ruido salvo que estés diagnosticando un problema concreto de previsualización de links o de una herramienta que no puede crawlear tu sitio.