Generative engine optimization (GEO)

Get your pages ready to be cited in AI answers

Generative engine optimization is the work of making a page easy for AI systems to find, read, trust and quote. Traditional SEO earns a position in a list of links; GEO earns a mention inside the answer itself. The foundations are the same ones search has always rewarded, but the tolerance is lower: an answer engine that cannot fetch, parse or attribute your page simply cites someone else. SEOAST audits those foundations on any URL and tells you, in order, what to change.

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

The 12 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.

  • Canonical URL

    canonical

    Presence of <link rel="canonical">, whether its href is absolute in the markup, whether it resolves to the audited URL itself, and whether more than one canonical is declared. A missing or conflicting canonical lets parameter and trailing-slash variants compete with the page.

    Fixing it: Consolidates duplicate URL variants onto one address, so ranking signals stop being split.

  • 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.

  • Question-and-answer extractability

    qa_content

    Headings that end in a question mark, and summary/details blocks, in the main content — each paired with the copy beneath it, plus any FAQPage or QAPage JSON-LD. Fails when marked-up questions are absent from the visible copy, or when every question on the page has under 15 words beneath it; warns when questions carry no markup, when some go unanswered, or when an answer runs past 200 words before reaching the point. A page with no questions on it reports not_measurable — this measures how liftable existing answers are and does not require a page to have any.

    Fixing it: Lets an answer engine lift a complete answer off this page instead of a fragment of one.

  • Content depth and readability

    content_readability

    Visible copy taken from <main>, <article>, <body> or the document, then measured for word count and Flesch Reading Ease. Under 300 words reads as thin; a reading ease below 30 reads as academic or legal prose to a general audience.

    Fixing it: Gives the page enough substance to be a credible answer to the query.

  • Internal linking

    internal_linking

    Anchors classified into same-site, external, same-page fragment, non-navigation (mailto:, tel:, javascript:) and href-less. Fewer than 3 internal links makes the page a crawl dead end. Reports not_measurable when the final URL could not be parsed, since there is no origin to judge "same site" against.

    Fixing it: Gives crawlers a path onward from this page and spreads authority through the site.

  • Business identity

    business_identity

    The business name as claimed in JSON-LD, og:site_name, the copyright line and the logo alt text, compared across those sources after normalising punctuation and legal suffix. Fails when a page that presents a business names it nowhere readable, or names it only outside structured data; warns when the sources disagree. Reports not_measurable on any page that does not present a business at all.

    Fixing it: Gives search engines one stable business name to match this site against its own listings, reviews and citations.

  • Professional license and credentials

    professional_credentials

    Whether a page presenting a regulated profession — legal, medical, dental, financial, real-estate, insurance, accounting, veterinary or a licensed trade — publishes a license, registration or certification number, detected from schema type and page copy. Fails when the profession is claimed and no credential is stated; warns when one is stated but names no issuing body or sits outside structured data. SEOAST reads what the page states and verifies nothing with any licensing board.

    Fixing it: Puts the license behind a regulated claim on the page in a form a reader and a machine can both check.

  • 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 to work it

  1. Step 1

    Audit

    Run the URLs that matter most — the pages you most want quoted. Each report scores indexability, search appearance, content, machine readability and AI-search readiness separately, with a coverage line stating what was fetched.

  2. Step 2

    Prioritize

    Findings arrive ranked by impact, confidence, scope and effort. Fix access and rendering problems first: nothing further down the list counts until the engine can read the page.

  3. Step 3

    Restructure

    Put a direct answer under each question heading, tighten the heading hierarchy, add or repair JSON-LD, and make the business identity consistent. The fastest progress usually comes from improving pages you already have, not from writing new ones.

  4. Step 4

    Re-audit

    Audit the same URL again after the change ships. The report shows the score against the previous run, so you can see which fixes landed and which regressed.

  5. Step 5

    Extend

    Apply what worked to the next set of pages, and wire the audit into a build pipeline or agent over the REST API or MCP so new pages are checked before they ship.

Where AI answers get their pages

Each answer engine sources pages differently, and robots.txt governs each crawler separately. SEOAST reports which AI crawlers your robots.txt blocks; it does not query the engines themselves.

ChatGPT search
Pages fetched by OpenAI’s crawlers. OAI-SearchBot governs whether a page can surface in search answers; GPTBot governs training and is a separate decision.
Google AI Overviews and AI Mode
Google’s own search index, crawled by Googlebot. A page that is noindex, blocked or thin in the index is out of contention before any AI feature is involved.
Gemini
Grounds answers on Google Search. Google-Extended controls use of your content for Gemini models and does not remove a page from Search.
Perplexity
Its own index, built by PerplexityBot, and live fetches when a user asks. A robots.txt block on PerplexityBot takes a page out of that index.
Microsoft Copilot
The Bing index, crawled by Bingbot. Bing Webmaster Tools and IndexNow are the levers; a page Bing has not indexed cannot be cited.
Claude
Web search results plus pages fetched on request. Anthropic publishes separate tokens for search (Claude-SearchBot), user fetches (Claude-User) and training (ClaudeBot).

