{
 "slug": "block-disputed",
 "title": "Block the crawlers with disputed robots compliance",
 "summary": "The ones repeatedly reported as ignoring robots.txt. Included for completeness — expect to enforce this at the edge instead.",
 "detail": "A robots.txt rule is a request. For the operators in this file the request is documented as unreliable or explicitly not applicable, so the honest use of this file is as a record of intent that sits alongside a real block by user-agent or by IP at your CDN.",
 "crawler_count": 18,
 "crawlers": [
  "bytespider",
  "feedfetcher-google",
  "google-agent",
  "google-cws",
  "google-gemininotebook",
  "google-pinpoint",
  "google-read-aloud",
  "google-safety",
  "google-site-verification",
  "googlemessages",
  "googleproducer",
  "isscyberriskcrawler",
  "laiondownloader",
  "linguee-bot",
  "perplexity-user",
  "thinkbot",
  "tiktokspider",
  "yandexmetrika"
 ],
 "robots_txt_url": "https://www.pathwren.workers.dev/robots/block-disputed.txt",
 "robots_txt": "# AI Crawler Index — policy: block-disputed\n# Block the crawlers with disputed robots compliance\n# The ones repeatedly reported as ignoring robots.txt. Included for completeness — expect to enforce this at the edge instead.\n# Generated 2026-09-03 from https://www.pathwren.workers.dev/policy/block-disputed.html\n# 18 crawlers named. Paste into robots.txt at your document root.\n\nUser-agent: Bytespider   # compliance disputed; enforce at the edge\nDisallow: /\n\nUser-agent: FeedFetcher-Google   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-Agent   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-CWS   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-GeminiNotebook   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-Pinpoint   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-Read-Aloud   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-Safety   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Google-Site-Verification   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: GoogleMessages   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: GoogleProducer   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: ISSCyberRiskCrawler   # compliance disputed; enforce at the edge\nDisallow: /\n\nUser-agent: LAIONDownloader   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Linguee Bot   # compliance disputed; enforce at the edge\nDisallow: /\n\nUser-agent: Perplexity-User   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: Thinkbot   # compliance disputed; enforce at the edge\nDisallow: /\n\nUser-agent: TikTokSpider   # compliance disputed; enforce at the edge\nDisallow: /\n\nUser-agent: YandexMetrika   # operator states robots.txt does not apply; enforce at the edge\nDisallow: /\n\nUser-agent: *\nAllow: /\n\nSitemap: https://www.pathwren.workers.dev/sitemap.xml\n",
 "generated": "2026-09-03",
 "links": [
  {
   "rel": "self",
   "href": "https://www.pathwren.workers.dev/policy/block-disputed.json",
   "type": "application/json"
  },
  {
   "rel": "changes",
   "href": "https://www.pathwren.workers.dev/changes.json?since=111",
   "type": "application/json",
   "title": "What changed since your cursor — poll this instead of re-downloading this document",
   "cursor_param": "since",
   "head_cursor": 111,
   "min_poll_seconds": 21600,
   "how": "Read `cursor` from the response and send it back as `since`. It advances only when something really changed, so an unchanged answer is proof rather than luck — about 2.5 KB, or a 304 with no body if you send back the ETag."
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/robots/block-disputed.txt",
   "type": "text/plain"
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/data/agents.json",
   "type": "application/json",
   "title": "Every crawler record in one file"
  },
  {
   "rel": "service-desc",
   "href": "https://www.pathwren.workers.dev/openapi.json",
   "type": "application/json",
   "title": "Every read endpoint, described formally"
  }
 ]
}