AI search optimization: what one day of measuring actually showed us
On the day we found Google's own documentation stating “Google Search ignores llms.txt,” we re-measured our site from top to bottom. Language buttons were erasing the body text. Thirty pages we had already translated were locked out of search. And most uncomfortably, our own audit tools were wrong four times in a single day. Here are the numbers and the sources, in full.
01What Google says you don't need to do
The usual prescriptions for AI search optimization go something like this: publish an llms.txt, chunk your content, rewrite it so AI can read it. We had been doing some of these ourselves.
Google's own documentation contradicts a good portion of them. Quoted directly:
“Google Search doesn't use it, so you don't need to create new machine-readable files, AI text files, markup, or markdown to appear in Google Search, including its generative AI features. (…) Google Search ignores them, so they have no effect on your site's visibility or ranking in Google Search.”
Google Search Central · Optimizing your site for generative AI features in Google Search
The same document also says:
| Common prescription | What Google writes |
|---|---|
| Publish an llms.txt | “Google Search ignores them” |
| Chunk your content | “You don't need to break content into smaller pieces” |
| Rewrite for AI | “You don't need to write in a special way” |
| Chase more mentions | “Chasing inauthentic mentions doesn't help as much as you might think” |
| Focus on structured data | “Structured data isn't required for generative AI search” — though it remains useful for rich results |
And then the sentence that matters most:
“From Google Search's perspective, optimizing for generative AI search is optimizing for Search, so it's still search engine optimization.”
Same document · on the terms AEO and GEO
Our conclusionNeither AEO nor GEO is a separate discipline. There is no new trick to learn. What shows up is simply whether the ordinary work was done properly. So instead of hunting for tricks, we re-measured our own site.
To avoid a misreading: none of this makes llms.txt harmful. Google also writes that “it's perfectly fine to create and maintain them for other services or systems.” It just means there is no reason to build one expecting Google visibility. We didn't delete our file. We lowered its weight in our own scorecard.
02So we measured again — and the real problems were all fundamentals
① Pressing a language button erased the page text
Our site runs four versions: Korean, Traditional Chinese, Simplified Chinese, and English. Yet pressing “简” on a Traditional Chinese page made every word on screen disappear. Boxes, icons, and star ratings remained. Nothing else.
The cause was a single line. The language button wasn't changing the page. It was only swapping a language marker on the screen.
| Page | Text it actually holds | Pressing “简” does this |
|---|---|---|
| Korean home | 394 Korean strings | hide Korean → show Simplified → 0 Simplified strings exist |
| Simplified guide | 235 Simplified strings | hide Simplified → show Traditional → 0 Traditional strings exist |
| English case page | 206 English strings | hide English → show Simplified → 0 Simplified strings exist |
Each language page holds only its own language, so instructing it to display a language it doesn't have left nothing to display. Worse, the choice was remembered, so from then on the page opened blank without any click at all.
The fix was plain: make the language button navigate to that language's URL. For the destination we did not build a lookup table — we used the language alternate declarations (hreflang) each page already carried. A separate table eventually drifts out of step with the actual files. And on pages that simply don't have that language, we made the button do nothing at all. Leaving the page as served beats producing a blank screen.
The side effect that matteredChanging language now changes the URL. Until today, someone reading in Traditional Chinese was still sitting on the Korean URL. We had built four languages while every visit, share, and indexing signal piled onto a single Korean address.
② Thirty translated pages were locked out of search
Thirty translated pages still carried a “keep this out of search” instruction. Every Korean page was open; only the translations were closed. It looks like a lock applied while they were unfinished, and never removed.
But we couldn't simply open them, because the translations were uneven.
③ One page was 100% the right length and 0% translated
Our first rule was “open anything at 60% or more of the Korean original's length.” One English page passed at 100%. Opening it revealed a file identical to the Korean version, character for character. Nothing had been translated. The file had simply been copied.
Another had only its title translated: 100% of the length, 1% Han characters, 56% still Korean.
So the rule became three conditions:
- Length — at least 60% of the Korean original
- Target-language characters — Han characters for Chinese, Latin for English, at least 20%
- Source-language residue — under 15% Korean remaining
By that rule we opened 12 and held back 18. The ones held back are mostly English, with bodies running 8–21% of the original — shells. Google treats such pages as “content with little effort, little originality, and little added value.” Opening them today wouldn't just cost us that page; it would cost the site's overall assessment. Filling them comes before opening them.
03The most valuable finding — our audit tools were wrong four times in one day
This is the part we most wanted to write down.
| What the tool said | Tool | Source check | Why it was wrong |
|---|---|---|---|
| Web fonts are blocking render | 149 files | 93 → 0 | Counted preconnect hints and noscript fallbacks as blocking |
| Language alternates are broken | 28 breaks | 0 | Treated URL spelling differences (trailing /) as different URLs |
| Blocked pages are in the sitemap | 30 pages | 0 | Read an appearance as another page's alternate as a listing |
| Translation is 100% complete | 100% | 0% | Measured length only, never language |
Four times the pattern was identical: the tool produced a plausible number, and opening the source told a different story. One of those times we already knew about the trap and walked into it anyway. An automated checker only asks whether a string appears inside a <link>. It has no idea what that tag actually does.
There was a worse one. We ran a file-rewriting script twice, and the second run printed “143 files changed” — and we let it pass. Running the same operation twice should change zero files the second time. We didn't read that signal. That run damaged 143 files. They were recoverable because the work was already committed, and since then we compare file hashes before and after to prove the two runs are identical before moving on.
The rule we settled onTools are a starting point. The source decides. Selling a scorecard is easy; opening the file to see what the score rests on is the part that isn't. Google writes the same idea plainly — “Third-party tools don't have access to Google's internal ranking data.”
04What we actually changed today, with numbers
| Item | Before | After |
|---|---|---|
| Files where switching language erased the text | 76 | 0 |
| Web font links blocking first render | 93 | 0 |
| Translations locked out of search | 30 | 18 (held back with cause) |
| URLs listed in the sitemap | 201 | 216 |
| Reciprocal language alternates | — | 231 pages, zero breaks |
| Pages sharing an identical description | — | 0 groups (214 checked) |
We also worked on structured data — the very item Google says generative AI search doesn't require. We added it anyway, because the same sentence continues: “it's still a good idea to use it as part of your overall SEO strategy, since it helps your content appear in rich results.” But we added it under one rule — we don't mark up anything that isn't visible on the page.
05Three things you can check in thirty minutes
- Paste your own web address into a search box. If your page doesn't come back, it isn't registered with search yet. Try your company name too.
- Press one of your other language buttons. If the URL doesn't change, every visit from readers of that language is accumulating on one address.
- Look for anything you locked with “we'll open this when it's ready.” We had thirty. Writing what condition unlocks it, in the same place you lock it, prevents most of these.
For measurement, use Google Search Console. Google describes it as “a first-party tool that provides key information and data directly from Google Search,” and the report covering generative AI features lives there too.
Sources
- Google Search Central · Optimizing your site for generative AI features in Google Search
- Google Search Central · Google Search's guidance on third-party SEO tools, services, and advice
- Google Search Central · Tell Google about localized versions of your page (hreflang)
- Google Search Central · Google Search technical requirements
- Google Search Central · Intro to structured data markup