Example report · sample data

SEO + AEO + GEO Home Page Audit

Quick answer

A home page audit report shows three independent readiness scores: SEO, AEO and GEO. Each scorecard includes pillar scores, every Pass, Partial and Fail check with its evidence, and prioritized fixes. This example uses fictional findings in the same display as a completed home page audit, with a matching downloadable PDF.

Illustrative results for a fictional home page, with Pass, Partial and Fail findings. These are sample findings, not a live audit of a customer's website.

Published · Last updated

Page fetched

Example Company — Business Services and Support for Growing Teams Worldwide

https://example-company.com/ · H1: Business services for growing teams · 842 words in raw HTML · robots.txt found · sitemap found · llms.txt not found

All three scorecards, every check with the evidence we found and the ranked fix list for each analysis, in one file.

SEO readiness

84/100 · Competitive

The page can be indexed and mostly speaks for itself, but relevance or trust signals are thin enough that better-prepared competitors will outrank it on contested queries.

Discoverable100/100

Relevant69/100

Trusted80/100

PassCan search engines crawl and index the page?

robots.txt allows crawling. No noindex directive found.

PassIs the main content in the HTML before JavaScript runs?

842 words of readable content found in the raw HTML.

PassDoes the page carry an absolute, self-referencing canonical?

Absolute canonical matches https://example-company.com/.

PassIs the page listed in a valid XML sitemap?

sitemap.xml found and lists this home page.

PartialIs the title tag a focused 10–60 characters?

Title is 73 characters — longer than the 60-character limit.

FailIs there a real meta description of 70–160 characters?

No meta description found in the page head.

PassDoes the page have exactly one clear H1?

Exactly one H1 found: Business services for growing teams.

PassDo H2/H3 headings divide the page into clear sections?

Six H2 headings divide the page into clear sections.

PassIs there enough substance — 600+ words of real content?

842 words in raw HTML, above the 600-word threshold.

PassIs the page woven into the site with internal links?

18 internal links found, including navigation and service pages.

PartialDoes the page carry matching JSON-LD structured data?

Organization JSON-LD found, but no matching page-type schema.

PassIs the page served over HTTPS with a mobile viewport?

Page uses HTTPS and includes a mobile viewport meta tag.

Top fixes

1. Rewrite the title tag around the query

The title is the strongest single on-page relevance signal and the line a searcher actually reads. Titles that are missing, truncated, or identical across pages either get rewritten by Google or lose the click to a clearer result.

  1. Write down the single query this page should win, in the words a searcher types.
  2. Front-load the distinguishing words — the first 30 characters survive every truncation.
2. Write a meta description worth quoting

Google rewrites missing or generic descriptions from arbitrary page text, and the rewritten snippet is usually worse than one written deliberately. A specific description controls the pitch and measurably lifts click-through from the same ranking position.

  1. State what the page gives the searcher in one or two sentences — the output, not the topic.
  2. Include the specifics a rewrite would lose: numbers, audience, the concrete promise.
3. Add page-type structured data that matches the content

Schema makes the page eligible for rich results — FAQ dropdowns, breadcrumbs, article treatments — which raise click-through from the same position. It also removes ambiguity about what the page is and who published it.

  1. Pick the type that matches the page: Article for editorial, FAQPage for a genuine Q&A block, HowTo for numbered steps, WebApplication for a tool.
  2. Emit it as JSON-LD in the head, with name, description, author, publisher and dates.

AEO readiness

60/100 · Crawlable

Crawlers can reach the page but there is nothing shaped like an answer on it. You are training data, not a cited source.

Retrievable100/100

Extractable41/100

Attributable50/100

PassIs the main content in the HTML before JavaScript runs?

842 words of readable content found in the raw HTML.

PassDoes every page carry an absolute, self-referencing canonical?

Absolute canonical matches https://example-company.com/.

FailDoes each page open with a 40–60 word direct answer?

Opening paragraph is 12 words of welcome text, not a standalone direct answer.

PartialIs there a bulleted takeaways or key-facts block near the top?

A benefits list appears further down, not near the opening answer.

PartialAre your H2s written as the questions people actually ask?

Two of six H2 headings are questions; the rest are generic section labels.

PassAre the key facts in a table or list rather than buried in prose?

Service features are presented in a comparison table.

PartialDoes the page carry matching JSON-LD?

Organization JSON-LD found, but no matching page-type schema.

Top fixes

1. Open with a 40–60 word standalone answer

Generative engines lift whole passages. The paragraph that reads correctly with no surrounding context is the one that gets quoted verbatim.

  1. Put the answer immediately after the H1, before any form, tabs or hero imagery.
  2. Name the subject explicitly in the first clause — never open with 'This tool' or 'It'.
2. Add a key-takeaways block high on the page

Short, stat-bearing bullets are the single most-quoted element in AI answers, because each one is already a complete claim.

  1. Place three to five bullets directly under the quick answer.
  2. Write each as one full sentence that is true in isolation — no 'as above' or 'this'.
3. Write H2s as the questions people ask

A heading matching the prompt wording gives the engine an unambiguous passage boundary, and question headings are what FAQ and passage extraction key on.

  1. Replace label-style headings ('Overview', 'Details') with the question the section answers.
  2. Use the wording a person would type, not internal jargon.

GEO readiness

62/100 · Crawlable

Crawlers can reach the page but there is nothing shaped like an answer on it. You are training data, not a cited source.

Retrievable82/100

Attributable37/100

PassIs the main content in the HTML before JavaScript runs?

842 words of readable content found in the raw HTML.

PassDoes robots.txt allow the AI crawlers by name?

robots.txt explicitly allows GPTBot, PerplexityBot and ClaudeBot.

FailDo you publish an llms.txt index of your best pages?

No llms.txt index found at the site root.

PartialDoes the page carry matching JSON-LD?

Organization JSON-LD found, but no matching page-type schema.

FailIs there a named author with a real profile page?

No named author byline or linked author profile found.

PartialDo pages show a genuine last-updated date?

A published date is present, but no machine-readable updated date.

PassDo you cite sources for the numbers you publish?

Key numerical claims link to their original external sources.

Top fixes

1. Add page-type JSON-LD that matches the visible text

Schema does not force a citation, but it removes ambiguity about what the page is, who wrote it and who published it — and mismatched schema is worse than none.

  1. Pick the type that matches the page: Article or Posting for editorial, HowTo for procedures, FAQPage for Q&A, WebApplication for tools.
  2. Include author, publisher, datePublished, dateModified and mainEntityOfPage.
2. Give the page a resolvable human author

Engines lean hard on resolvable authorship when deciding whose claim to repeat. A byline with nowhere to click is treated as anonymous.

  1. Add a visible byline near the top or bottom: name, role, organisation.
  2. Create a real profile page with credentials, subject areas and contact route.
3. Publish an llms.txt index with summaries

llms.txt is the emerging plain-text map of what a site covers. A bare link list is better than nothing, but a one-line summary per URL is what actually gets a page selected.

  1. Generate /llms.txt from the same data source as your sitemap so it can never drift.
  2. Open with an H1 for the site and a one-paragraph description of what you publish.