# officina.it — crawler policy # Agentic resource catalog: https://officina.it/.well-known/ai-catalog.json # Machine-readable site index: https://officina.it/llms.txt # Public API contract: https://officina.it/openapi.json # Agent skill for the API: https://officina.it/api/skill.md Sitemap: https://officina.it/sitemap.xml # Content Signals (https://contentsignals.org) — what may be done with what is # crawled here. Being the answer an assistant gives is the point of publishing # the guide, the tools and the API docs, so all three signals are yes. User-agent: * Content-Signal: search=yes, ai-input=yes, ai-train=yes Disallow: /cdn-cgi/l/email-protection Disallow: /lp/ Disallow: /dl/ Disallow: /app/ # Answer engines, assistant fetchers and the crawlers that feed them. Allowed # by name rather than by silence: a policy that has to be inferred from the # absence of a rule is one a scanner reads as "no policy", and an assistant # deciding whether it may quote us should not have to infer. # # The training crawlers are here deliberately. A workshop asking an assistant # which gestionale to use is the traffic this site exists to win, and that # answer comes from what the model was trained on as much as from what it # fetches live. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-User User-agent: Claude-SearchBot User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Google-Extended User-agent: Applebot-Extended User-agent: Meta-ExternalAgent User-agent: Amazonbot User-agent: MistralAI-User User-agent: cohere-ai User-agent: CCBot Allow: / Disallow: /cdn-cgi/l/email-protection Disallow: /lp/ Disallow: /dl/ Disallow: /app/ # ByteSpider is the one exception: it feeds no answer engine our customers ask, # and it is the crawler with a reputation for taking a site's bandwidth without # sending anything back. User-agent: ByteSpider Disallow: /