# BuscaCerca — el buscador de los negocios de Mercedes (Soriano, UY). # # Formato: RFC 9309 (Robots Exclusion Protocol). Dos grupos. # # ⚠️ REGLA DEL FORMATO que hace que esto sea delicado: un rastreador obedece # UN SOLO grupo, el más específico que lo nombre, e IGNORA por completo el de # `*`. Por eso el segundo grupo repite palabra por palabra los `Disallow` del # primero: sin esa repetición, nombrar a GPTBot para darle la bienvenida le # abriría /admin y /login de regalo. Hay un guard de CI que lo verifica # (`backend/src/test/rutasPrivadas.test.ts`): revisa TODOS los grupos, no la # unión de las líneas. User-agent: * Allow: / # Que nos lean y nos citen (un buscador local quiere aparecer cuando alguien # pregunta "¿dónde arreglo una rueda en Mercedes?"), pero sin ceder el catálogo # para entrenar modelos. Antes lo inyectaba el "Managed robots.txt" de # Cloudflare, que se desactivó el 2026-07-21 porque de paso bloqueaba el rastreo # entero — nos dejaba invisibles para ChatGPT y compañía. # Es una reserva de derechos, no un candado: el cumplimiento es voluntario. Content-Signal: search=yes,ai-input=yes,ai-train=no # Áreas privadas / de gestión (no aportan a la búsqueda). # Esta lista DEBE espejar RUTAS_PRIVADAS de backend/src/shared/rutasPrivadas.ts; # hay un test que falla si se desincronizan. Disallow: /admin Disallow: /comerciante Disallow: /checkout Disallow: /login Disallow: /pago- Disallow: /agregar-negocio # ── Agentes de IA: bienvenidos, y con las mismas reglas ──────────────────── # # El grupo `*` de arriba ya los alcanzaba. Se los nombra igual por dos motivos # concretos: # # 1. Un permiso explícito se audita. Las herramientas que miden si un sitio # está abierto a agentes buscan el token por nombre; un `Allow` heredado # del comodín les da "indeterminado", y eso se reporta como bloqueo. # 2. Deja escrita la decisión. En este repo ya pasó que una capa de arriba # (el "Managed robots.txt" de Cloudflare) bloqueara a estos mismos # agentes sin que nadie lo hubiera pedido, y nos dejó invisibles para # ChatGPT hasta que se descubrió. Con el grupo escrito, ese día se ve. # # El `Content-Signal` se repite porque vive DENTRO de un grupo: sin repetirlo, # los agentes que caen acá dejarían de leerlo. Los valores son idénticos a los # de arriba a propósito — que nos citen sí, que nos entrenen no. # # Los tokens salen de la documentación oficial de cada proveedor (nunca de # memoria) y su fuente está anotada en `backend/src/shared/agentesIa.ts`. # `Google-Extended` y `Applebot-Extended` son tokens de CONTROL: existen solo # para este archivo y nunca viajan como User-Agent en una request real. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-SearchBot User-agent: Claude-User User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Google-Extended User-agent: Applebot-Extended User-agent: DeepSeekBot User-agent: ora-agent Allow: / Content-Signal: search=yes,ai-input=yes,ai-train=no Disallow: /admin Disallow: /comerciante Disallow: /checkout Disallow: /login Disallow: /pago- Disallow: /agregar-negocio Sitemap: https://buscacerca.uy/api/sitemap.xml