We Don't Write for AI. We Write So AI Can't Misquote Us.
In May 2025, Google published an AI optimization guide for the era of AI Overviews and generative search. People expected a new manual: special files, new markup, AI-targeted prose. The guide is almost anticlimactic. The headline message: there is no separate "AI SEO."
AI Overviews, the answer boxes at the top of Google results, retrieve from the same index that classical search has always used. The same crawler. The same ranking. The same content. What's quoted to a person asking ChatGPT or a person asking Google is the same content the next person reads on your page.
Google calls out, by name, the things not to do:
- Don't create
llms.txtfiles. - Don't "chunk" your content for AI parsers.
- Don't rewrite prose for LLMs.
- Don't chase inauthentic AI mentions across the web.
- Don't fixate on structured data.
The actual playbook is short: ship semantic HTML, make content crawlable, write something a human would find useful, and let the AI ride the same rails as Search. The bar is one bar, for one audience.
Where Most Sites Get This Wrong
The mistake isn't writing the wrong way for AI. The mistake is writing things that aren't true — and putting them in places where AI is most likely to quote them verbatim.
The worst offender is JSON-LD FAQPage markup. Google's AI Overviews pull answers directly from Question/Answer pairs in structured data. If your FAQ says you serve "veterinary clinics, real estate agencies, and event venues" — but you've never built any of those — that's the exact text the AI will quote when someone asks what you do.
We know this because we caught it on our own site. We had a FAQPage answer that listed business categories we'd never served. Not deliberate fiction — just stale copy a previous version of the site had carried forward. Google was, almost certainly, repeating it back when anyone asked an LLM about us.
We rewrote the answer to match the actual portfolio: boutique retail, residential design and remodeling, owner-operated logistics, retail and event-catering point-of-sale. We didn't make the FAQ longer. We didn't add more entries. We made the existing entries true.
The Same Audit Applies to Everything Indexable
Once we'd caught the FAQ, we found the same pattern elsewhere:
- Our "Work" page listed 10 client projects. Six of them pointed at subdomains that didn't exist. Placeholder cards a previous version of the site had filled with speculative companies.
- Two service cards listed technology tags we don't actually use. (The boutique was tagged
SUPABASE; the moving company taggedNEXT.JS. We use neither.) - The hero of the homepage promised a
48hfirst delivery on every project — a stat that was true for some quick mockups but not for the kind of work in the actual portfolio.
An LLM trained on this content — or quoting it directly — would tell prospects we serve markets we don't, with technologies we don't use, on timelines we can't always meet. Not because anyone lied, but because the site had drifted.
What We Did Instead
The fix wasn't elaborate. It was the same fix you'd apply to any drifted documentation:
- Cut the false claims. The six speculative work cards came out. The tags that named wrong tools got corrected. The 48-hour stat became a stat we could actually defend.
- Rewrite the FAQ around real verticals. Less marketing language. More specific business categories that match the portfolio.
- Add structured data where the truth deserves to be quoted. Each live project now ships
LocalBusiness,Product, orMovingCompanyJSON-LD on its detail page — with addresses, phone numbers, license numbers, area-served polygons. Not for AI. For humans clicking through. The AI happens to quote it accurately as a side effect. - Gate sitemap drift at deploy time. A lint script now walks every site's content tree and refuses to deploy if the sitemap and the filesystem disagree. If a page exists but isn't listed, deployment fails. If a page is listed but doesn't exist, deployment fails. The category of error that caused the original drift can't recur.
The Shape of the Rule
If you write something on your site that wouldn't be defensible quoted out of context, an AI is going to quote it out of context. That's the actual threat model. Not that the LLM will misunderstand you — that it will understand you perfectly, including the parts you'd hoped no one would read closely.
The fix is upstream of any AI machinery: make every quotable claim a true one, and trust the retrieval layer to do its job. The same posture you'd take if you knew a prospect was going to read every page of your site before the first call. Some of them already are. Some of them are using AI to read it for them.
The Tactical Checklist
If you want a concrete to-do list from this:
- Open your
FAQPageJSON-LD. Read every answer out loud. If it names a client type, a price, a technology, or a stat — verify each one against the actual business. Anything you can't defend, rewrite or delete. - Open your portfolio. Click every link. Anything that 404s or redirects to a placeholder, cut the entry. Better to ship five real cards than ten with six broken.
- Open your hero/stats section. Each number is a claim. Each claim is a thing an AI Overview will quote. If you can't point at the work that backs it, don't ship it.
- Run Google's Rich Results Test on every page. It will tell you exactly which JSON-LD blocks Google sees, and what's inside them.
- Add a deploy-time check that your sitemap matches your filesystem. If you don't have a CI/CD pipeline, a Makefile target is fine. Anywhere the check lives, it has to block, not just warn.
None of this is AI-specific. All of it is what the web has always asked for, with one new audience layered on. The audience just happens to read everything and forget nothing.
Don't write for AI. Write so AI can't misquote you. Same bar. Same content. Same site.