How SEO AI Assistant Calculates SEO, AEO and GEO Scores

Short answer: SEO AI Assistant runs 39 checks on the page you are viewing: 13 for SEO, 13 for AEO and 13 for GEO. Each score is the share of that column's measurable checks the page passes, rounded to a whole number. Every check counts equally. Two checks can only be judged by a person, so they are shown as reminders and never scored. The scores are ExtCafe's own diagnostic, not a rating from Google, OpenAI or any other company.

How is each score calculated?

For each column:

score = round( checks passed / measurable checks × 100 )

This page describes scoring version 2, used by extension version 1.3.x. The code that defines every check is in the extension's shared-scoring.js file, which anyone can inspect in an installed copy.

What do "measured" and "heuristic" mean?

SEO checks (13)

SEO column
CheckPasses whenType
Title tagThe title is 50 to 60 characters long.Measured
Meta descriptionThe meta description is 150 to 160 characters long. Google sets no fixed length; this range is our target for a full, untruncated snippet.Measured
URL slugThe path is 75 characters or less, lowercase, has no underscores, spaces or encoded characters, has 4 or fewer segments and no query string. A homepage always passes.Measured
H1 + headingsExactly one H1 and at least one H2.Measured
Keyword researchThe page's most frequent word (ignoring common words such as "the" and "and") appears in the title.Heuristic
Keyword placementThat same word appears in the first 100 words and in an H1 or H2.Heuristic
Image alt textNo image is missing an alt attribute.Measured
Page speedFirst Contentful Paint is 1.8 seconds or less and Cumulative Layout Shift is below 0.1, from your browser's own timing of this page load.Measured (one load)
Mobile-friendlyA viewport meta tag with width=device-width exists and the page does not scroll sideways at the current window width.Measured
Schema markupAt least one JSON-LD schema type is found.Measured
Internal linkingThe page links to at least 3 different paths on the same site.Measured
BacklinksNot scored. Check your backlinks in Google Search Console or an SEO tool.Manual
Technical hygieneAll of: HTTPS, a canonical tag, no broken links among the first 20 same-site links (checked with a HEAD request), a robots.txt file and a sitemap (sitemap.xml or a Sitemap: line in robots.txt).Measured

AEO checks (13)

AEO (Answer Engine Optimization) column
CheckPasses whenType
Intent matchingExactly one H1, and the page's most frequent word appears in the title.Heuristic
Answer-first structureAt least one question heading (H2 or H3) is followed by a paragraph of 40 to 60 words.Heuristic
Question headingsAt least 2 H2 or H3 headings are questions: they end in "?" or start with what, how, why, when, where, who, which, is, are, can, does, do, should or will.Heuristic
FAQ sectionFAQ schema is present with at least 8 Question items.Measured
Concise definitionsOne of the first three content paragraphs contains "is a", "is an", "is the", "are a", "are an" or "are the" within its first 30 words.Heuristic
Lists and tablesAt least one list with 2+ items (outside the header, nav, footer and sidebars) or a table.Measured
How-to contentHowTo schema, or a numbered list with at least 3 steps in the page content.Measured
Conversational phrasing"you", "your" or "yours" make up at least 1% of the words, and the page has at least 3 question marks.Heuristic
Snippet formattingAt least 3 content paragraphs (8+ words each) that average 60 words or fewer.Heuristic
Entity clarityThe JSON-LD has a description of 20+ characters and the Concise definitions check passes.Heuristic
Comparison contentA heading or link contains "vs", "versus", "compare", "compared", "comparison", "alternative" or "alternatives".Heuristic
People Also AskAt least 5 question-style items in total across FAQ schema, <summary>/<dt> elements and question headings.Heuristic
Freshness signalsThe newest date found in schema (dateModified or datePublished), article meta tags or <time> elements is within the last 365 days.Measured

GEO checks (13)

GEO (Generative Engine Optimization) column
CheckPasses whenType
CitationsThe page links to at least 2 external domains, not counting Facebook, X/Twitter, Instagram, LinkedIn, Pinterest or TikTok.Heuristic
OriginalityNot scored. Ask yourself what this page offers that competing pages do not.Manual
Original dataAt least 3 numbers followed by a unit such as %, ms, seconds, users, downloads, customers, installs, reviews, stars or "x".Heuristic
Quotable statementsAt least half of the sentences (5+ words) are 8 to 25 words long.Heuristic
Expert authorshipAn author meta tag, Person schema, or Article schema with an itemprop="author" element. This detects that an author is named, not their expertise.Measured
Brand consistencyThe brand name (from og:site_name, else the Organization schema name, else the domain) appears in the title.Heuristic
Third-party mentionsThe page links to Reddit, Product Hunt, GitHub, YouTube, Trustpilot, G2, Capterra, the Chrome Web Store, Medium or Wikipedia, or its schema has sameAs. This looks at links on your page; it cannot see mentions of you on other sites.Heuristic
Allow AI crawlersrobots.txt does not block the whole site for GPTBot, ClaudeBot, PerplexityBot or Google-Extended. A site with no robots.txt passes. It does not yet check OAI-SearchBot, the crawler ChatGPT search uses, so check that one yourself.Measured
llms.txt/llms.txt returns plain text (not an HTML page) longer than 20 characters.Measured
Crawlable plain textThe raw server HTML, with scripts and styles removed, contains at least 50% as many words as the page shows after JavaScript runs.Measured
Case studiesThe page mentions a case study, testimonial, customer story or "what our users say", has Review or AggregateRating schema, or contains a blockquote.Heuristic
Scannable contentAt least 3 H2 headings and at least one list or table.Measured
Freshness + changelogA heading or link mentions a changelog, release notes, "what's new" or version history, or the page has an element with "changelog" in its id or link.Heuristic

What the scores do not mean

Where do the recommendations come from?

After the scores are calculated, the extension sends the check results and basic page details to ExtCafe's server, which returns the written recommendation for each failed check. Those recommendations come from fixed rules that match the checklist above; no AI is used. On Pro, "Generate AI fixes" asks an AI model (NVIDIA's API) to write fixes such as JSON-LD or meta descriptions for your page. What is sent, and when, is listed in the privacy policy.

How we change the methodology

When a check changes, we update this page and the "Last reviewed" date at the top, and note it in the changelog. If you think a check gives the wrong result for your page, email aio@extcafe.com with the URL and what you expected. Reproducible reports get fixed first.

Scoring questions

How does SEO AI Assistant calculate its SEO, AEO and GEO scores?

Each score is the percentage of that column's measurable checks the page passes, rounded to a whole number. All checks count equally, and the two manual checks, Backlinks and Originality, are not included.

Does a 100 score mean my page will rank or be cited by AI?

No. A 100 means the page passes every measurable check on ExtCafe's checklist. Rankings and AI citations also depend on competition, content quality, authority and each provider's own systems, which no page-level tool can see.

Why did my score change when I analyzed the same page again?

Some checks depend on how the page loaded, such as page speed, layout shift and broken links. A different network speed, cookie banner or logged-in state can change those results between runs.

Is the scoring done on ExtCafe's servers?

No. All 39 checks and the three scores are calculated in your browser. The server only returns written recommendations for the failed checks and, on Pro, AI-generated fixes.