AI-search readiness

Build a page machines can actually read

Discovery increasingly runs through systems that fetch a page, read it, and decide what it is about — without a person and often without executing your JavaScript. That puts weight on things that were always good practice and are now load-bearing: can it be crawled, is the content in the first response, is the structure legible, does the markup say what the page is.

No signup required to start — 10 audits a day without an account.

The 8 checks behind this

Each one is a check that runs, described by the engine itself. If a check changes, this page changes with it.

  • robots.txt

    robots_txt

    The origin /robots.txt, parsed to RFC 9309: consecutive user-agent lines share a group, the most specific group wins, and the longest matching pattern decides with Allow winning ties. Fails when the audited path is disallowed for Googlebot; warns when the file is absent or declares no Sitemap. Distinct from the robots meta tag: a disallow here stops the crawl, not just the indexing.

    Fixing it: Lets crawlers read the page, so every other signal on it can be seen.

  • X-Robots-Tag header

    x_robots_tag

    Indexing directives delivered in the response header rather than the markup, including any bot-name prefix. A noindex or none fails; nofollow warns. This is checked separately from the robots meta tag because the two disagree often and a header-level noindex is invisible in the HTML.

    Fixing it: Removes a header-level block that keeps the page out of the index entirely.

  • Server-rendered content

    render_dependency

    Visible text as a share of the response body, plus inline script share and server-rendered word count. Fails under 60 words alongside a script-heavy document, or below a 2% text ratio; warns below 5%. SEOAST executes no JavaScript, so this measures what a crawler sees before deciding whether to queue a rendered pass.

    Fixing it: Puts the content in the first response, where every crawler reads it, instead of behind a render pass that is neither fast nor guaranteed.

  • Structured data (JSON-LD)

    structured_data

    Every <script type="application/ld+json"> block: whether it parses as JSON, whether it declares an @type (walking arrays and @graph), and which types are present. A block that fails to parse is worse than no block at all, because it forfeits rich-result eligibility silently.

    Fixing it: Makes the page eligible for rich results. Eligible, not guaranteed — Google decides whether to show them.

  • Heading hierarchy

    heading_hierarchy

    The h1-h6 outline: how many h1 elements exist, whether any heading is empty, and whether the document skips a level (an h2 followed directly by an h4). Zero or multiple h1 elements and skipped levels both make the page outline ambiguous to crawlers and screen readers.

    Fixing it: Gives crawlers and screen readers an unambiguous outline of what the page covers.

  • H1 and title alignment

    h1_title_alignment

    Overlap between the meaningful terms in <title> and in the first <h1>, as a fraction of the smaller term set. At or above 0.5 the two describe the same topic; at or above 0.25 they are loosely related; below that the search result promises one thing and the page delivers another. Reports not_measurable when either element is missing or empty.

    Fixing it: Makes the search result and the page agree about the topic, reducing bounce.

  • HTML lang attribute

    html_lang

    Presence and shape of the lang attribute on <html>, checked loosely against BCP 47 (a two- or three-letter primary subtag plus optional script, region and variant subtags). Drives language targeting, hreflang consistency and screen-reader pronunciation.

    Fixing it: Tells search engines and screen readers which language the page is written in.

  • llms.txt (AI-search readiness)

    llms_txt

    The site-root /llms.txt: whether it is Markdown, has the required H1, carries a summary of at least 40 characters and links to any pages. A malformed file fails; absence only warns. No search engine has committed to reading this file and its absence is not known to cost visibility — it carries the lightest weight on this list for exactly that reason.

    Fixing it: Gives AI crawlers a curated map of the site. An emerging convention with no confirmed effect on search visibility.

How this works in practice

What this does not do

SEOAST does not query ChatGPT, Perplexity, Gemini or Google AI Overviews, and it does not monitor or measure whether any of them cite you. There is no "AI visibility score" here. What it measures is whether the foundations those systems depend on are in place — a smaller claim, and one that can actually be checked.

The single biggest signal is whether your content exists before the JavaScript runs

A page that assembles its copy on the client is at the mercy of a render queue that is neither fast nor guaranteed. SEOAST measures visible text as a share of the response, the inline script weight, and the server-rendered word count, and reports plainly when the answer is "there is almost nothing here until the JavaScript runs".

llms.txt is measured, and deliberately weighted lightest

It is an emerging convention: a Markdown file at the site root naming the organisation and linking to the pages worth reading. No search engine has committed to reading it, and its absence is not known to cost visibility, so a missing file only ever warns. A malformed one is scored down, because publishing something broken is worse than publishing nothing.

What this will not do

These are foundational signals, not a measure of AI citation. No answer engine is queried at any point.

Questions

Will an llms.txt file improve my rankings?

There is no published evidence that it will, and no search engine has committed to reading it. SEOAST checks it because the convention is cheap to satisfy and clients ask about it — which is why it carries the lightest weight on the list.

Can you tell me if ChatGPT recommends my business?

No, and anything that claims to should be asked how. SEOAST measures whether your page can be crawled, read and interpreted. It does not query answer engines.

Does blocking AI crawlers hurt me?

SEOAST reports which AI crawlers your robots.txt blocks as a fact, not a verdict. Blocking them is a legitimate business decision and the report does not score you down for it.

  • Technical SEO audit

    Run a technical SEO audit on any URL. SEOAST checks HTTP status, redirects, HTTPS, robots.txt, the robots meta tag, X-Robots-Tag, canonicals and your XML sitemap, then ranks what to fix first.

  • Local SEO audit

    Audit a local business page for the signals map results depend on: LocalBusiness schema, NAP consistency, geo coordinates, opening hours, a maps link and linked profiles.

Audit your page

No signup required to start.