- AEO
- Content
Make your content legible to AI
AI answer engines can only quote text they can actually read. Here is what legibility means, why rendering trips sites up, and the checks you can run today.
Legible means a machine can read it
There is a quiet assumption behind every AI answer: the engine has to be able to read your page before it can quote you. Not see it. Read it. As in, get the actual words as plain text, in an order that makes sense, with enough structure to know which sentence answers which question.
Most sites pass this test for a human and fail it for a machine. The page looks fine in a browser, but a chunk of the important content is locked inside an image, rendered by JavaScript that the crawler never ran, or buried in a wall of prose with no headings to navigate by.
That gap is what we mean by legibility. And it is the cheapest thing to fix in all of search, because you are not chasing a ranking algorithm. You are just making sure the words are there.
Real text, not pictures of text
This is the one that catches everyone. A pricing table exported from a design tool. A "what's included" comparison saved as a PNG. A phone number set inside a hero banner. An infographic that contains the only place you state your turnaround time.
To you it reads perfectly. To a crawler it is a blank rectangle. Google reads the text in your HTML, not the pixels in your images, which is why its SEO starter guide tells you to put important information in text and use alt attributes to describe images. AI engines work the same way: they quote what they can parse, and they cannot parse a screenshot of a paragraph.
The check is simple. Open a key page and try to select your most important sentences with the cursor. If the text highlights, it is real. If your cursor slides over it like glass, it is an image, and it is invisible to the machines deciding whether to mention you.
Headings that match real questions
Structure is the second half of legibility. A page that is one long undivided block forces an engine to guess where the answer to a given question lives. A page broken into clear sections hands it the answer on a labelled shelf.
The fix is to write headings that read like the questions your customer would actually type:
- "How much does it cost?" beats "Pricing."
- "How long does delivery take?" beats "Logistics."
- "Can I cancel anytime?" beats "Terms."
Use ## for your main sections and ### for sub-points underneath them. One thought per section, with the direct answer in the first sentence or two so it can be lifted cleanly. Note that heading order is about clarity and accessibility, not a ranking trick. The point is that a person, and a machine, can scan the page and find the answer fast.
Clean structure beats clever structure
Around your main content sits the noise: navigation, cookie banners, related-post grids, three layers of footer. A human's eye filters that out instantly. A crawler has to work for it.
You make that easier with plain, semantic HTML. Wrap the real content in <main> and <article>, keep navigation in <nav>, and resist the urge to express every heading as a styled <div>. The more your markup names what each region actually is, the more confidently an engine can separate your answer from the furniture around it.
You do not need to chop your page into tiny fragments or bolt on special AI markup to achieve this. Plain, well-organised HTML is the whole job.
Rendering: the trap you cannot see
Here is the one that surprises people most. Your content can be real text, well structured, and still invisible, because it does not exist until JavaScript builds it in the browser.
Many modern sites ship a near-empty HTML shell and assemble the page client-side. A human waits half a second and sees a full page. A crawler that does not execute that JavaScript, or executes a stale version of it, sees the empty shell. Your beautifully written answer was never in the document it read.
This is why two pages that look identical can score completely differently. We break the whole mechanism down in our piece on why JavaScript can hide your content from search engines, but the short version: the safest content is content that is present in the HTML the moment the page is served, before any script runs.
A quick way to check: open a page, right-click, choose "View page source," and search for a sentence you know is on the screen. If it is in the source, you are fine. If it only appears in the rendered "Inspect" view but not the source, it depends on rendering, and that is where legibility quietly breaks.
Five checks you can run today
You do not need a developer for any of these.
- Highlight test. On each important page, try to select your key sentences, prices, and contact details. Anything you cannot select is an image and needs a real-text version.
- View-source test. Right-click, "View page source," and search for a headline sentence. Not there? Your content depends on JavaScript rendering and may not be read.
- Heading scan. Read only the headings of a page top to bottom. Do they tell the story and answer the obvious questions? If not, rewrite them as questions.
- The strip test. Disable images in your browser, or imagine them gone. Does the page still make sense and state everything important? It should.
- The noise check. Is your real content wrapped in
<main>or<article>, or is it tangled up with menus and footers? Cleaner regions read more cleanly.
Where the Legibility Score comes in
Run those checks across a whole site and you start to want a single number for "how readable is this to a machine," tracked over time, instead of a gut feeling per page.
That is exactly what the Legibility Score measures: one 0-100 figure covering whether your content is real text, whether your structure is clear, whether it renders without depending on scripts, and whether the page is fast enough to crawl. It turns the manual checks above into something you can monitor and improve deliberately.
If you want the bigger picture of how this fits into being quoted by AI answer engines, start with our guide to getting found by AI search. But the foundation never changes: make the words real, label them clearly, and make sure they are there before the JavaScript runs.
// related articles
- AI crawlers, explained: ChatGPT to GrokA plain-language reference on how OpenAI, Anthropic, Perplexity, Google, Copilot, and Grok crawl your site, and how to let the right bots in to cite you.
- Does llms.txt actually do anything?Google says don't create llms.txt for its AI, but some other tools use it. The honest answer on where the file helps, where it does nothing, and what to do.
- How to get cited by ChatGPT, Perplexity and moreChatGPT, Perplexity, Gemini, Copilot and Grok each pick sources their own way. Here is what every major answer engine rewards, and how to earn a citation.
// next step
See what AI actually reads on your site.
Free first audit. No credit card. Your Legibility Score in under two minutes.
Run a free audit →