# [LLM SEO: what transfers from SEO, and what does not](https://rebilder.com/learn/llm-seo)

> LLM SEO for people who already do SEO: what carries over, what to stop doing, a step-by-step audit, and what you can honestly promise a client.

- **Updated:** 2026-08-16

LLM SEO is search optimisation aimed at systems that answer instead of listing. If you already do SEO, most of your judgement transfers and a specific part of your toolkit does not, and knowing which is which is the whole job.

This guide is written for practitioners: what carries over unchanged, what quietly stopped working, the audit that finds the gap, and what you can honestly put in a proposal. It assumes you know what a canonical tag is and does not explain one.

## What LLM SEO means, and why the name is unhelpful

LLM SEO is the practice of making a site retrievable and quotable by large language models and the agents built on them. The name is unhelpful because it suggests the same work pointed at a new engine, and the most important part of it is not content work at all: it is what your server returns when an assistant fetches a URL mid-conversation.

That is the shift worth internalising before anything else. Classic SEO optimises for a crawler that visits on its own schedule and a ranking that resolves over weeks. LLM SEO optimises for a fetch that happens because a user asked a question thirty seconds ago, under a token budget, with no rendering and no patience. The feedback loop is one HTTP request long.

> **One diagnostic, before anything else** Run `curl -H 'Accept: text/markdown' https://client-site/key-page` next to a plain `curl`. If the two responses are identical theme HTML, you have found the gap, and no amount of content work will close it. This takes about a minute and settles most arguments about where to start.

## What transfers, what stops counting, what is new

Three columns, and the middle one is where experienced practitioners lose time by continuing to do work that used to pay.

| Transfers unchanged | Stops counting | Newly load-bearing |
| --- | --- | --- |
| Crawlability and fast, stable responses | Keyword density and heading stuffing | Answering `Accept: text/markdown` |
| Titles that state the page’s subject | Layout, visual hierarchy, above the fold | Response size, measured in tokens |
| Internal linking that reaches every page | Word-count targets | How deep the first core fact sits |
| Accurate structured data where a spec exists | Anything that appears only after JavaScript | Bot rules in the CDN and the WAF |
| Topical authority and real citations | Interstitials, carousels, modals | A curated index at `/llms.txt` |

The middle column is not neutral, it is expensive. Every kilobyte of layout markup is context the assistant spends before reaching your facts, and anything rendered client-side is simply absent from what a fetch returns. A page that looks perfect in a browser and scores badly here is the normal case, not an anomaly.

## Four things to stop doing

- **Stop shipping facts client-side.** A price, an opening-hours table, or a fee list that only appears after JavaScript runs does not exist in the response an agent reads. This single item explains more bad scores than the other three combined.
- **Stop treating llms.txt as the deliverable.** A mid-2026 study across 300k domains found no measurable citation lift from llms.txt alone, against roughly 4.2x for content negotiation. Ship the file; do not bill it as the strategy.
- **Stop inheriting bot rules.** A `robots.txt` line or CDN filter added years ago against scrapers now blocks the assistants your client’s customers are asking. Audit the rules as a deliberate decision rather than a legacy.
- **Stop reporting from page-view analytics alone.** Agent fetches run no JavaScript and fire no beacon, so a page-view script structurally cannot contain the results of this work. Reporting on it from one is how a successful project gets cancelled.

## An LLM SEO audit, step by step

Half a day on a mid-size site. The order is cheapest-first, and each step either finds the problem or rules it out.

1. **Reachability.** Fetch a representative page of each template from a plain terminal, with no browser headers. Note anything that challenges, redirects to a login, or answers differently to a non-browser user agent. This is the failure that makes every later measurement meaningless.
2. **Negotiation.** Repeat each fetch with `Accept: text/markdown`. Record whether the response differs at all. For most sites it does not, and that is the headline finding of the audit.
3. **Cost.** Measure the byte size of each template’s response and estimate tokens. You are looking for the ratio of chrome to substance, not an absolute number.
4. **Fact position.** For each template, find the character offset of the first fact a user would ask an assistant about. Price, hours, fees, eligibility, contact. An offset in the tens of thousands is a finding, even when the fact is technically present.
5. **Structured data agreement.** Check that the JSON-LD says the same thing the text says and covers the same fields. A page whose structured data describes hours but omits fees produces a confidently incomplete answer, which is worse for the client than no answer.
6. **Index and discovery.** `/llms.txt`, `/sitemap.xml`, canonical tags, and whether the index is generated or hand-maintained. A hand-maintained one disagrees with the site within a quarter.
7. **Score the baseline.** Run a readability score against a published spec on each template and keep the number. Taking it after the work is the most common way a team ends up unable to prove the change was worth doing.