How this works in practice

What GEO is, in one paragraph

A generative engine answers a question by retrieving pages, reading them and composing a response, often with sources attached. To be one of those sources a page has to clear four gates in order: the engine is allowed to fetch it, the content is in the HTML it fetched, the structure lets a passage be lifted cleanly, and the page is attributable to an entity worth trusting. GEO is working those four gates. Everything else — tone, length, freshness — matters only once they are clear.

Gate one: can the engine fetch the page at all?

Answer engines crawl with their own user agents, and robots.txt treats each one separately. It is common to find a site that welcomes Googlebot and blocks OAI-SearchBot or PerplexityBot through a copied rule nobody remembers adding. SEOAST reads your robots.txt, reports which AI crawlers it blocks as a fact rather than a verdict, and checks the X-Robots-Tag header and canonical for the quieter ways a page removes itself.

Gate two: is the content in the first response?

Many AI fetchers do not execute JavaScript. A page that assembles its copy on the client can look complete in a browser and be close to empty to the system deciding whether to quote it. SEOAST measures visible text as a share of the response and the server-rendered word count, and says plainly when the answer is "nothing here until the JavaScript runs".

Gate three: can a passage be lifted cleanly?

Engines quote passages, not pages. A clear heading hierarchy, a direct answer placed immediately under the question it answers, and JSON-LD that says what the page is all make a passage easier to extract and attribute. The Q&A extractability check measures exactly this: whether the questions on your page are answered in the copy beneath them, and how far a reader has to go before the answer arrives.

Gate four: is the source attributable and credible?

An engine choosing between two sources prefers the one whose identity is unambiguous. SEOAST checks that the business name agrees across structured data, site name, copyright line and logo, and — for regulated professions — that a license or credential is stated. These are the on-page parts of E-E-A-T, the ones you control directly.

What this does not do

SEOAST does not query ChatGPT, Perplexity, Gemini or Google AI Overviews, and it does not monitor or count citations. There is no AI visibility score here and no per-platform rating. Anyone selling you one should be able to show you the prompts, the sample size and the dates. What SEOAST measures is whether the page-side conditions for being cited are met — a smaller claim, and one that can be checked on every run.

What this will not do

SEOAST audits page-side readiness for AI answers. It does not query answer engines, track citations or share of voice, or build links and mentions off your site.

Questions

What is generative engine optimization?

GEO is making your pages easy for AI systems — ChatGPT search, Google AI Overviews, Gemini, Perplexity, Copilot and Claude — to fetch, read, trust and quote. Where SEO aims for a ranked link, GEO aims for your brand being cited or recommended inside the generated answer.

How is GEO different from SEO?

GEO builds on the same foundations — crawlability, indexability, clear structure, credible sources — and aims at a different outcome: a citation in an answer rather than a click from a results page. In practice most GEO work is SEO work done more strictly, because an answer engine is less forgiving of a page it cannot parse.

Is GEO the same as AEO?

They overlap almost entirely. Answer engine optimization (AEO) is the older term, coined for featured snippets and voice answers; GEO is the newer one for AI-generated answers. Both come down to pages that answer questions directly and can be attributed. See the AEO audit page for the answer-extraction side in detail.

Does GEO hurt my traditional SEO?

No. The changes GEO asks for — server-rendered content, clean headings, valid structured data, direct answers, a consistent identity — are the same changes search engines already reward. There is no trade-off to manage.

Do I need to write new content for GEO?

Usually not first. The quickest wins come from restructuring pages you already have: moving the answer to the top of a section, marking up the questions, and fixing whatever stops the page being fetched or rendered. New content is for the questions you do not yet answer anywhere.

How do I measure whether AI engines cite me?

SEOAST does not measure it, and says so. The practical methods are running your target questions in each engine on a fixed schedule and logging which sources appear, and watching your server logs for AI crawler and referral traffic. SEOAST covers the part those methods cannot: whether each page is technically fit to be cited in the first place.

How long does GEO take?

Page-side fixes can be verified the same day with a re-audit. When the engines pick up the change depends on how often they recrawl your site, which ranges from days to months and is outside anyone’s control.

What does a GEO audit cost?

Audits run free without an account, up to a daily limit. An API key raises that limit and opens the REST API and MCP server for pipelines and agents.

  • Answer engine optimization (AEO) audit

    AEO audit for any URL. SEOAST checks whether your answers can be extracted: question headings, direct answers beneath them, FAQPage and QAPage schema, heading structure, readability and server-rendered copy.

  • AI-search readiness audit

    Check whether your page can be crawled, parsed and understood without JavaScript. SEOAST measures the foundational signals — crawl access, server-rendered content, structured data, heading structure and llms.txt — that machine readers depend on.

  • 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.

Audit your page

No signup required to start.