The Short Version

Three changes take about a week and tend to move the needle on most pages: schema markup, quotable section leads, and an llms.txt file. The other nine steps compound on top. The full checklist below maps each step to one of the five GEO signal families.

The 5 signal families (60-second recap)

Generative engines evaluate five clusters of signals when deciding which pages to cite. The definitional pillar explains each in depth; here's the version you need to act on:

The 5 families generative engines weigh

  • Reachability: can the bot reach the page (llms.txt, AI-bot allowlist, server-side rendering)
  • Legibility: does the bot understand who you are (schema, entity names, headings)
  • Quotability: is the content structured to be lifted (FAQ, definitions, step lists)
  • Credibility: is the page trustworthy as a source (E-E-A-T, evidence, named author)
  • Cluster Depth: does your site show topic authority (hub-and-spoke, no cannibalization)

The checklist below groups the 12 steps into three action buckets (structural, content, site-level) and tags each bucket with the family it serves.

Structural signals: schema, semantic HTML, quotable leads

Serves Legibility + Quotability. Time to implement: 1-3 days per page. Highest leverage of the three buckets.

1Add the right schema markup

Apply Article, FAQPage, Author, Organization, and BreadcrumbList to every page. Add DefinedTerm for definitional content and HowTo for step-based content. Schema is how the engine identifies what kind of content the page contains. Without it, the engine has to guess. Full type definitions live at schema.org, and Google's structured data documentation lists which types are eligible for rich results.

2Open every section with the answer

The first one to two sentences of each section should answer the question that section is about. Then explain. Generative engines lift the first quotable sentence per section; if the answer is in paragraph four, you don't get cited.

3Use semantic HTML hierarchy

H1 → H2 → H3 with no skipped levels. Ordered lists for steps. Tables for comparisons. Semantic HTML tells the engine which chunks are quotable as standalone passages. A wall of <div> tags reads as undifferentiated text.

4Build at least one quotable lead per ~200 words

Re-read each section. If the first one or two sentences can't stand alone as a quote, rewrite them. Markup alone won't fix unquotable prose.

Content signals: named expert, original data, sourcing, dates

Serves Credibility. Time to implement: 2-4 weeks per page (research-bound). Hardest to fake.

5Add named authors with credentialed bios

Every published page names its author and links to a bio page with credentials, prior work, and a way to verify the person exists. Anonymous content gets paraphrased; named experts get cited by name.

6Include at least one piece of original data

Original analysis, primary research, a benchmark only your site has, or a comparison only you've run. Generative engines preference pages that contribute new signal over pages that summarize others. Even a single original benchmark gives engines a reason to quote your page over the summary competitor. What qualifies: a benchmark you ran across the tools in your category, a survey of your own customers with the sample size stated, or an aggregate pattern from your product's anonymized usage data.

7Cite sources by name and link

Sourcing literacy is itself a credibility signal. When you cite a study, name the source and link the citation. Engines use citation patterns as a proxy for whether the page is operating in good faith.

8Date-stamp every page

An undated page has no freshness signal. Add a visible date in the page header and dateModified in schema. Engines preference recent + dated sources. Update the dateModified when you make substantive content changes, not just typo fixes.

Fanout alignment: the selection gate before ChatGPT reads anything

Serves Quotability + Legibility. Time to implement: hours to days (title and URL changes). The signal most sites overlook because it operates before content quality is ever evaluated.

ChatGPT does not evaluate every page it could cite. Before reading anything, it generates a set of sub-questions for your query (the "fanout" step), then selects which pages to open based on how closely their title and URL slug match those sub-questions. A page that answers the query perfectly but whose title was written for a single primary keyword can fail this gate entirely and never get considered.

Ahrefs studied 300,000+ ChatGPT queries (Feb 2025 snapshot) and found the gap is measurable: cited pages averaged a cosine similarity of 0.656 between their title and the fanout sub-questions, against 0.484 for non-cited pages. URL slug alignment followed the same pattern, with cited pages at 89.78% vs. 81.11% for non-cited. (Ahrefs, Feb 2025; ChatGPT only; correlation, not causation.)

Check your titles and slugs against the sub-questions, not the primary query

Run your target query in ChatGPT and note what follow-up questions it generates before answering. If your page title matches the primary query keyword but not those sub-questions, you have a fanout gap. Rewrite the title to cover the sub-question framing that best fits your content, and confirm your URL slug uses the same terminology. SEMalytics' SEMalytics Monitor measures fanout alignment weekly by scoring your tracked pages against the sub-questions their target queries expand into, so you catch drift before it shows up as a citation drop.

