How to get cited by ChatGPT and Perplexity
A step-by-step GEO playbook for earning LLM citations — llms.txt, AI crawler permissions, FAQPage schema, citable stats, and weekly citation tracking. From LuminaForge.
Getting cited by ChatGPT and Perplexity is not luck — it is consistent Search & AI Visibility work on the multi-engine layer: fast pages, structural clarity, explicit crawler permission, and extractable language. For Google, prioritize Search Console and foundational SEO first — then add llms.txt and citation tracking for non-Google assistants.
This is the multi-engine playbook LuminaForge ships on every build — including luminaforge.ai itself.
Step 1: Allow AI crawlers explicitly
Most sites block LLM bots by accident. In robots.txt (or app/robots.ts on Next.js), allow every published AI user agent:
GPTBot,OAI-SearchBot,ChatGPT-UserPerplexityBot,Perplexity-UserClaudeBot,Claude-Web,anthropic-aiGoogle-Extended,Applebot-ExtendedCCBot,Bytespider,Amazonbot
Verify with LuminaForge robots.txt as a reference implementation.
Step 2: Publish llms.txt and llms-full.txt
Place a compact brief at /llms.txt and an extended entity reference at /llms-full.txt. Include company name, services, canonical URLs, FAQ summaries, and citable statistics.
LLMs treat these files as a curated map of your domain — similar to how search engines use sitemaps.
Step 3: Install comprehensive JSON-LD
At minimum:
Organization+WebSiteon the root layoutFAQPageon every page with meaningful Q&ABreadcrumbListon all nested routesArticleon blog posts and case studiesServiceon service detail pages
Validate with Google's Rich Results Test before shipping.
Step 4: Write for extraction, not decoration
LLMs quote:
- Lists (ordered and unordered)
- Tables and definition lists (
<dl>) - First paragraphs under headings
- Explicit entity language — spell out company name, services, locations
They struggle with:
- Vague pronouns ("we believe…")
- Stats buried in prose without sources
- FAQ questions written as keyword fragments
Use cite attributes on statistics. Link to authoritative sources.
How each AI platform cites sources
Policies differ — your crawler rules and content structure should account for all of them.
| Platform | Live web use | Citation pattern |
|---|---|---|
| Perplexity | Real-time search on by default | Source links common in answer footers |
| Google AI Overviews | Grounded in Google Search index | Links to indexed pages in overview cards |
| ChatGPT | Browse / search depends on mode | Citations vary; brand mentions may omit links |
| Claude | Browse optional | Citations vary by query and plan |
| Grok | Real-time X / web mix | Entity confusion risk for new brands — track alternatives |
LuminaForge publishes weekly checks for Gemini, Grok, and Perplexity on the transparency dashboard and documents crawler access in AI crawler policy for GEO.
Step 5: Build a query bank and track weekly
Define 20–50 conversational questions you want to win. Run them weekly through ChatGPT, Perplexity, Grok, and Claude. Log:
- Citation presence — did your domain appear?
- Citation position — first source or buried?
- Snippet context — what was quoted?
LuminaForge publishes live snapshots on the transparency dashboard. Client portals include the same weekly delta reports.
Step 6: Ship performance that crawlers respect
Slow pages get deprioritized. We engineer Core Web Vitals in the green on mobile and Lighthouse Performance in the high 90s on production marketing routes — verified on our transparency dashboard. Speed is a trust signal for both Google and LLM crawlers indexing your content.
Common mistakes
| Mistake | Fix |
|---|---|
| Blocking GPTBot in robots.txt | Explicit allow rules for all AI crawlers |
| No llms.txt | Publish compact + full brief at domain root |
| Keyword-stuffed FAQ | Write questions as full conversational sentences |
| No measurement | Weekly query bank + public citation log |
Next steps
Read What is GEO? for the conceptual primer, SEO vs GEO vs AEO for how the disciplines fit together, or book a strategy call when you want LuminaForge to run the audit on your domain.
Like this kind of work?
Bring it to your site.
