If you've been watching your organic traffic flatten while ChatGPT, Perplexity, and Google's AI Overviews quietly answer the questions that used to bring people to your site — you're not imagining it.
The discipline catching up to that shift has a name: AEO — Answer Engine Optimization. And there's a lot of fast-moving advice about it floating around right now, much of it overstated.
So I want to be honest up front: most of AEO is just SEO done well. Schema.org, structured data, semantic HTML, sitemaps, canonical URLs — these have been SEO best practices for a decade. Good SEOs have been doing them all along. If you're already doing them, you're already doing most of AEO.
What's genuinely new with AEO comes down to three things:
- Sharper focus on entity resolution — AI engines weight "who wrote this" much more heavily than ranking algorithms ever did.
- A small set of plain-text conventions for AI crawlers — emerging, not yet universal.
- Cleaner extraction surfaces — making it easier for engines to pull your article body out of a noisy page.
I spent this weekend with Claude Code running a sprint to modernize my site's technical SEO for the AEO era. Twenty-five distinct improvements. I'm going to walk through every one — but before the list, I need to make one critical distinction that the rest of this post depends on.
The most important framing: schema is identity, not authority
Here's the trap most AEO advice falls into: it implies that if you ship the right structured data, AI engines will start citing you.
That's not how citation works.
Two different things determine whether AI engines cite your content:
Identity — who you are. Schema controls this. It tells AI engines exactly which entity wrote the content, what organization stands behind it, and how to spell the author's name correctly.
Authority — whether you should be trusted. Schema does not control this. Authority comes from external signals: backlinks from credible sites, mentions across the web, your historical content, and reputation accumulated over time.
A site with perfect schema and no external reputation will mostly get ignored. A site with strong external reputation will get cited even with mediocre schema.
What schema actually does is connect your site to the reputation you've already built elsewhere. When ChatGPT decides whether to attribute a quote to "GenEdge founder Natalie Lambert" by name, it needs to (a) extract that name from your site (HTML works for this; schema makes it reliable) and (b) match that entity to the LinkedIn profile, Maven instructor page, and Forrester analyst history that already exist out in the world. The sameAs property in Person schema is what makes that match possible.
So here's the honest framing for everything that follows:
Schema doesn't generate citations. It ensures you get credited correctly when you've earned them.
Keep that in mind as you read the rest. Now, the list.
If you do one thing: Tier 1 (entity authority)
This is the highest-leverage tier and the one I'd push to the top if your team only has bandwidth for a single sprint. It's the foundation everything else builds on.
| What I shipped | What it does | SEO or AEO? |
|---|---|---|
| Organization schema (site-wide) | Declares GenEdge as a legal entity with a logo, founding date, contact point, and topics it knows about. | SEO best practice for years; AEO leans on it more heavily. |
| Person schema for me | Establishes Natalie Lambert as a named entity with prior employers (Google Cloud, Citrix, Forrester), areas of expertise, and links to LinkedIn and Maven via the sameAs property. |
SEO (E-E-A-T); critical for AEO citation by name. |
| WebSite schema | Tells engines this is a publication, who publishes it, and what language it's in. | Standard SEO. |
| AboutPage schema | Wraps the About page and explicitly links the Person to the Organization via stable @id references. | Standard SEO. |
The sameAs property is the single most underused field in this tier. It's what tells AI engines "the author of this site, the person with this LinkedIn profile, and the instructor on this Maven course are all the same human." Without it, engines treat each as a separate weak signal. With it, they can pool your entire reputation into one entity.
Tier 2 — Article-level structured data
Once engines know who you are, give every article the same treatment.
| What I shipped | What it does | SEO or AEO? |
|---|---|---|
| BlogPosting schema on every post | Each article declares its headline, author (linked back to my Person schema), publisher (linked to Organization), publish date, modified date, hero image, language, and section. | Long-standing SEO best practice; powers Google's "Articles" rich results and AI engine attribution. |
| BreadcrumbList schema | Tells engines where the page sits in the site hierarchy. | SEO. |
| ISO 8601 dates with timezone | Bare YYYY-MM-DD dates trigger non-critical warnings in Google's structured data validator — not blockers, but worth fixing. The fix is YYYY-MM-DDT00:00:00Z. AI engines are also more time-sensitive than search algorithms, so precision helps. |
SEO hygiene; equally important for AEO. |
A note on what BlogPosting schema actually does: AI engines can extract author and date info from your <h1> and a byline div in the HTML alone. Schema doesn't make extraction possible — it makes extraction reliable. Think of it less as a "citation trigger" and more as an "attribution insurance policy." When the AI does cite you, you want the attribution to be correct. Schema is how you guarantee that.
Tier 3 — Content-type-specific schemas
Different page types deserve different schemas. A course page isn't an article. A contact page isn't a blog. Each unlocks a different rich result surface in Google and clearer attribution in AI engines.
| Page type | Schema | What you get |
|---|---|---|
| Courses page | Course per offering | Google has dedicated rich results for courses — provider, schedule, instructor can appear inline in search. |
| Service pages (Training, Digital, Studio) | Service with OfferCatalog | Lists named sub-offerings ("foundational AI training," "custom GPT design," etc.) so engines understand exactly what you do. |
| Contact page | ContactPage + ContactPoint | Surfaces email/contact in Knowledge Panels. |
| Blog & newsletter index | Blog + ItemList | Tells engines "this is a publication, here are the latest articles." |
All of this is mature SEO territory. Mature, but underused — most marketing sites have an Article schema on blog posts and call it done.
Tier 4 — The genuinely new stuff: AI-friendly content delivery
Here's where AEO actually diverges from SEO. And here's where you should be most skeptical of overclaims, including some of mine.
The honest version: AI engines are getting better at extracting content from messy HTML. Plain-text companions reduce friction for them, but they aren't strictly required. These are emerging conventions worth being early on, not requirements for getting cited today.
| What I shipped | What it does | How established is this? |
|---|---|---|
| /llms.txt | Plain-text table of contents listing every page on the site with a short description. | Emerging. Real but young — only gained traction in the last 6–9 months. Anthropic, Perplexity, and others are starting to look for it. |
| /llms-full.txt | A single plain-text file containing your entire content corpus — every post concatenated — for AI agents doing RAG. I shipped one, then removed it. See my full take below. | Emerging — but carries real IP risk for personal brands. Not a free win. |
| Per-post /raw.txt companions | Every blog and newsletter post has a clean plain-text version at /blog/<slug>/raw.txt. No nav, no footer, no CSS — just the article body with a structured header. | Useful but not required. AI crawlers can extract from HTML; this just makes it easier. |
| <link rel="alternate" type="text/plain"> | Points crawlers at the plain-text version from the HTML page. | Standard HTML, just under-used. |
The /llms-full.txt question — and why I removed mine
There's another emerging convention I want to flag specifically because most of the advice I've seen treats it as a free win, and it isn't.
llms-full.txt is a single plain-text file containing your entire corpus — every blog post, concatenated. It's designed for AI agents doing RAG (retrieval-augmented generation) to pull your full content in one HTTP request.
I shipped one. Then I removed it.
The reason: it makes it trivially easy for competitors to scrape your full intellectual property and use it to train AI clones of your voice. For a personal brand where the writing voice is the product, that's an irreversible risk for a speculative benefit.
Here's the honest framework:
| If your site is… | Decision |
|---|---|
| A documentation site, software docs, open-source project, B2B company where the content is marketing (not the product), or any site where being widely ingested is the goal and your competitive moat is something other than your writing. | Yes — the upside is real, downside is small |
| A personal brand, solo creator, coaching business, consulting firm, or any business where your voice or methodology is what you sell. | No — the downside outweighs the upside |
| A media publication (high volume already gets scraped, so marginal risk is small), or an enterprise blog where IP is mixed (some shareable, some not). | Maybe — depends on your specific situation |
The decision rule: if your writing voice is part of your competitive moat, don't ship it. A standard sitemap plus /llms.txt plus per-post plain-text companions covers 90% of the AI-friendly delivery story without bundling your full corpus into a one-click scrape target.
Tier 5 — Crawl, discovery, and freshness
| What I shipped | What it does | SEO or AEO? |
|---|---|---|
| RSS feeds with full content | Both the blog and newsletter have RSS feeds with <content:encoded> wrapping the full HTML body — not just an excerpt. |
Useful for human subscribers (Feedly, NetNewsWire) and AI agents that subscribe to source feeds. Don't expect RSS to be a primary LLM ingestion path; it's a freshness/discovery signal. |
| Sitemap with lastmod dates | Standard, but critical: lastmod uses each post's modifiedDate when present, falling back to the publish date. | SEO basics, equally important for AEO. |
| robots.txt | References the sitemap and disallows utility pages and API routes. | SEO basics. |
| Auto-generated heading anchors | Every H2 and H3 in every post gets an id so URLs like /blog/post#section-name work. | SEO ("jump to" links in Google), AEO (citation deep-links). |
| Custom 404 page | Instead of dead-ending crawlers (and humans), the 404 shows the full site map and recent posts. | SEO. |
| humans.txt | Minor authorship signal that some AI systems read. | Quirky-cute. Don't over-weight it. |
| noindex on utility pages | Customer survey, Chrome extension privacy policy — kept out of search so they don't dilute the entity authority of the marketing pages. | SEO hygiene. |
Tier 6 — Metadata and social polish
| What I shipped | What it does | Notes |
|---|---|---|
| Per-page canonical URLs | Prevents duplicate-content confusion. | SEO basics. |
| Twitter summary_large_image cards | Richer link previews on X/Twitter, iMessage, Slack. | Social, not AEO. |
| OpenGraph article:published_time + article:modified_time | Freshness signals for social platforms and AI engines that read OG tags. | SEO/social, also helpful for AEO. |
What you can probably skip
Speakable schema marks specific content as ideal for voice/audio answer engines. It was Google's news-briefing experiment for Google Assistant, and frankly, it never went mainstream. Support is limited (mostly news organizations in specific regions), and adoption hasn't matched the early hype.
If you're a news publisher, ship it. Otherwise, you can skip it without missing anything that matters in 2026.
Where to actually start
If your team has bandwidth for one sprint this quarter:
Tier 1. Just Tier 1. Add Organization and Person schema to your site. Without it, nothing else compounds.
If you have bandwidth for two:
Tier 1 + Tier 2. Add BlogPosting (or NewsArticle) schema to every article page. This is the difference between AI engines guessing your name and AI engines getting it right.
If you have bandwidth for three and you want to be early on the AEO-specific conventions:
Tier 1 + Tier 2 + the safe parts of Tier 4. Ship /llms.txt and per-post /raw.txt files. Skip /llms-full.txt unless your business model says it's safe.
Everything else — Tiers 3, 5, and 6 — is good hygiene. Worth doing eventually. Not worth blocking a launch on.
The bottom line
SEO didn't die. It expanded. The audience grew from "Google's ranking algorithm" to "Google's ranking algorithm plus Google's AI Overviews plus Perplexity plus ChatGPT browsing plus Claude search plus whatever ships next quarter." The core work — structured data, semantic HTML, entity resolution, freshness signals — is the same.
The honest version of AEO advice isn't "throw out everything you know." It's:
- Do the SEO basics that everyone has been telling you to do for years.
- Prioritize entity authority above everything else — schema is what connects your site to your existing reputation.
- Place small bets on the AEO-specific conventions that are starting to emerge — but be selective. Some bets carry real downside.
- Remember that schema doesn't manufacture citations. It ensures you get credited correctly when you earn them.
That's what I did. Steal whatever's useful. If you see a gap in the logic or a better way to handle the technicals, let's compare notes.



