# ═════════════════════════════════════════════════════════════════════════════ # robots.txt de meteor.com.co # ═════════════════════════════════════════════════════════════════════════════ # # POR QUÉ EXISTE ESTE ARCHIVO, Y POR QUÉ ESTABA FALTANDO # # La versión anterior del sitio (Next.js, apps/marketing-site) generaba este # archivo desde src/app/robots.ts. La migración a Astro no lo portó: el sitio # construido con Astro NO tenía robots.txt, o sea que la allowlist de crawlers # de IA existía solo en el código de la versión que se está reemplazando. # Verificado el 2026-08-02 sobre `.vercel/output/static/` recién construido. # # Este sitio QUIERE ser leído y citado por asistentes de IA: «Meteor» colisiona # como entidad con el framework JS Meteor y con la meteorología, y los modelos # resuelven el nombre hacia la entidad con más huella. Cada fetch de estos bots # es una oportunidad de que la huella correcta crezca. # # Por eso la lista es EXPLÍCITA y no un `*` implícito: (1) deja constancia de la # decisión — bloquear GPTBot o ClaudeBot «por defecto», como hacen muchas # plantillas de robots.txt, mataría la memoria de los modelos sobre Meteor y la # citación en respuestas; (2) si mañana alguien agrega un bloqueo, tiene que # pasar por encima de una regla escrita, no de una ausencia. # # ADVERTENCIA QUE NO SE VE DESDE EL REPO: robots.txt es una petición, no un # control de acceso. Vercel tiene un juego de reglas de firewall para bots de IA # («AI Bots» / Bot Management) que puede estar en modo BLOQUEO a nivel de # proyecto. Si eso está encendido, todo este archivo es decorativo — el bot # recibe 403 antes de llegar aquí. Se revisa en el panel, no en git. # Ver docs/MEDICION-SITIO-CORPORATIVO.md, «Lo que solo puede hacer una persona». # ─── Los 8 crawlers de IA que importan ─────────────────────────────────────── # # Tres roles por proveedor, y los tres se permiten a propósito: # entrenamiento → el modelo aprende que Meteor existe # índice propio → el buscador del asistente puede encontrarlo # lectura en vivo → alguien está conversando AHORA y el modelo fue a leer # # El de lectura en vivo es el valioso: ChatGPT-User, Claude-User y # Perplexity-User solo se disparan cuando hay una persona del otro lado. # OpenAI User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ChatGPT-User Allow: / # Anthropic User-agent: ClaudeBot Allow: / User-agent: Claude-SearchBot Allow: / User-agent: Claude-User Allow: / # Perplexity User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: / # ─── Los dos buscadores que alimentan asistentes ───────────────────────────── # # Google-Extended NO es un crawler: es solo un token de robots.txt que decide si # lo que ya rastreó Googlebot puede usarse en Gemini y en las respuestas # generadas. No tiene user-agent propio y no se puede probar con `curl -A`. # Bingbot sí es un crawler real, y alimenta a Copilot y a la búsqueda de ChatGPT. User-agent: Google-Extended Allow: / User-agent: Bingbot Allow: / # ─── El resto del mundo ────────────────────────────────────────────────────── User-agent: * Allow: / # El sitemap índice lo genera @astrojs/sitemap en cada build. # El dominio va quemado a propósito: en un preview de Vercel este archivo se # sirve igual, y apuntar el sitemap del preview a producción es lo correcto. # Además, el Build Output agrega explícitamente X-Robots-Tag: noindex, nofollow # fuera de producción; no depende de una opción mutable del panel de Vercel. Sitemap: https://meteor.com.co/sitemap-index.xml