# As a condition of accessing this website, you agree to abide by the following # content signals: # (a) If a Content-Signal = yes, you may collect content for the corresponding # use. # (b) If a Content-Signal = no, you may not collect content for the # corresponding use. # (c) If the website operator does not include a Content-Signal for a # corresponding use, the website operator neither grants nor restricts # permission via Content-Signal with respect to the corresponding use. # The content signals and their meanings are: # search: building a search index and providing search results (e.g., returning # hyperlinks and short excerpts from your website's contents). Search does not # include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models (e.g., retrieval # augmented generation, grounding, or other real-time taking of content for # generative AI search answers). # ai-train: training or fine-tuning AI models. # use: how AI systems may consume the content (immediate, reference, or full). # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF # RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT # AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET. # BEGIN Cloudflare Managed content User-agent: * Content-Signal: search=yes,ai-train=no,use=reference Allow: / User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CloudflareBrowserRenderingCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: meta-externalagent Disallow: / # END Cloudflare Managed Content # OJEO — robots.txt # Política completa: https://ojeo.es/es/legal/bots # ============================================================ # 1. Crawlers de búsqueda tradicional — acceso completo # ============================================================ User-agent: Googlebot Allow: / Disallow: /es/buscar Disallow: /api/ Disallow: /*?utm_* Disallow: /*?ref=* User-agent: Bingbot Allow: / Disallow: /es/buscar Disallow: /api/ Disallow: /*?utm_* Disallow: /*?ref=* User-agent: Applebot Allow: / Disallow: /es/buscar Disallow: /api/ # ============================================================ # 2. Crawlers de búsqueda IA — acceso completo a datos públicos # ============================================================ User-agent: OAI-SearchBot Allow: / Disallow: /api/ Disallow: /es/buscar Disallow: /premium/ User-agent: Claude-SearchBot Allow: / Disallow: /api/ Disallow: /es/buscar Disallow: /premium/ User-agent: PerplexityBot Allow: / Disallow: /api/ Disallow: /es/buscar Disallow: /premium/ # ============================================================ # 3. Crawlers de entrenamiento IA — los gestiona Cloudflare (ADR-014) # ============================================================ # Aquí NO se declara nada sobre GPTBot, ClaudeBot, Google-Extended, # Applebot-Extended, CCBot, Bytespider, Meta-ExternalAgent ni anthropic-ai. # No es un olvido: # # · Cloudflare inyecta su propio bloque ("managed robots.txt") por delante de # este fichero, mantiene la lista de crawlers al día —aparecen varios al mes— # y bloquea en el WAF, cosa que un robots.txt no puede hacer: es una petición # que Bytespider ignora por sistema. # · Declararlos aquí además creaba DOS grupos para el mismo user-agent con # reglas opuestas. La RFC 9309 dice que se fusionen, pero los crawlers reales # difieren y varios toman el primero que coincide: el resultado dependía de # quién leyera el fichero. Eran 5 conflictos el 2026-07-18. # # La política es "que nos citen, no que nos entrenen": el entrenamiento no # devuelve citación —un modelo no cita sus datos de entrenamiento— mientras que # el retrieval del bloque 2 sí cita con enlace. Cloudflare bloquea entrenamiento # y deja pasar retrieval, que es exactamente eso. # # Vigilado por pipelines/seo/robots_centinela.py, que cada noche comprueba qué # política se sirve de verdad y avisa si un crawler de citación queda bloqueado. # ============================================================ # 4. Default — bots no listados # ============================================================ User-agent: * Allow: / Disallow: /es/buscar Disallow: /api/ Disallow: /admin/ Disallow: /*?utm_* Disallow: /*?ref=* # ============================================================ # Sitemaps # ============================================================ Sitemap: https://ojeo.es/sitemap.xml