AEO On-Page Audit
Loading tool…
About AEO On-Page Audit
AEO On-Page Audit scores whether one page is written so an answer engine can extract a self-contained block. Enter a Page URL or paste HTML, JSX, TSX, or Markdown, click Analyze, and you get a page score out of 100 from 14 checks, plus separate site signals.
Page URL fetches that page only and also probes origin /robots.txt and /llms.txt. Paste code scores the source you submit. Load sample fills a fixture that is built to pass. A finished report shows Page score /100, passed / warning / failed pills, Site signals, Words, and Container (main, article, body, or pasted text).
Categories start closed: Extractability, Structure, Schema, Density, Voice, Trust, Coverage, Discovery. Open one for Detected, Target, How to fix, and Evidence. An opportunity line names the cheapest points left. Audit report is Markdown you can Copy. Download writes PDF or Markdown.
When to use it
Use this after the page is reachable. If the HTML never arrived, structure checks are the wrong next step. Run it on a draft before publish, and again when you change headings, ledes, or JSON-LD.
How to use AEO On-Page Audit
- 1Choose Page URL or Paste code. One page only. Optional: Load sample to see a passing fixture, then replace it.
- 2Enter the URL or paste the page. HTML, JSX, TSX, Markdown, or plain text. A URL fetches that page, not the site.
- 3Click Analyze. URL runs also probe origin /robots.txt and /llms.txt. Empty or blocked pages stop at the banner.
- 4Open each category. Read Detected, Target, How to fix, and Evidence. Use the opportunity line to pick the next edit.
- 5Copy or Download the report. Copy takes the Markdown block. Download offers PDF or Markdown. Both include every check.
How to read the results
A URL with almost no extracted prose never gets a page ring. example.com produced 19 words and stopped at the empty-page notice. Paste still grades scraps: three words of markdown came back 21 F, with the opportunity line offering 15 Extractability points for a question heading plus lede.
The ring is 14 checks totaling 100. Site signals are a side tally (10) and do not lift it. Direct answer snippet (15) wants every question lede in 40-60 words; 25-39 or 61-80 is a warning. JSON-LD (15) needs a complete type, not an empty FAQPage. Facts failed a 574-word fixture at 3 tokens / 0.5 percent.
Why this matters for AI search
Crawlers that already reached the file still have to lift a passage. They take the first self-contained block under a question, not the cleverest paragraph on page nine. A page that tells a story for 400 words and answers in the conclusion is structured for a human scroller, not for extraction.
A fixture with two question H2s, 45-word ledes, complete Article plus FAQPage, a list, a table, and outbound links scored 92 A and failed only facts. The same checker gave 21 F to three words of markdown. Write the extractable block first, then the rest.
What this tool cannot do
It cannot crawl the rest of the site, execute JavaScript, or tell you if ChatGPT will quote the page. It cannot invent missing facts. Five runs per hour per network. A URL also requests /robots.txt and /llms.txt. Paste stays in the request for that run. Localhost is blocked.
Common mistakes
Treating Site signals 10/10 as a page grade. The ring is page score only.
Putting a list immediately under an H2 and expecting a lede score. A list or table is not the first paragraph.
Shipping empty FAQPage JSON-LD. An empty mainEntity is a warning, not 15 points.
Clicking Load sample and publishing that fixture. It is a scoring demo, not your article.
FAQs
- When should I use On-Page Audit instead of Citation Readiness?
- After the page is reachable. This tool scores whether the writing is structured to extract: ledes, headings, schema, density, voice, and trust. Citation Readiness only asks if the crawler received enough HTML.
- Is page score the same as site signals?
- No. Page score is 14 content checks out of 100. Site signals are a separate 10 points for origin /robots.txt and /llms.txt on a URL run. They do not lift the page ring.
- What is inside an open category?
- Detected, Target, How to fix, and Evidence from this page. What we read lists the first 500 words after chrome strip. Those 500 words are the only text the 14 checks see.
- Why is 40-60 words the lede target?
- Direct answer snippet scores the first paragraph after every question heading. 40-60 is a pass. 25-39 or 61-80 is a warning. Under 25 or over 80 is a fail. It is a quote-size target, not a ranking rule.
- Can I paste a React component?
- Yes. Paste code accepts HTML, JSX, and TSX. Imports and expressions are stripped before the markup is scored. Markdown and plain text stay as you pasted them.
- Does Analyze walk every URL on the host?
- No. One address or one paste. Origin /robots.txt and /llms.txt are host-level signals, not a site crawl. Use AI Crawler Access for a multi-page robots matrix.
- What does Load sample put in the box?
- A passing fixture so you can see the report layout: question ledes, Article plus FAQPage, a list, a table, and outbound links. Analyze still runs on whatever is in the box afterward.
- Why is Analyze withheld on a URL I can read in the browser?
- The fetch extracted fewer than 100 words after nav and footer were stripped. This audit grades that file, not the painted view. Paste the rendered source if the article only appears after JavaScript.