Skip to content

AI crawlers and robots.txt

Allow Claude, Gemini, ChatGPT, and Perplexity to discover OpenQuok public pages when Cloudflare managed robots.txt is enabled.

4 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

Start for $0

Overview

The web app exposes /robots.txt, /llms.txt, and /llms-full.txt so bots can find public docs and marketing pages. Sign-in and workspace URLs stay off-limits.

/mcp on the website is docs-only (no API key). Workspace automation uses /mcp on the **API** — same path, different host.

If an AI visibility checker says Claude or Gemini cannot see you, read live /robots.txt first. On Cloudflare, turning off block training in robots.txt (managed robots) fixes this more often than changing OpenQuok settings alone.

Why “Training → Allow” is not enough

Cloudflare has two separate controls:

ControlWhat it doesClaude / Gemini
Training → Allow (do not block) under Configure AI bot policiesStops Cloudflare from HTTP-blocking training crawlers at the edgeNecessary, but not sufficient
Set your preference to block training in robots.txt (managed robots.txt)Prepends Disallow: / for ClaudeBot, Google-Extended, GPTBot, …What robots-based visibility checkers see
Training → Allow without turning off managed robots.txt leaves /robots.txt telling crawlers to stay away — which is why visibility tools still say Claude or Gemini cannot find you.

Fix in Cloudflare (production)

Open Security Settings → Bot traffic

In the Cloudflare dashboard, select the zone that serves www.openquok.com. Open Security → Settings, filter by Bot traffic (or follow the here link from the Training policy copy).

Turn OFF managed training blocks in robots.txt

Find Set your preference to block training in robots.txt (managed robots.txt) and turn it off. Do not stop at Training → Allow (do not block) — that is a different setting.

That is the control that prepends Disallow: / for ClaudeBot, Google-Extended, GPTBot, and related training crawlers. With it off, crawlers see only the OpenQuok origin file (Content Signals + auth disallows + explicit AI Allow groups). OpenQuok still emits ai-train=no via Content-Signal, so you keep a soft training preference without a site-wide crawl block.

Or flip it via API

Create a Cloudflare API token with Bot Management Write for the marketing zone, then:

export CLOUDFLARE_API_TOKEN='…'
export CLOUDFLARE_ZONE_NAME='openquok.com' # or set CLOUDFLARE_ZONE_ID
pnpm --filter ./web run fix:ai-robots

This sets is_robots_txt_managed to false on the zone (see Update Zone Bot Management Config).

Keep Training Allow (already correct if set)

Under Security → Settings → Configure AI bot policies, leave Training on Allow (do not block). That only affects edge HTTP blocking.

Optional: AI Crawl Control Allow

Under Security → AI Crawl Control, set Action to Allow for crawlers you want (at least ClaudeBot and Google-Extended). This also controls WAF blocking.

Verify the live file

pnpm --filter ./web run verify:ai-robots
# or
curl -sS "https://www.openquok.com/robots.txt"

Pass criteria:

  • No Cloudflare managed section with ClaudeBot / Google-Extended and Disallow: /
  • Origin suffix still lists Sitemap: and Allow: / for those bots

After robots is fixed: AI crawlers may still lag

When pnpm —filter ./web run verify:ai-robots passes, bots are allowed in,but Claude or Gemini may still not show your site for days or weeks. Each engine crawls and updates on its own schedule.

More robots.txt changes will not speed that up. Keep docs, pricing, compare, and /llms.txt public, and use Cloudflare AI Crawl Control to confirm ClaudeBot and Google-Extended are actually hitting your domain.

What the web app emits

The route web/src/routes/robots.txt/+server.ts builds:

  • User-agent: * — Content-Signal (search=yes, ai-input=yes, ai-train=no) plus disallow auth, editor, admin, and OAuth paths only
  • Per–AI-bot groups with Allow: / plus the same auth/admin disallows (including Claude-SearchBot / Claude-User)
  • Meta crawler allows (Facebook / Instagram app verification)
  • Comments pointing to /llms.txt and /rss.xml

Every public HTML page also advertises the LLM index via <link rel="alternate" href="/llms.txt"> in global meta tags (createMetaData).

Search documentation
Find a docs page
Discord Support