AEO Readiness Checker
Grade how technically ready a page is to be cited by AI engines: crawler access, llms.txt, JS-rendering, freshness, answer-format & entity schema. Free, no API key.
AEO Readiness Checker with the mark scheme published
Six weighted checks, one score out of 100, and a fix list ordered by impact rather than by how easy the thing was to measure. Every threshold and weight is printed on this page, along with the primary document each check derives from — or the honest admission that it derives from nothing but our judgement. Sixty of the hundred points trace to a vendor document. Forty are opinion, and we label which.
Built and reviewed by Sayed Hasan, founder of SEOs Hut · Updated 28 September 2026 · Free, no signup
What is a good AEO score?
There is no official answer, because there is no AEO standard to pass. Google states there are no additional requirements and no special schema for AI features. So every AEO score, including ours, is a vendor's weighted opinion about extractability. On our scale, 85 or above means nothing documented is blocking you. Below 60 means something is.
The sentence that should govern every AEO tool, including this one
“There are no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary. There's also no special schema.org structured data that you need to add.”
<b>Google Search Central, AI features and your website</b> — Google Search Central
All six checks, with weights, thresholds and provenance
This is the whole tool. Read it before you run anything, and disagree with it in public if you like — that is rather the point of printing it. Where a check rests on a vendor document we name the document. Where it rests on our judgement we say so, in those words, and you should weight it accordingly.
| Check | Threshold we use | Weight | Derived from | What a fail actually costs |
|---|---|---|---|---|
| Snippet-suppression directives absent | No nosnippet, no data-nosnippet wrapping main content, no noindex. A max-snippet value under 50 is flagged, not failed. | 25 | Documented. Google names nosnippet, data-nosnippet, max-snippet and noindex as the controls that limit what AI features show. Apple goes further: it will not use data tagged nosnippet "as additional context and up-to-date content when AI models are used to generate output". | Total. This is the only check that can independently zero everything else. A beautifully structured page carrying one stray data-nosnippet on its content wrapper is unquotable by design, and nobody notices because it still ranks. |
| Main content present in server-rendered text | At least 95% of visible body text present in the initial HTML response, before JavaScript. | 20 | Documented. Google's listed fundamentals for AI features include having "important content in textual form" and being crawlable. Most AI fetchers do not execute JavaScript. | Severe and invisible. The page looks perfect to you and arrives nearly empty to a fetcher. Pair this with the AI Crawler Access Checker, because readiness is irrelevant if the fetchers are refused at the door. |
| Structured data matches visible text | Every factual field in the JSON-LD — price, address, rating, opening hours, author — has a matching value visible on the rendered page. | 15 | Documented, with a caveat. Google lists structured data that matches visible text among its fundamentals, while stating no special AEO schema is needed. So we check agreement, not presence, and we never reward you for adding types. | Moderate, and it compounds. Markup contradicting the page is a quality signal against you rather than a neutral extra. Read what is already there with the Schema Markup Analyzer before you generate anything new, then close real gaps with the AI Schema Generator using types Google still supports. |
| Answer-first opening | The page's primary claim appears within the first 40 words of main content, and within the first sentence of at least one section per H2. | 15 | Our inference — no vendor document. Nothing Google or Apple publishes says an early answer improves AI extraction. We weight it because a self-contained opening sentence is mechanically easier to lift, and because Thinking Machines Lab's work shows the opening of a generated answer is its most stable part. | Unknown, honestly. Our belief is that it costs you the quotable sentence. We cannot cite anyone who has measured that. |
| Headings map to questions people ask | At least half of H2 and H3 headings are phrased as, or directly answer, a question a person would type. Keyword-fragment headings score zero. | 15 | Our inference — no vendor document. No vendor states that interrogative headings help. Google does document that AI features "may use a 'query fan-out' technique — issuing multiple related searches across subtopics and data sources", which is why we think question-shaped sections have more surfaces to match against. That is reasoning, not evidence. | Unknown. Score your headings against the questions people actually ask rather than the keyword you wrote the page for — the AI Prompt Miner is the input for that. |
| Sentences are self-contained | Factual sentences name their own entity, place and number rather than relying on the previous sentence or a heading for context. Measured on the sentences carrying numbers or claims. | 10 | Our inference — no vendor document. Pure editorial judgement about what survives being lifted out of context. Weighted lowest for exactly that reason. | Unknown, but cheap to fix. This is a writing problem rather than a technical one, which is why it lives in the AI Content Scorer in more detail — readiness is structural, quotability is a sentence-level thing. |
Scroll the table sideways to see every column.
Documented checks: 60 points. Our inference: 40 points. If you only trust the documented part, read your score out of 60 and ignore the rest — the tool shows both subtotals for that reason.
There is no AEO standard. There is nothing to pass.
Every page selling an AEO score implies a specification somewhere that your page either conforms to or does not. Go looking for it. Google states there are no additional requirements and no special schema, and defines eligibility for AI Overviews and AI Mode as ordinary snippet eligibility: a page "must be indexed and eligible to be shown in Google Search with a snippet, fulfilling the Search technical requirements. There are no additional technical requirements." Apple, meanwhile, publishes its actual ranking factors, and they are conventional SEO — aggregated user engagement, term and topic relevance, "number and quality of links from other pages on the web", user-location signals and webpage design characteristics. Not one AEO-specific item among them. What all of this means is that AEO readiness is a useful shorthand for extractability, and a fiction as a compliance category.
Why two AEO checkers score the same page 62 and 88
Because they are measuring different things and calling both of them AEO, and neither publishes what it weighted.
There is no shared rubric to diverge from. One tool counts the presence of schema types and awards points for each; another checks whether the markup agrees with the page and penalises the mismatch. The first will reward a page that the second marks down. Neither is lying. They are answering different questions behind the same three letters.
The bigger source of divergence is weighting. A checker that treats fifteen signals as equal gives a page with one catastrophic problem — content wrapped in data-nosnippet — a score in the eighties, because fourteen of fifteen signals pass. We weight that single check at 25 and let it dominate, because a page that cannot be shown in a snippet cannot be shown in an AI answer, and the other five checks are then arguing about upholstery in a car with no engine. That is a defensible choice. It is still a choice, and it is the reason our number will differ from anyone else's.
The only honest way to use any of these scores, ours included, is to ignore the number and read the failed checks. The number exists because somebody senior asked for one. The fix list is the product. And no readiness score — high or low — is evidence of anything until it shows up in a real answer: run the AI Visibility Checker on the same page's topic and see whether the engine names you.
The five measurable thresholds, and their derivation
Every cut-off we apply, with the reasoning. Three of these derive from a vendor document and two from our judgement, and the why column tells you which each time.
max-snippet set above 50 onlynosnippet, any data-nosnippet on a content wrapper, or noindexnosnippet as the opt-out for AI-generated output too. The threshold is binary because the mechanism is.Every documented directive that changes what AI features can show
This is the real list, as opposed to the AEO checklist. Six of these are documented by Google or Apple; the seventh is the one people reach for by mistake.
Removes the page from snippets, which Google names as a control over what its AI features show. Apple states it will not use
nosnippet data as additional context when generating output. The single highest-impact tag on this list, and the one most often inherited from a theme setting nobody remembers changing.Section-level suppression inside the HTML. The dangerous one, because it is invisible in the rendered page and frequently applied to a wrapper that contains the main content rather than the disclaimer it was meant for.
Caps how much text may be shown. A low value is a legitimate editorial choice and a quiet extractability ceiling. We flag it rather than failing it, because you may have meant it.
Not eligible for Search means not eligible for AI features, since the stated bar is being indexed and eligible to be shown with a snippet. Worth checking with the Google Index Checker before you conclude anything from a low score — and worth confirming your meta directives say what you think with the Meta Tag Analyzer.
Apple honours this JSON-LD property at page level: such pages stay eligible for search results but are excluded from AI context. Note the limit Apple states explicitly — "Section-level markup using
hasPart is not supported" — so there is no partial paywall signal here. All or nothing, per page.Apple supports per-agent directives by HTTP header, and the equivalent
<meta name="applebot" content="nosnippet">. Useful when you want different behaviour for Apple than for Google, which is a decision almost nobody makes deliberately and several themes make accidentally.This is the blunt instrument people reach for, and it is not AI-specific in the slightest. Google states that "AI is built into Search and integral to how Search functions", so blocking Googlebot removes you from Search entirely. If your goal is per-bot control, that conversation belongs with the AI Crawler Access Checker, not here.
Nothing on this list is an AEO tag. They are all suppression controls. The absence of an AEO tag is the point: there isn't one to add.
Four ways a readiness score gets misread
All four come from treating the number as a verdict rather than as a pointer at a list.
Fixing the easy checks first
What happens: The heading rewrite gets done on Friday because it is pleasant work, and the data-nosnippet on the content wrapper survives another quarter. The score climbs while the actual problem is untouched.
Do this instead: Work the weights. One 25-point documented check outranks the three 15-point inferences combined, and the ordered list further down this page exists so nobody has to make this judgement call at 4pm.
Adding schema types to raise the score
What happens: Four new JSON-LD types go on, half of them describing things not visible on the page. Google's position is that no special schema is needed and that markup should match visible text, so this moves you backwards while feeling productive.
Do this instead: Check agreement, not quantity. Fix the fields that contradict the page. Add a type only when the page genuinely contains that thing.
Treating FAQPage markup as the AEO win
What happens: An FAQ block is bolted onto a page that had no questions on it, on the strength of a blog post. Google says outright that there is no special schema you need to add for AI features.
Do this instead: If the page answers real questions, write them as headings and answer them in the first sentence. That helps a reader, and it is the same work the inferred checks reward. The markup is not the mechanism.
Scoring a page nothing can fetch
What happens: An 88 on a page that OAI-SearchBot is disallowed from reading. The score is accurate and completely irrelevant.
Do this instead: Confirm access first, then readiness. Two minutes with the crawler checker saves a fortnight of structural work on a page no engine is permitted to see.
The fix list, ordered by impact rather than by effort
Three tiers. The first is documented mechanism, the second is documented fundamentals, the third is our opinion — and we have put our own opinion last on purpose.
Remove whatever is suppressing you
Documented mechanism, binary outcome, usually under an hour of work. Nothing in Tier 2 or 3 can compensate for a page that is not eligible to be shown with a snippet, so this is not a priority call — it is a prerequisite.
- Audit every
nosnippet - Grep the template for
data-nosnippet - Check
max-snippetvalues - Confirm the page is indexed
- Check
isAccessibleForFreeif you use it
Make the content arrive as text
Documented fundamentals. Fetch your own page without JavaScript and read what comes back. If the main content is not in that response, most AI fetchers see what you just saw, and you have found your score's real ceiling.
- View source, not inspector
- Server-render main content
- Fix internal links
- Confirm crawler access
- Keep markup honest
Restructure for lifting
Our inference, weighted at 40 of 100, and genuinely worth doing — we simply cannot cite a vendor saying so. Answer in the first sentence, make headings match real questions, and write factual sentences that survive being quoted alone.
- Claim in the first 40 words
- Question-shaped H2s
- Name the entity in the sentence
- Numbers with their units and scope
AEO Readiness Checker FAQ
What is a good AEO score?
What is the difference between AEO and SEO?
What schema do I need for AI search?
Does FAQ schema help with AI search?
Why is my AEO score low when the page ranks well?
Why did another AEO checker give my page a completely different score?
How much of this score is actually documented by Google or Apple?
Does a high readiness score mean I will be cited by AI engines?
Primary sources used on this page
- Google: snippet eligibility is the bar; no additional technical requirements; no special schema; the nosnippet, data-nosnippet, max-snippet and noindex controls; query fan-out — developers.google.com
- Apple: nosnippet as the AI-context opt-out, isAccessibleForFree at page level only, per-agent Applebot directives, and Apple's actual ranking factors — support.apple.com
- Google: scaled content abuse and low-effort main content — the named rubrics in sections 4.6.5 and 4.6.6, and the note that rater ratings do not directly influence ranking — developers.google.com
- Google robots.txt specification — group selection, caching and parsing limits behind the access checks — developers.google.com
- Thinking Machines Lab: why the opening of a generated answer is its most stable part — thinkingmachines.ai
- Google: Search generative AI performance reporting — what you can and cannot measure afterwards — developers.google.com
The checks this score deliberately leaves out
A readiness score looks at one page's structure. These cover the things it cannot see — what is already in your markup, whether anything is permitted to fetch you, and whether any of it changed a real answer.
Read the guide: Does llms.txt Work? What Google and AI Bots Really Do With It and Content Mapping: How to Build a Content Map Step by Step. Want it handled for you? See our AI SEO (GEO) services.