# kelam.sh is a marketing and documentation site; everything here is meant to be indexed. # # Until this file existed the site had no robots.txt of its own and Cloudflare served its # managed default — which allows crawling but carries no Sitemap: line, so nothing pointed # a crawler at the full set of pages. Cloudflare appends its managed content-signal block # below whatever this file says, so the signals survive; the Sitemap line is the addition. # # The app host (api.kelam.sh) is deliberately kept out of the index with a robots meta tag # in packages/web/index.html — it is the product, not a page anyone should land on cold. User-agent: * Allow: / # Per-trade outreach pages are unlisted: they are sent as direct links, not discovered, and # nothing on the site navigates to them. (Unlisted, not private -- anyone holding a link can # still open one.) Disallow: /for/ Disallow: /for$ # The assistants below fetch a page because a PERSON asked them to, in a live # conversation — they are not training crawlers. kelam.sh tells people to point their # assistant at /setup.txt, so blocking these would break the product's install path. # Named explicitly because a named group beats the wildcard in every robots parser, and # Cloudflare's AI-bot blocking injects wildcard disallows for the crawler counterparts. # Training crawlers (GPTBot, ClaudeBot, meta-externalagent, Google-Extended) stay blocked # by that injection; these user-initiated agents must not be. User-agent: ChatGPT-User Allow: / User-agent: OAI-SearchBot Allow: / User-agent: Claude-User Allow: / User-agent: Claude-SearchBot Allow: / User-agent: PerplexityBot Allow: / Sitemap: https://kelam.sh/sitemap.xml