# https://www.robotstxt.org/robotstxt.html
#
# Everything public here is open to every crawler, search engine and AI
# assistant. The blog is written to be read, and being quoted with a link back
# is the point. The only closed doors are the API and the admin — and model
# training, which is refused below. The colophon at /credits is crawlable and
# asks not to be indexed on the page itself, which is the only way that ask
# gets read.
#
# The Content-Signal line in each group is the same answer in machine-readable
# form. Search indexes: yes. Answering someone's question with this page, which
# is what a citation is: yes. Training a model on it: no.
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin
Disallow: /admin/
Disallow: /error-status/
Content-Signal: search=yes, ai-input=yes, ai-train=no
# AI assistants and AI search, by name — so that a default "unless it says
# otherwise, stay out" never applies to this site.
User-agent: ChatGPT-User
User-agent: OAI-SearchBot
User-agent: Claude-User
User-agent: Claude-SearchBot
User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: Google-Agent
User-agent: Google-GeminiNotebook
User-agent: Google-CloudVertexBot
User-agent: DuckAssistBot
User-agent: MistralAI-User
User-agent: MistralAI-Index
User-agent: meta-externalfetcher
User-agent: meta-webindexer
User-agent: Amzn-User
User-agent: kagi-fetcher
User-agent: Kimi-User
User-agent: YouBot
User-agent: PhindBot
Allow: /
Disallow: /api/
Disallow: /admin
Disallow: /admin/
Disallow: /error-status/
Content-Signal: search=yes, ai-input=yes, ai-train=no
# Training crawlers. Not the assistants above: refusing GPTBot leaves
# ChatGPT-User free to open a page when somebody asks about it, and refusing
# Google-Extended leaves Googlebot's search index alone.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: anthropic-ai
User-agent: Claude-Web
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
User-agent: meta-externalagent
User-agent: FacebookBot
User-agent: Amazonbot
User-agent: Bytespider
User-agent: TikTokSpider
User-agent: cohere-ai
User-agent: cohere-training-data-crawler
User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: Diffbot
User-agent: omgili
User-agent: omgilibot
User-agent: Timpibot
User-agent: Webzio-Extended
User-agent: ImagesiftBot
User-agent: DeepSeekBot
User-agent: PanguBot
User-agent: QwenBot
User-agent: YandexAdditional
User-agent: MistralAI-Training
User-agent: img2dataset
Disallow: /
Content-Signal: search=yes, ai-input=yes, ai-train=no
# Written for machines to read: https://matthewtrent.me/llms.txt
# Agent profile: https://matthewtrent.me/.well-known/agent
Sitemap: https://matthewtrent.me/sitemap.xml