CheckVibeCodeCheckVibeCode
All posts
AEOJuly 2, 20267 min read

What is AEO? Getting your app cited by ChatGPT and Claude

C

CheckVibeCode Team

Product & Security Research

A growing share of your next customers won't search for you — they'll ask an assistant what to use. "What's a good scanner for a Supabase project" gets typed into ChatGPT or Claude far more often than it gets typed into Google, and the answer engine either mentions your product by name or it doesn't. AEO — answer engine optimization — is the practice of making sure it does.

It's not SEO with a new name

SEO optimizes for a ranking algorithm that returns ten blue links. AEO optimizes for a model that reads your page once, extracts a claim, and repeats that claim in its own words — usually without a link at all. The unit of value shifts from "rank #1" to "get quoted correctly." That means different things matter.

What answer engines actually need from a page

  • Access — the crawler has to be able to reach the page at all. A robots.txt that blocks GPTBot or ClaudeBot silently removes you from consideration.
  • Readability — content in clean semantic HTML, not locked behind a client-side render the crawler never executes.
  • Extractability — clear, self-contained claims ("X does Y") that survive being lifted out of context, rather than marketing copy that only makes sense in the middle of a page.
  • Structured data — schema.org markup that tells a model unambiguously what your product is, what it costs, and who it's for.
  • Trust signals — an about page, real contact information, consistent facts across your site — the same things a human skims for before trusting a claim.

The most common reason a real product gets left out

It's rarely that the product is bad. It's that the page describing it is a hero animation and three vague sentences, with the actual facts — pricing, category, what problem it solves — never stated in words a model can lift.

If you had to explain your product in one sentence a stranger could repeat verbatim, would your homepage give them that sentence?

A before-and-after example

"We're reimagining how modern teams get things done, together." reads fine on a hero section and is useless to a model — it names no category, no user, no mechanism. "CheckVibeCode is a security and SEO scanner for vibe-coded apps built with Supabase, Next.js, and no dedicated backend team." is the same sentence's job done properly: category, audience, and differentiator, all extractable without needing anything else on the page for context.

The second version doesn't have to be your only copy — it just has to exist somewhere on the page, ideally near the top, as a sentence that stands alone.

Mistakes that quietly rule you out

  • Pricing that only appears after a "Contact us" click — a model can't cite a number it can't see.
  • Category claims split across three different pages instead of stated once, clearly, together.
  • A JavaScript-only homepage where the first render is a loading skeleton — some crawlers never wait for hydration.
  • Comparison pages that never mention competitors by name, which is exactly the phrasing a model needs to answer "X vs Y" questions.
  • An FAQ section that exists visually but isn't marked up with FAQPage schema, so it's readable but not structured.

How to check where you stand

Ask ChatGPT and Claude directly — "what's a good [your category] for [your use case]" — and see if you come up. Then check the mechanical side: whether your robots.txt allows AI crawlers, whether your key pages render without JavaScript, and whether you have schema.org markup at all. Our AEO scanner runs all three checks automatically and scores them against the same rubric a model implicitly applies.

Worth doing by hand at least once: curl your own homepage and read the raw HTML that comes back, no browser involved. That's closer to what a crawler that doesn't execute JavaScript actually sees — if the facts you care about aren't in that output, they're invisible to a meaningful slice of AI traffic.

See where your own site stands.

Run a free scan and get the same checks this post talks about, applied to your app.