Site-level signals: llms.txt, allowlist, cluster depth

Serves Reachability + Cluster Depth. Time to implement: 1 day for llms.txt + robots; 3-6 months for cluster depth. The slowest-moving but ceiling-determining bucket.

9Add llms.txt at your site root

Place llms.txt at /llms.txt with structured pointers to your highest-value pages by category. This is the LLM-era robots.txt: a machine-readable signal of which pages AI crawlers should prioritize. Missing or misconfigured llms.txt is the new "we forgot to submit our sitemap." The format is specified at llmstxt.org: a Markdown file with an H1 site name, a short summary, and H2-grouped link lists with one-line descriptions of your top pages by category.

10Allowlist AI crawlers in robots.txt

Explicitly allow GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and Bytespider. Sites that block them by default (often unintentionally, inherited from a CDN template) stay out of the training and retrieval indexes the engines use. Crawler names and user-agent strings change as engines update their bots; check each engine's official bot documentation for the current list before editing robots.txt.

11Build hub-and-spoke clusters

One pillar page plus three to five related pages per priority topic, all cross-linked. Cluster depth is how engines decide which sites are topic authorities. A single excellent page on a topic the rest of your site ignores ranks worse than the same page surrounded by a well-linked cluster.

12Audit for keyword cannibalization

Two pages competing for the same intent dilute each other. Pick a winner per intent, consolidate or redirect the rest. The hidden cannibalization cases (three pages all targeting "best X" with slightly different framings) are the ones that quietly cap citation share.

Verifying you appear in AI Overviews

The checklist is leading-indicator work. The lagging indicator is whether your pages actually get cited. Three verification methods, in increasing order of fidelity:

  1. Manual spot-check. Google your target query in incognito. Screenshot any AI Overview that appears. Note which sources it cites. Repeat the query in ChatGPT and Perplexity to see whether the citation pattern differs.
  2. Tracked query set. Pick 10-25 priority queries. Spot-check monthly. Track citation presence and which competitors are being cited when you aren't. The competitor citations matter more than your absences: they tell you which signal that site has that yours doesn't.
  3. Automated audit. A GEO audit tool runs the verification at scale across multiple engines and signals. The SEMalytics free GEO audit (our own tool; SEMalytics publishes this guide) tracks AI Overview presence across your target queries and maps each absence back to which of the 5 signal families is the likely cause.

Run the audit on a single page in under 60 seconds. Scores all 12 steps automatically. No credit card. The findings tell you which family is the blocker.

Run a Free GEO Audit →

FAQ

How long does it take to start ranking in AI Overviews after publishing these changes?

Structural and content fixes (schema, quotable leads, author bios) can show up in AI Overview citations within days of being re-crawled, often inside two weeks. Site-level fixes (cluster depth, cannibalization cleanup) compound over months because they depend on the engine re-evaluating your topical authority. Plan on 30-90 days before citation presence on your target queries shifts noticeably.

Which AI engines does this checklist cover?

The signals overlap across Google AI Overview, ChatGPT, Claude, and Perplexity. Google AI Overview is the strictest on schema and E-E-A-T because it inherits Google's quality-rater rubric. ChatGPT and Claude weight crawl access and citation-worthiness more visibly. Perplexity is the most aggressive about citing sources by name. A page that passes this checklist competes for citation across all four.

Do I need to do all 12 steps, or can I start with a few?

Start with schema, quotable leads, and llms.txt. Those three unblock the rest, without them, the other nine steps have nothing to build on.

How do I check if my page is currently appearing in AI Overviews?

Manual spot-check: Google your target query in incognito, screenshot any AI Overview that appears, and note which sources it cites. Repeat the query in ChatGPT and Perplexity to compare. Automated check: the SEMalytics free GEO audit (our own tool) tracks AI Overview presence for your target keywords across multiple engines.

Will ranking in AI Overviews cannibalize my organic clicks?

Sometimes. AI Overviews can answer the query without sending a click: the zero-click outcome. Treat being cited as a top-of-funnel touch even without the click, and reserve depth content (gated assets, detailed playbooks, calculators) for queries where the user has to click through to get the value. Pure definitional traffic was already partially zero-click via featured snippets; AI Overviews extend the pattern.