Why isn't my page cited in AI Overviews even if it's in the top 10
Top-10 rank does not assign an AI Overview cite. The unit may not fire, snippets may be blocked, the extract is thin, or a competitor is easier to quote.
William Spurlock Founder — Spurlock Studios 35 MIN
A page can sit in Google’s top 10 and still never appear as a supporting link in an AI Overview. Classic rank says the URL is relevant enough for a blue link. The Overview still has to fire, still has to be allowed to quote you, still has to find a passage it can lift without inventing glue, and still has to prefer that passage over a competitor’s. Those are different jobs. Ranking did one of them. Nobody can sell you a guaranteed Overview slot for finishing the others.
This spoke names the six mechanisms that keep a ranking URL off the cite list. The operator diagnostic — eligibility versus extractability, quote-tests, fan-out coverage, re-test cadence — lives in ranked but missing AI Overviews. Eligibility and quotation mechanics live in get cited in AI Overviews. Strategy sits under the Answer Engine Optimization playbook. Do not run all three as one rewrite.
The short answer
- Top-10 placement proves relevance to classic Search. It does not assign a supporting link inside an Overview.
- The unit often does not fire. Google’s AI features page says Overviews show when they are additive to classic Search, and they often do not trigger.
- Six mechanisms explain most “we rank, we still lost” tickets: Overview did not fire, snippet ineligible, thin extract, entity mismatch, competitor more citeable, recrawl lag.
- Ahrefs’ March 2026 refresh found only about 38% of Overview citations also sat in the same-query top 10. Rank is a candidate signal. It is not the cite.
- Name the mechanism before you buy links or rewrite the brand. Mixing them is how a ranking URL stays Overview-invisible for a quarter.
Why doesn’t top-10 rank assign an Overview citation?
Because the Overview is not a restyled SERP. Google documents that a supporting link must be indexed and eligible to show in Search with a snippet, and that Overviews and AI Mode may use query fan-out — related searches across subtopics — then attach a wider set of links than the classic ten. Passage selection is not “whoever won position three.”
Ahrefs measured same-query overlap twice. In July 2025, about 76% of cited pages sat in the top 10. In March 2026, on 863K SERPs and 4M Overview URLs, only 37.9% of cited URLs also appeared in the first 10 blocks. The rest split almost evenly between positions 11–100 (31.2%) and beyond the top 100 (31.0%). Ahrefs also improved how it detects citations between those studies, so treat the drop as directional, not a clean like-for-like collapse. The current reading still stands: most cited URLs are not the same-query top 10.
| You observe | Mechanism, not a slogan | First named job |
|---|---|---|
| Rank 1–10, no Overview on the query | Overview did not fire | Confirm the unit exists on that locale and device |
| Rank 1–10, Overview cites others | You cleared classic relevance; you lost quotation or selection | Snippet, extract, entity, or competitor citeability |
| Rank 1–10, you rewrote yesterday, still missing | Recrawl lag | Compare last crawl date to the HTML you think Google has |
| Rank 1, Overview cites a YouTube URL | Fan-out pulled a different surface | Transcript plus an on-page answer, not a Slack rant |
| Rank 4, Overview names a competitor with a worse DR | Competitor more citeable | Their passage stands alone; yours does not |
If leadership only watches average position, they will never see this failure. Position can stay flat while citation status never starts. That gap is the KPI. I have been SEO certified since 2021. I still refuse to treat a blue-link dashboard as Overview proof.
Did the Overview even fire?
Often, no. That is the most expensive mix-up on this topic. Teams rewrite a ranking page for a query that never generates an Overview, then declare AEO “doesn’t work.” Google’s floor is explicit: Overviews are only shown when systems decide they are additive, and they often do not trigger. Absence of the unit is not a citation failure. Absence of your URL when the unit does fire is.
Confirm the feature before you touch copy.
- Search the exact query on the device and locale you sell in. Incognito is fine. One screenshot is anecdote.
- Repeat the query twice in the same session. Units flicker. Log both outcomes.
- Note whether you got an Overview, a Knowledge-style unit with few links, or ten blue links.
- Check a second locale if you sell internationally. US desktop is not “Google.”
- Label the row
Overview absentorOverview present. Do not start a content sprint on the first label.
| Log label | What it means | What you do not do |
|---|---|---|
| Overview absent | Feature did not fire for that query / locale / device | Spend editorial time chasing a cite that cannot exist |
| Overview present, we lost | Feature fired; you were not selected | Name one of the five remaining mechanisms |
| Overview present, we cited | Win | Freeze the URL. Do not “optimize” a winning passage into mush |
| Overview present, wrong URL of ours | Internal cannibal or a better passage elsewhere | Strengthen the cited URL or consolidate |
| Overview present, then gone next week | Volatility | Keep the panel. Do not rewrite on one miss |
Query class matters more than your rank screenshot. Navigational queries (“[brand] login”) often stay classic results. Broad “what is / how to / vs” queries are where Overviews show up enough to measure. Google does not publish a trigger formula. I will not invent one. If the unit is not there, you do not have a ranking-versus-citation problem yet.
| Query shape | Overview often fires? | What a top-10 URL proves | What it does not prove |
|---|---|---|---|
| Navigational brand | Rarely | You own the brand SERP | That AEO is “broken” |
| Local pack dominant | Inconsistent | Maps and GBP are in play | That the blog post should be cited |
| Informational how-to | Often | You are in the candidate pool | That your passage was selected |
| Comparison / vs | Often | Relevance to the pair | That you shipped a liftable table |
| YMYL medical or legal | Variable, stricter | You ranked | That the unit will quote a marketing page |
| Transactional product | Shopping and listings may dominate | Classic relevance | An Overview supporting-link win |
Chasing citation on queries that never generate an Overview burns the week. Put that effort into queries where competitors are already being credited. That is the only set where you can prove a before and after.
Device and locale are not footnotes. A US desktop Overview can be absent on mobile, or present in English and missing in the market you actually sell. Log those dimensions on the same row as the query. “I checked Google” with no locale is not a measurement.
Why can a ranking page still be snippet-ineligible?
Because classic rank can survive on titles, links, and a thin preview while quotation is blocked. Google’s AI features page is blunt: a supporting link has to be eligible to show in Search with a snippet. The robots meta spec is equally blunt: nosnippet applies to web search, Images, Discover, AI Overviews, and AI Mode, and it prevents the content from being used as a direct input for Overviews and AI Mode. Rankings can live. Quotation cannot.
max-snippet:0 is equivalent to nosnippet. Combined rules take the more restrictive instruction. data-nosnippet on the hero, pricing table, or FAQ that contains the actual answer hides the only span worth lifting. A property-level Search Console control that excludes Search generative AI features is a different switch — still eligibility, still not a rank bug.
This page is not the full preview-control diagnostic. That checklist lives on the ranked-but-missing spoke. The mechanism here is simpler: you can be top 10 and legally, accidentally, or “anti-AI” opted out of being quoted.
| Control | What it does to Overviews | Typical accident on a ranking URL |
|---|---|---|
nosnippet | Blocks textual quotation and Overview input | “Hide ugly snippets” sitewide during a brand review |
max-snippet:0 | Same class of problem as nosnippet | Legal leftover from a 2023 preview-length ticket |
max-snippet:20 | Starves the unit of a usable span | Someone thought short snippets would force clicks |
data-nosnippet on the answer | Hides the only paragraph worth quoting | Cookie-banner wrapper reused on <main> |
| Property excluded from Search generative AI | Sitewide opt-out of those features | A security toggle nobody mapped to Overviews |
Normal index,follow, no preview cap | Fine | Default you should verify in crawled HTML |
Check the HTML URL Inspection says Googlebot received, not the CMS UI. If the crawled copy still has the cap, the “we turned it off” ticket is incomplete. Google-Extended is Gemini training and grounding outside Search. Blocking it does not opt you out of Overviews. Blocking Googlebot or snippets does.
- Page is indexed (Search Console: URL is on Google)
- No
noindexin HTML orX-Robots-Tag - No
nosnippetin robots meta - No
max-snippet:0 - Critical answer text is not wrapped in
data-nosnippet - Property-level generative AI control is not set to exclude
- Canonical points at the URL you think you earned
If any of those fail, stop the rewrite. Eligibility is binary. Extractability is editorial. Mixing the buckets is how a team spends six weeks polishing a page that is wearing nosnippet.
What is a thin extract on a long page?
A thin extract is a ranking URL whose first usable answer cannot stand alone. Word count does not save you. A 3,200-word manifesto that never states the job, the ICP, the outcome, and the caveat in one 40–80 word span is unquotable. Overviews lift passages. They do not reconstruct your brand story.
Google’s generative AI optimization guide says you do not need to chunk pages into tiny AI pieces and you do not need to rewrite only for machines. That is not permission to bury the answer under three screens of mythology. Important content still has to be available in textual form. A hero reel with no transcript is a film, not a citation candidate.
Fail (ranks, hard to cite):
In a world where teams juggle tools, our platform was built from day one to empower modern operators with everything they need across the journey.
Pass (same page job, extractable):
[Product] is a [category] for [ICP] that handles [job]. Use it when you need [outcome]; skip it if you only need [narrower tool]. Pricing starts at [band] for [seat model].
Ship the second pattern above the fold. Keep the voice in the paragraphs that follow. Overviews borrow the lead, not the manifesto.
| Symptom on a top-10 URL | What the Overview actually needs | What teams ship instead |
|---|---|---|
| Answer appears after three screens of origin story | A 40–80 word standalone lead | Founder memoir, then a CTA |
| H2s are clever brand phrases | H2s that match sub-questions | “Our difference,” “The journey” |
| Pricing is a vibe | A number with a unit and a date | “Let’s talk” as the only offer fact |
| Steps live in a PDF or a webinar | A numbered procedure in HTML | A gated deck |
| Comparison is a rant | A table of criteria a model can lift | A 900-word essay with one H2 |
| FAQ accordion empty until click | Answer HTML without waiting on hydration | A React island Googlebot may see late |
JS-only body copy is a thin-extract cousin. Google can render JavaScript, and the JavaScript SEO basics still apply. Rendering is not guaranteed on the first pass. Classic SEO may still rank the URL from titles and a partially rendered shell. Overview assembly prefers cleaner text nodes. If curl cannot find the sentence you expect to be quoted, do not file the ticket as “we need more words.”
Rewrite rules that survive extraction:
- Open with a direct answer to the primary query.
- Put steps in a numbered list or a table of inputs → outputs.
- Define jargon in one sentence before you use it.
- Keep claims dated or sourced when you use numbers.
- Put the caveats next to the claim, not in a footer nobody reaches.
A thin extract is an editorial fail on a ranking URL. More backlinks will not thicken it.
Thicken the ranking URL in place before you open a cluster ticket:
- Screenshot the Overview on a query where it already fires. List the bullets it shows.
- For each bullet, find the sentence on your page that should answer it. If you cannot point at one, that bullet is a gap.
- Write a 40–80 word lead under an H2 that is the question, not a slogan.
- Add one structured object the unit can lift: a table, a numbered procedure, or a dated facts list.
- Leave the URL alone for a recrawl cycle. Do not split it into twins to manufacture coverage.
| Before (spread) | After (concentrated) |
|---|---|
| Definition in paragraph 12, caveat in the footer | Definition + caveat in the opening span |
| Price on a PDF, category on the homepage | Price, category, and ICP in one table row |
| Steps in a Loom with no transcript | Numbered steps in HTML under the video |
| “Contact us for details” as the offer | Scope in / out / owner in three columns |
| One H2 for 2,000 words | H2 per Overview bullet you actually logged |
Do not thicken by adding synonyms. Do not thicken by pasting the competitor’s prose. Do thicken by putting the answer where a model can cut it without writing glue. If the Overview’s bullets are all on-page topics you can add as H2s, keep one URL. If each bullet wants a different URL a buyer would bookmark, that is a cluster job — and it is still not a link job.
How does entity mismatch keep you off the cite list?
Entity mismatch is when the page ranks for a string, but the facts Google can attach to your brand do not agree with each other — or they agree with a competitor’s cleaner packet. Overviews synthesize. If your homepage says “AI studio,” your About page says “web design agency,” your Organization JSON-LD still lists last year’s legal name, and Google Business Profile lists a city you left in 2024, the unit has no stable entity to credit. It will cite the Wikipedia row, the vendor doc, or the competitor whose About, schema, and offer sentence all say the same thing.
Google’s AI-features guidance still asks you to keep structured data matching the visible text, and to keep Merchant Center and Business Profile information up to date. The Organization structured data docs are for that packet, not for a secret Overview type. There is no special schema.org type for generative AI search. Lying JSON-LD is worse than none.
This is not an E-E-A-T score. There is no E-E-A-T API. The mechanism is narrower: the Overview cannot name you without picking a fact, and your facts fight.
| Surface | Fact that must match | What mismatch looks like on a ranking URL |
|---|---|---|
| Homepage lead | Legal or trading name, offer, who it is for | Slogan with no noun Google can attach |
| About / contact | Same name, same locations, same people | Three cities, two DBAs, one abandoned founder bio |
| Organization JSON-LD | name, url, sameAs, logo that are true | Schema plugin dumping a template LLC |
| Google Business Profile | NAP, category, hours | A ranking site pointing at a stale Maps listing |
| Product or service page | Category noun a buyer would type | Internal codename the SERP never uses |
| Author byline | A person who exists on the page | “Team” as the only author on a YMYL claim |
Fix the packet before you write another blog post.
- One canonical name on homepage, About, footer, and schema
-
sameAsURLs that actually resolve to you (LinkedIn, Wikipedia, GitHub, Profiles you own) - Offer sentence uses the same category noun as the query you rank for
- Locations and service areas match GBP where local intent exists
- Author names in HTML match the visible byline, not a CMS leftover
- No conflicting prices across the ranking URL, pricing page, and PDF
If the Overview cites a competitor on a definition you also rank for, read their first 80 words and their About. You will usually find a cleaner entity, not a stronger Domain Rating. I have shipped hundreds of production sites. The ones that start getting named after a “content sprint” usually also shipped a matching About and schema in the same month. Credit the packet.
Off-site corroboration is a later layer, not a substitute for the on-site packet. If Wikipedia, a vendor directory, and your homepage disagree on the category noun, the Overview will pick the source that already looks consistent. Fixing your JSON-LD while leaving the homepage slogan intact does not count as a packet.
| Conflict | What the unit is likely to do | Operator move |
|---|---|---|
Homepage slogan vs Organization name | Skip naming you, or name the legal entity nobody searches | One name, used everywhere |
| You rank for “automation agency”; schema says “marketing studio” | Cite a competitor whose category noun matches the query | Change the noun or change the query you intend to win |
| GBP city ≠ on-page city | Local Overview cites the Maps-consistent competitor | Align NAP; do not write another city blog |
sameAs points at a dead LinkedIn or a different company | Entity graph stays noisy | Delete bad sameAs. Add only URLs you own |
| Author in JSON-LD, “Team” in the byline | YMYL claim looks unowned | Named person in HTML and schema, or drop the claim |
Entity mismatch is not “we need a Wikipedia page.” A Wikipedia row with a different category than your About will make the problem louder. Get the on-site facts identical first. Wikipedia and Wikidata are corroboration, not a patch over a lying homepage.
Why does a competitor win from a lower rank?
Because citeability is not position. Ahrefs’ 2026 overlap drop is what you would expect if fan-out is pulling from related SERPs: the cited URL may be a mid-pack page on a sibling query, or a docs URL that never ranks for your keyword, and still be the easiest passage to lift. Google’s optimization guide describes fan-out with the lawn-weeds example — herbicides, non-chemical removal, prevention — concurrent related searches, then a synthesized answer. Your page can own the head term and still lose every sub-question.
A competitor is “more citeable” when their page hands over a faithful span for the sub-question the Overview is actually answering. Ugly docs beat pretty marketing. A dated table beats a 2,000-word vibe. A numbered procedure beats a hero reel.
| Head query you rank for | What the Overview often needs | Why a lower-rank URL wins |
|---|---|---|
| “what is [category]” | Who it is for, what it costs, what breaks | They have a definition plus a skip-if paragraph |
| “best [tool] for [job]” | Alternatives, limits, switching cost | They shipped a criteria table you refused to publish |
| “how to [outcome]” | Prerequisites, time, tools, risks | They have a numbered procedure with inputs |
| “[brand] vs [brand]” | Side-by-side rows | They answered the comparison; you answered the brand |
| Local + category | NAP facts that match Maps | Their GBP and on-page city agree |
Response options, in order:
- Expand the ranking URL with answer-first sections for each recurring Overview bullet you can log.
- Split into a tight cluster and interlink when intents truly diverge. Do not build doorway clones.
- Earn a corroborating mention on a domain Overviews already prefer (standards body, vendor docs, news) when the cited set is never going to be “another blog on your host.”
- Do not buy links as the first move if you are already stably top 10. Links did their job: you are relevant enough to rank.
Google’s optimization guide says creating a page per fan-out variation primarily to manipulate generative responses is scaled content abuse. Coverage is not “more synonyms.” It is answering the questions the Overview already prints. If you cannot log those questions because the unit did not fire, you are back at mechanism one.
Citeability is observable. Score the competitor URL against yours on the same query, same day:
- Their first 80 words answer the query without the rest of the page
- They have a table, steps, or dated facts you lack
- Their category noun matches the query; yours is a brand phrase
- Their page is HTML text; yours is a reel or a gated PDF
- They cover the Overview bullets; you cover the head term
- Their About / schema / offer sentence agree; yours fight
- They are a primary source (docs, study, spec) the unit prefers to marketing copy
If they win four or more of those and you are already top 10, you do not have a popularity problem. You have a passage problem. Steal the structure. Do not scrape their sentences. A criteria table you actually believe is allowed. A cloned listicle is spam policy with extra steps.
YouTube is a special case in Ahrefs’ 2026 set: among citations that did not rank in the top 100 for the same keyword, about 18% were YouTube URLs, and YouTube was about 6% of all Overview citations in that dataset. Treat those numbers as Ahrefs’ measurement, not Google’s. The operator lesson is smaller: a transcript plus an on-page answer beats complaining that “video shouldn’t count.”
How does recrawl lag fake a still-missing diagnosis?
Recrawl lag is when you already fixed the HTML and Google is still quoting last month’s extract — or still has no extract — while classic rank looks fine because titles and links did not change. Rank can persist on old signals. Citation needs the new passage in the index Google’s generative stack actually reads.
Google’s AI-features troubleshooting says crawling can take several days to several months, depending on how often systems decide a page needs to be refreshed. You can request a recrawl. Requesting does not guarantee inclusion, instantly or at all. Search Console indexing requests typically take a day or so and still do not guarantee the index. There is a daily inspect cap. Spamming the same URL does not make it faster.
This is not a refresh-cadence playbook. That clock lives elsewhere. The mechanism here is diagnostic: a ranking URL that “still isn’t cited” three days after a rewrite is often a crawl clock, not a failed AEO theory.
| Clock | What Google documents | What operators invent |
|---|---|---|
| Recrawl after preview-control change | Days to months | “If it isn’t cited tomorrow, the fix failed” |
| URL Inspection request | Typically a day or so; can take longer; no index guarantee | A submit-to-Overviews API |
| Duplicate requests on one URL | Will not get it crawled faster | Hitting Request indexing hourly |
Sitemap lastmod bump with no HTML change | Not a citation SLA | “We refreshed, so we should be cited” |
| IndexNow ping (Bing) | Not a Google Overview switch | “We pinged, so Google has the new lead” |
Do this after a real HTML change on a money URL:
- Confirm the live HTML contains the sentence you want quoted (
curl, not only DevTools after hydration). - Inspect the URL in Search Console. Note last crawl date and whether crawled HTML includes that sentence.
- Request indexing once if the crawled HTML is stale.
- Log the request date. Re-check the frozen query on day 7 / 14 / 30. Not the next morning.
- If crawled HTML still lacks the sentence after a wait window, you have a bot, CDN, or render split — not “Google hates us.”
Declaring a rewrite dead on day two is how teams revert a good lead and ship the manifesto again. Recrawl lag looks like failure. It is a queue.
Split lag from a bot/CDN lie. If live HTML has the new lead and crawled HTML does not, you are waiting or you are serving Googlebot a different page. If neither has the lead, the rewrite never shipped. If both have the lead and you still lose after a wait window, you have moved off recrawl lag onto thin extract, entity mismatch, or competitor citeability. Do not keep the recrawl label forever.
| Live HTML | Crawled HTML | Last crawl | Label |
|---|---|---|---|
| New lead present | Old manifesto | 18 days ago | Recrawl lag — request once, wait |
| New lead present | New lead present | This week | Not lag. Name another mechanism |
| New lead present | Missing / different | Recent | Bot, geo, or CDN split. Fix serving |
| New lead absent | New lead absent | Any | The rewrite is not in production |
| Preview control removed live | nosnippet still crawled | Stale | Lag on eligibility, not on copy |
CDN and WAF rules that cookie-wall Googlebot, or that serve a slim shell to “bots,” will keep rank on the bits Google already trusted and starve the new extract. The technical requirements still apply: Googlebot can fetch a 200, the file type is supported, the page is not noindex. A 200 that is not the page a user sees is how recrawl lag becomes a permanent split.
How is passage selection different from classic ranking?
Classic ranking scores a URL against a query. Passage selection scores a span against a synthesized answer that may have been built from several related queries. You can win the first contest and lose the second on the same SERP. That is the whole point of this spoke.
Google’s AI-features page says models identify more supporting pages while responses are being generated, which is why the link set can be wider and more diverse than classic web search. AI Mode and AI Overviews may use different models and techniques, so the link set will vary. John Mueller’s May 2025 Search Central note on succeeding in AI search still points at unique content, page experience, crawl access, preview controls, and structured data that matches what people see. None of that is “raise DR, then you get the cite.”
| Classic rank cares about | Passage selection cares about | Where a top-10 URL still loses |
|---|---|---|
| Query–document relevance | A span that answers one sub-question faithfully | Relevant page, no standalone span |
| Links, crawl, usefulness signals | Snippet eligibility so the span can be used | nosnippet on a ranking template |
| Whole-page topical coverage | The specific fan-out the unit actually ran | You cover the head term only |
| Stable URL | Facts that do not contradict other surfaces | Entity mismatch across About / schema / GBP |
| Position on this query | Citeable pages on related queries | Competitor docs from a sibling SERP |
| Fresh crawl for ranking | Fresh crawl of the extractable HTML | Recrawl lag on the new lead |
Treat those as two scoreboards. Average position is board one. Citation on a frozen query panel is board two. Search Console’s generative AI performance report — where the property has it — logs impressions when links to your site were shown in a generative AI feature. Google’s help notes you may not see the report if impressions are too sparse or the site is excluded from Search generative AI features. Impressions are directional. They are not a slot guarantee, and they do not name which mechanism you lost.
I have spent 20,000+ hours architecting agentic systems. Retrieval plus generation is the same split there: the retriever can surface the right document and the generator can still quote the wrong paragraph. Overviews are that failure, in Search chrome.
Fan-out is why same-query top 10 is a weak predictor. The unit may be answering a bundle. Your rank on the head term does not score you on the herbicide question, the prevention question, or the “skip if” question. Cover those as real sections on the ranking URL, or as honest spokes, not as doorway clones. The ranked-but-missing spoke is the diagnostic for coverage gaps. Here the mechanism is enough: passage selection can ignore a #3 URL that never produced a span for the sub-search the model actually ran.
What does the failure mode look like when you treat rank as proof?
The failure mode is a quarter of work that cannot move the cite because the team used the wrong mechanism as the brief.
A real shape I see: a money URL sits at position 4 for a buyer query. Leadership watches average position. An Overview starts firing. It cites a competitor how-to, a vendor doc, and a YouTube transcript. Someone buys a link package. Position holds. Citation does not start. Six weeks later the page still opens with a manifesto, the template still ships max-snippet:0 from a legal review, and GBP still lists last year’s city. Rank looked like proof. Rank was the one layer that was already fine.
Cost: editorial time, link budget, and a board that now believes “AEO doesn’t work.” The Overview never owed you a slot. You never named why you lost.
| Wrong brief | Mechanism you actually had | What it costs |
|---|---|---|
| “We rank, so write more blog posts” | Thin extract on the money URL | A calendar of unquotable twins |
| “We rank, so buy DR” | Snippet ineligible or competitor more citeable | Links on a page Google cannot quote |
| “AEO is broken, the unit never shows us” | Overview did not fire | Rewrites on queries that never generate a unit |
| “We rewrote Friday, still missing Monday” | Recrawl lag | Reverting a good lead |
| “Google doesn’t know who we are” | Entity mismatch | Schema soup that still contradicts About |
| “Just add FAQ schema” | Thin extract plus fan-out | Markup on a page with no standalone answer |
Google’s optimization guide is explicit that structured data is not required for generative AI search and that there is no special schema.org type for it. FAQ markup can help clarity. It does not buy inclusion. Treating rank as proof is how that myth survives: “we’re already page one, so the missing piece must be a tag.”
Do this instead when rank is already top 10:
- Confirm the Overview fired. If it did not, pick a query where it does.
- Confirm snippet eligibility in crawled HTML.
- Quote-test the lead. If a stranger cannot repeat the answer, rewrite the lead, not the blog calendar.
- Diff your entity packet against the cited competitor.
- Wait a recrawl window before you declare the rewrite dead.
Bravery is not a ranking screenshot.
How do you log the six mechanisms without mixing them?
With a frozen query panel and one label per miss. Mixing labels is how a recrawl-lag URL gets a new manifesto and a snippet-blocked URL gets another blog post.
Freeze 10–20 queries you actually sell. Same wording each week. Same locale and device. Screenshot or export. Score four columns: Overview present (Y/N), our URL cited (Y/N), cited hosts, mechanism if you lost.
| Query (frozen) | Overview? | We cited? | If lost, pick one mechanism | Evidence |
|---|---|---|---|---|
| [buyer query A] | Y/N | Y/N | Did not fire / snippet / thin extract / entity / competitor / recrawl | Screenshot + last crawl date |
| [buyer query B] | Y/N | Y/N | one label only | Crawled HTML vs live HTML |
| [comparison query] | Y/N | Y/N | one label only | Competitor lead vs yours |
| [local + category] | Y/N | Y/N | one label only | GBP vs on-page NAP |
Rules for the log:
- One mechanism per miss. If two might apply, pick the binary one first (did not fire, then snippet).
- Do not relabel a recrawl-lag row as “thin extract” on day three.
- Do not count ChatGPT or Perplexity as Overview proof. Different engines, different retrieval.
- Search Console generative AI impressions support the log. They do not replace it. They do not list the cited competitor.
- Protect a URL that is already cited. A “fresh voice” pass can delete the span Google was using.
If you only have a week, you will not finish a 20-query panel. Finish five money queries properly. A noisy 40-query sheet with no mechanism labels is a mood board.
Tie the log to Search Console without letting Search Console become the log. The Performance report’s Web search type includes AI features in overall traffic. The dedicated generative AI performance report counts impressions when links to your site were shown in a generative AI feature. Follow-ups are new queries. Search Labs experiments are not included. None of that tells you the Overview was absent, or that a competitor’s table beat your manifesto. Keep the panel.
| Cadence | What you log | What you do not do |
|---|---|---|
| Day 0 (baseline) | Overview Y/N, cited hosts, crawled HTML vs live, last crawl date | Rewrite before you have a label |
| Day 7 | Same queries. Mechanism still valid? | Revert a good lead because the unit flickered |
| Day 14 | Citation move, or still lag vs still thin | Open a second URL while eligibility is still blocked |
| Day 30 | Keep, kill, or expand the page | Declare AEO dead on one screenshot |
| Monthly | Panel of 10–20 money queries | Swap query wording and pretend it is a trend |
That cadence is how you measure whether the top-10 URL is getting Overview citations. Average position will not tell you. Informational CTR will not tell you. A vendor screenshot from a VPN in another country will not tell you.
Which ranking pages should you fix first?
Fix the URLs that already rank for buyer queries where an Overview fires and you lose. Do not start with a blog calendar. Do not start with a URL that ranks for a query that never generates a unit. Do not start with a vanity thought-leadership post that is not in the top 10 for anything a buyer types.
Google’s helpful-content guidance still prefers people-first pages. The operator translation for this spoke: the money URL is the one a stranger would quote if they had to explain your offer in one breath. That is usually homepage, service, comparison, or pricing — not the seventh “ultimate guide.”
| Page type already in the top 10 | Fix first if | Postpone if |
|---|---|---|
| Service / offer URL | Overview fires on the category query and cites a competitor | No Overview on that query |
| Comparison / vs | You rank and the unit shows a table you lack | You do not rank for the pair |
| Pricing | Price is hallucinated or omitted in answers | Price is accurate and you are already cited |
| Homepage | Entity packet is the mess; category noun is unclear | Homepage ranks only for brand navigational |
| Docs / how-to | Overview bullets match your unpublished steps | The how-to is not a buyer query |
| Blog explainer | It is the URL that actually ranks for the question | It ranks for nothing; you hoped it would |
| Local landing | GBP and on-page NAP disagree | You are not in the pack and not in the Overview |
Order inside that set:
- Confirm Overview present-we-lost on a frozen query.
- Clear snippet ineligibility on that template.
- Rewrite the lead and add one liftable object.
- Align the entity packet that URL depends on.
- Request recrawl once. Only then open a second URL.
Five pages, one mechanism each, beats fifteen URLs with a sitewide “AEO pass.” If you need a named five-page inventory, that is a different spoke. Here the rule is narrower: among URLs that already rank, pick the ones where the unit already exists. Rank without a unit is not a first-week candidate.
What should you skip if you only have a week?
Skip everything that assumes a mechanism you have not named. A week is enough to label the miss and ship one binary fix on one money URL. It is not enough to “do AEO.”
| If the log says | Do this week | Skip this week |
|---|---|---|
| Overview did not fire | Change the query set to units that exist | Rewriting the ranking URL for a dead unit |
| Snippet ineligible | Remove nosnippet / max-snippet:0 / answer-level data-nosnippet; request recrawl | A content sprint |
| Thin extract | 40–80 word lead + one table or procedure on the money URL | A new blog cluster |
| Entity mismatch | Align name, offer, About, schema, GBP | Off-site PR |
| Competitor more citeable | Steal the structure of their liftable span (not their prose): definition, table, caveats | Link package as the only move |
| Recrawl lag | Wait; confirm crawled HTML; do not revert | Another rewrite of the same lead |
Week-one sequence, in order:
- Five frozen queries. Label Overview present vs absent.
- On the first present-we-lost URL, inspect crawled HTML for snippet controls.
- If eligibility is clean, rewrite the lead so it stands alone. Add one table.
- Align the entity packet on that URL and About.
- Request indexing once. Log the date. Do not expect a cite by Friday.
What you skip even if it feels productive: sitewide blog volume, FAQ schema as the strategy, DR packages, doorway fan-out clones, and any vendor who promises a slot. Google documents no inclusion API. I will not pretend there is one.
When is chasing this citation not worth doing yet?
When a prior layer is on fire, or when there is no Overview to win. Citation work on a noindex money URL is a diary. Citation work on a query that never generates a unit is theater. Citation work while the sitewide template still ships nosnippet is rearranging furniture in a locked room.
| Situation | Chase Overview cites? | Do this first |
|---|---|---|
| Money URL is Crawled — currently not indexed | No | Indexing. URL Inspection. robots / canonical |
Template still has nosnippet or max-snippet:0 | No | Preview controls, then recrawl |
| Query never shows an Overview on your locales | No | Pick queries where competitors are already cited |
| You are sliding out of the top 10 | Not as the only move | Rank recovery, including links if that is the actual gap |
| Offer, price, and entity facts still contradict each other | Not yet | One true packet |
| You already get cited and the passage is accurate | No | Freeze it. Do not “refresh” a winning extract |
| The Overview cites three .edu / docs URLs you cannot match on-page | Maybe later | Corroboration on those surfaces, or a primary source of your own |
| Leadership wants a guaranteed slot by month-end | No | Reset the KPI. There is no slot SLA |
John Mueller’s stack still holds: unique content, page experience, crawl access, preview controls, honest structured data. If those are broken, AEO on a ranking URL is a sticker. If those are clean and an Overview fires and you still lose, you have a real mechanism — thin extract, entity mismatch, competitor citeability, or recrawl lag — and the week has a job.
I run visibility work on /visibility as an audit, not as a promised placement. 35,000+ hours saved for clients came from deleting busywork, not from inventing Google’s unpublished selector. If you cannot name which of the six mechanisms you have, you are not ready to spend the week.
A useful self-test before you hire anyone: can you fill this sentence without adjectives?
We rank #[n] for “[query]” on [locale]/[device]. An Overview [does / does not] fire. If it fires, the cited hosts are [list]. Our URL is [cited / absent]. The mechanism is [one of six]. Last Google crawl of the money URL was [date]. Crawled HTML [does / does not] contain the lead we want quoted.
If you cannot fill it, you do not have a measurement problem. You have a naming problem. Naming is the work this spoke exists to force. A vendor who skips the sentence and sells a slot is selling theater.
FAQ
Why isn’t my page cited in AI Overviews even if it’s in the top 10?
Because top-10 rank is a candidate signal, not a citation. The Overview may not fire at all, your page may be snippet-ineligible, the extract may be too thin to lift, your entity facts may conflict, a competitor’s passage may be easier to quote, or Google may still be reading last crawl’s HTML. Google documents no guaranteed slot for ranking URLs.
How do I measure whether a top-10 page is getting Overview citations?
Freeze the same queries, locale, and device. Log whether an Overview fired and whether your URL was a supporting link, separately from average position. Use Search Console’s generative AI performance report when the property has it as directional impressions, not as proof of which mechanism you lost. Re-check on a 7 / 14 / 30 day cadence after a real HTML change.
What usually fails first when teams try this?
They treat rank as proof and skip naming the mechanism. The usual first miss is either “Overview never fired” or a preview control (nosnippet, max-snippet:0) on a template that still ranks. Next is a manifesto lead with no standalone 40–80 word answer. Link packages and FAQ schema get bought before either of those is checked.
How long does this take to show results?
Eligibility fixes wait on recrawl: Google says days to months, and a Search Console indexing request typically takes a day or so with no index guarantee. Extract and entity rewrites need that same crawl window plus a re-test of the frozen panel. There is no published citation SLA. Declaring a rewrite dead on day two is the usual self-own.
What should I skip if I only have a week?
Skip sitewide blog volume, DR packages, doorway fan-out clones, and any promised Overview slot. Confirm the unit fires, clear snippet blockers, rewrite one money-URL lead so it stands alone, align the entity packet, and request indexing once. Five labeled queries beat a 40-query mood board.
When is this not worth doing yet?
When the money URL is not indexed, when the template still blocks snippets, when the query never generates an Overview, or when offer and entity facts still contradict each other. Fix those layers first. If you already get cited with an accurate passage, do not “refresh” it into mush.
CTA
Top-10 rank is not a citation. If the Overview fires and you still lose, name the mechanism before you buy links.
Lane: /visibility · Book a visibility audit.
What questions does this article answer?
- Why isn't my page cited in AI Overviews even if it's in the top 10?
- Because top-10 rank is a candidate signal, not a citation. The Overview may not fire at all, your page may be snippet-ineligible, the extract may be too thin to lift, your entity facts may conflict, a competitor’s passage may be easier to quote, or Google may still be reading last crawl’s HTML. Google documents no guaranteed slot for ranking URLs.
- How do I measure whether a top-10 page is getting Overview citations?
- Freeze the same queries, locale, and device. Log whether an Overview fired and whether your URL was a supporting link, separately from average position. Use Search Console’s generative AI performance report when the property has it as directional impressions, not as proof of which mechanism you lost. Re-check on a 7 / 14 / 30 day cadence after a real HTML change.
- What usually fails first when teams try this?
- They treat rank as proof and skip naming the mechanism. The usual first miss is either “Overview never fired” or a preview control (`nosnippet`, `max-snippet:0`) on a template that still ranks. Next is a manifesto lead with no standalone 40–80 word answer. Link packages and FAQ schema get bought before either of those is checked.
- How long does this take to show results?
- Eligibility fixes wait on recrawl: Google says days to months, and a Search Console indexing request typically takes a day or so with no index guarantee. Extract and entity rewrites need that same crawl window plus a re-test of the frozen panel. There is no published citation SLA. Declaring a rewrite dead on day two is the usual self-own.
- What should I skip if I only have a week?
- Skip sitewide blog volume, DR packages, doorway fan-out clones, and any promised Overview slot. Confirm the unit fires, clear snippet blockers, rewrite one money-URL lead so it stands alone, align the entity packet, and request indexing once. Five labeled queries beat a 40-query mood board.
- When is this not worth doing yet?
- When the money URL is not indexed, when the template still blocks snippets, when the query never generates an Overview, or when offer and entity facts still contradict each other. Fix those layers first. If you already get cited with an accurate passage, do not “refresh” it into mush.
Last reviewed — Google AI-features, robots-meta (nosnippet / max-snippet / AI Overviews), AI optimization guide, URL Inspection recrawl notes, Organization structured data, Search Console generative AI performance report, and Ahrefs March 2026 citation-overlap study checked 2026-09-05.
AI Visibility
AI Visibility Cannabis visibility when the ad accounts are banned
Google and Meta will not take the usual spend. The models still answer dispensary, cultivator, and brand questions — if the site can be read and the cart can clear a 21+ order.
AI Visibility When ChatGPT names the franchise, not your shop
Run the best-HVAC-near-me prompt panel. If the model names a national franchise, fix corroboration and entity facts — not another blog calendar.
AI Visibility How do I get cited by Perplexity specifically
Allow PerplexityBot, put a liftable answer and unique numbers in HTML, then log numbered sources on a frozen prompt panel. There is no bought citation rate.
AI Visibility What belongs in an AI visibility monthly retainer vs a one-time audit
A one-time audit is the baseline plus prioritized fixes. A monthly retainer is prompt-panel tracking, entity hygiene, page jobs, and citation recovery.
Will's Journal in your inbox.
What I learned this week building for shops, floors, and houses.
You're on the list.
Sign-up failed — try again.
By subscribing, you agree to the Privacy Policy.