# Sandooq — https://sandooq.app # # Content-Signal below states how this content may be USED once fetched # (https://contentsignals.org/). search / ai-input / ai-train are all # granted: being quoted in an AI answer is the point. # # NOTE: a crawler obeys exactly ONE group — its most specific user-agent # match — and ignores `*` entirely. So the AI group below repeats every # rule from `*`. Dropping a repeat would silently UN-disallow that path # for those crawlers, which is the classic way this file goes wrong. User-agent: * Content-Signal: search=yes, ai-input=yes, ai-train=yes Allow: / Allow: /api/mcp Disallow: /api/* Disallow: /healthz # AI crawlers: identical rules, plus the image optimizer (see AI_EXTRA_DISALLOW). 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: Bytespider User-agent: Amazonbot User-agent: meta-externalagent User-agent: DuckAssistBot User-agent: CCBot Content-Signal: search=yes, ai-input=yes, ai-train=yes Allow: / Allow: /api/mcp Disallow: /api/* Disallow: /healthz Disallow: /_next/image Sitemap: https://sandooq.app/sitemap.xml Agentmap: https://sandooq.app/.well-known/ai-catalog.json