# Sanovia production — marketing + public booking crawlable # NOTE: this file is the PROD robots. staging.sanovia.app never serves it. # Since 2026-09-29 staging is behind a password (deploy/Caddyfile # @stagingAuth): every staging page, /robots.txt included, answers 401 to # anyone without it, and a 401 is never indexed. With the password switched # off (deploy/staging-basic-auth.sh off), Caddy's own override answers # instead: an allow-all body («User-agent: *» + «Allow: /», no Sitemap) plus # X-Robots-Tag: noindex on every staging response. Crawling is allowed there # ON PURPOSE (SEO fix 1, 2026-09-25): a crawler that may not fetch a staging # URL never sees its noindex, so pages it already indexed stay indexed. # # AI crawlers and agents (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, # Claude-User, PerplexityBot, Amazonbot, meta-externalagent, MistralAI-User, # CCBot, …) are WELCOME on the same terms as everyone else: the `*` group # below applies to them too. A curated, token-efficient site summary for # agents and models lives at /llms.txt (full content: /llms-full.txt). User-agent: * Allow: / Disallow: /login Disallow: /register Disallow: /register/ Disallow: /clinic/login Disallow: /admin Disallow: /admin/ # The public MCP connector for AI assistants that /llms.txt describes # (https://sanovia.app/api/v1/mcp). RFC 9309 longest match: this Allow beats the /api/ # Disallow below for /api/v1/mcp only; the rest of /api/ stays blocked. Allow: /api/v1/mcp Disallow: /api/ Disallow: /doctor Disallow: /doctor/ Disallow: /patient Disallow: /patient/ Disallow: /clinic Disallow: /clinic/ Disallow: /staff Disallow: /staff/ Sitemap: https://sanovia.app/sitemap.xml