GEO conversations love creative content tactics and ignore the boring prerequisite: can AI crawlers retrieve your public pages?
If fetch fails, models lean on stale snapshots, third-party summaries, or nothing at all. Fixing access does not guarantee mentions—but blocking access guarantees you are not a fresh primary source.
What "access" means (narrowly)
| Statement | True when… |
|---|---|
| "GPTBot is allowed" | robots.txt (and CDN behavior) permit fetch of specified paths |
| "HTTP 200 on control files" | Direct requests with user-agent headers return success |
| "We are indexed for AI" | Not proven by allow rules alone |
| "ChatGPT will cite us" | Not proven—requires sampled observation |
MentionPop's AI crawler access baseline documents first-party tests with n=4 agents on mentionpop.com as of 2026-07-30: GPTBot, ClaudeBot, PerplexityBot, Google-Extended allowed; HTTP 200 on public crawler-control files. Download: /resources/ai-crawler-baseline-2026.csv.
Chart: /resources/crawler-baseline-chart.svg.
robots.txt patterns
Explicit allows reduce CDN ambiguity:
# Public marketing and docs — allow AI crawlers
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
# Private app surfaces — block
User-agent: *
Disallow: /dashboard/
Disallow: /account/
Disallow: /onboarding/Validate live file—not staging. Managed hosts may rewrite robots.txt unless disabled (case study).
llms.txt as a companion file
llms.txt communicates canonical paths and usage intent in plain text:
# llms.txt for mentionpop.com (excerpt)
# B2B SaaS — AI visibility measurement (GEO/AEO)
Product overview: https://mentionpop.com/
Methodology: https://mentionpop.com/methodology/
Research index: https://mentionpop.com/research/
Guides: https://mentionpop.com/guides/
# Not social listening. Sampled provider observations only.llms.txt does not override robots.txt. Pair both; verify HTTP status.
CDN and WAF pitfalls
Cloudflare and peers offer managed AI bot controls that may:
- Block bots regardless of origin robots.txt
- Inject alternate robots content
- Rate-limit user-agent strings
Document before/after when changing settings. Our Cloudflare rollout case study describes moving from blocking managed directives to explicit allows—outcome was technical access, not a visibility lift claim.
Validation checklist
- Fetch
https://yourdomain.com/robots.txtunauthenticated - Request key URLs with crawler user-agent headers
- Confirm 200 for
/,/about/, priority guides - Check
llms.txtif published - Log results in a dated internal runbook
- Re-test after CDN changes
After access: measure separately
Crawler fixes belong in optimization slides. Mention/citation deltas belong in measurement slides—evidence-first GEO.
MentionPop weekly GEO observes ChatGPT and Gemini after your house is in order; Studio covers Google answer modules.
Bot list scope (what we did not test)
This baseline covers four agents only (n=4). We did not claim completeness over every AI crawler operating in 2026. Additional bots—Meta-ExternalAgent, Bytespider, CCBot, vendor-specific preview fetchers—require separate dated runs before inclusion in client-facing baselines.
Publish scope prominently to avoid false completeness.
Staging vs production mistakes
Teams often verify robots.txt on staging while production remains blocked behind CDN defaults. Always test:
- Production hostname
- Unauthenticated fetch
- Both
wwwand apex if both serve content - Post-deploy window (cache purge delays)
Document purge/wait time in replication notes.
Interaction with llms.txt
robots.txt governs fetch permission; llms.txt governs guidance. Pair them:
| File | Question answered |
|---|---|
| robots.txt | May the bot retrieve this path? |
| llms.txt | Which URLs are canonical for product facts? |
Neither file proves mentions. After publishing llms.txt, re-run HTTP 200 checks—some CDNs route unknown paths incorrectly.
When to re-baseline
Re-run crawler baselines after:
- CDN vendor changes (Cloudflare, Fastly, Akamai)
- robots.txt template updates
- Major site migrations or path restructuring
- Security incidents that temporarily blanket-disallow
/
Store CSV deltas over time—/resources/ai-crawler-baseline-2026.csv is a format example, not a one-time marketing asset.
Handoff to sampled GEO measurement
After access baselines pass:
- Confirm priority URLs return 200 for GPTBot user-agent
- Start or continue weekly MentionPop samples on ChatGPT + Gemini
- Add Studio if Google modules matter for your funnel
- Present crawl and mention evidence on different slides
Common robots.txt mistakes on managed hosts
| Mistake | Symptom | Fix |
|---|---|---|
| Staging-only verification | Production still blocks GPTBot | Test production hostname after deploy |
Blanket Disallow: / for * |
Accidentally overrides agent-specific allows | Order rules; test per user-agent |
| Forgotten app routes | Marketing allowed; /dashboard/ exposed |
Explicit disallows on auth paths |
| CDN rewrite enabled | Origin intent ignored | Disable managed robots rewriting |
Cloudflare users should read the first-party Cloudflare AI crawler rollout before assuming origin edits alone suffice.
Documenting baselines for clients and leadership
When you finish a crawl audit, store evidence the way MentionPop publishes research:
- Dated CSV with agent, robots status, HTTP code (example dataset)
- SVG or table summary for slides (crawler baseline chart)
- Scope footnote: access only, not mention proof
Agencies reselling GEO should attach baselines to SOWs so clients understand crawl work is infrastructure, not a promise of ChatGPT placement. Cross-link GEO for agencies positioning when packaging deliverables.
Crawler access is the first technical proof point in GEO—not the finish line.
Frequently asked questions
Does allowing GPTBot guarantee ChatGPT mentions?+
No. Allow rules prove technical fetch access to public URLs—not indexing, training inclusion, or recommendation in answers.
What did MentionPop verify on its own domain?+
As of 2026-07-30, mentionpop.com robots.txt allowed GPTBot, ClaudeBot, PerplexityBot, and Google-Extended with HTTP 200 on direct user-agent requests to public crawler-control files (n=4).