## What you can honestly promise a client

This is where the discipline earns or loses its reputation over the next two years. Three tiers, and they should appear in a proposal in this order.

| Tier | Examples | What to say |
| --- | --- | --- |
| Measurable and controllable | Response size, whether the fetch is answered, fact position, readability score | Commit to it. These are properties of your own server and they move the week you ship |
| Measurable, not controllable | Agent visits by platform, answer rate, the miss log, AI-referred sessions | Report it, and set the baseline before you start |
| Neither | Being named in a given assistant’s answer to a given prompt | Never promise it. Assistants are not deterministic and no vendor controls the output |

The most valuable artifact you can hand a client sits in the middle tier: the list of URLs agents asked for that the site could not answer. It needs no vendor index and no other client’s data to be useful, it names the next fix in the order the market is asking for it, and it makes the work legible to someone who does not care about HTTP headers.

- **~38%**: Conversion lift, AI-referred visitors vs search
- **~4.2x**: Content negotiation vs llms.txt, accurate retrieval

## What the fix is worth, measured

Two reference captures, both deterministic and rebuilt from committed fixtures on every build. They are quoted separately because a product page and a services page carry different amounts of chrome, and averaging them would produce a figure neither one supports.

| Capture | Before | After | First fact |
| --- | --- | --- | --- |
| Commerce product page | 91,226 bytes | 1,315 (−98.6%) | Character 23,185 → line 4 |
| Clinic services page | 13,581 bytes | 1,412 (−89.6%) | Character 10,152 → line 8 |

Roughly **69× less context** on the commerce capture and 9.7× fewer tokens on the document one, for the same facts. Use the capture that matches your client’s site rather than the more impressive number: a services page quoting a PDP figure is the kind of overclaim that gets the whole discipline distrusted.

## What is LLM SEO?

Optimising a site so large language models and the agents built on them can retrieve, parse and quote it. In practice that means making sure the fetch is not blocked, answering `Accept: text/markdown` with clean text, front-loading the facts an assistant is asked for, and publishing a curated index at /llms.txt.

## Is LLM SEO the same as SEO?

It builds on it. Crawlability, fast responses, clear titles, internal linking and accurate structured data all still matter. What changes is that the reader is a parser with a token budget, so layout and visual hierarchy stop counting, client-side rendering stops existing, and the size of your markup starts working against you.

## Does keyword research still matter for LLM SEO?

For deciding what to publish, yes. For how to write it, much less: there is no position in a generated answer to compete for, so density and placement tactics have nothing to act on. The queries worth studying now are the ones agents actually sent your site, which you get from your own request log rather than from a keyword tool.

## How do I audit a site for LLM SEO?

Cheapest first: check the fetch is reachable from a plain terminal, repeat it with `Accept: text/markdown` to see whether the response differs at all, measure the response size, find the character offset of the first fact a user would ask about, check the structured data agrees with the text, then score a baseline against a published spec before changing anything.

## Can an agency guarantee AI citations?

No, and a proposal that does is a warning sign. Assistants are not deterministic and no vendor controls their output. What is commitable is the layer you own: whether the fetch is answered, how large the response is, where the facts sit, and the readability score. Report agent visits and the miss log alongside it, with a baseline taken first.

## What tools do I need for LLM SEO?

Less than the category implies. A terminal for the fetch comparison, a readability scanner for the baseline, and request-level logging so you can see agent traffic your analytics never recorded. Serving-layer middleware is the one piece of software that actually changes the outcome; the rest is measurement.

## Related

- [AI search optimization: the definitive guide](https://rebilder.com/learn/ai-search-optimization)
- [AI visibility tools: how to choose one](https://rebilder.com/learn/ai-visibility-tools)
- [llms.txt: what it is and whether it works](https://rebilder.com/learn/llms-txt)
- [AI agent user agents in your logs](https://rebilder.com/learn/ai-agent-user-agents)
- [Gateway quickstart](https://rebilder.com/docs/quickstart)