AI assistants recommend shops the way an impatient expert would: they skim your pages for facts they can quote — what you sell, for whom, at what price, under what conditions — and they cite whoever states those facts plainly. There is no ranking ceremony. If your prices exist only as pixels inside a button, then to a machine reader you have no prices at all.
This traffic is small today and growing in exactly one direction. What made us take it seriously wasn't a think-piece — it was our own server logs after we explicitly welcomed the crawlers: GPTBot, ClaudeBot, PerplexityBot and their relatives, each politely reading robots.txt first, like guests checking the doormat. So we put a map next to the door.
Write for the quoter, not the ranker
Classic SEO optimizes for a position; assistants optimize for a quotation. The unit of value is the self-contained paragraph: a heading that asks a real question, followed by an answer that survives being lifted out of the page. A sentence that needs the previous three to make sense will never be quoted.
The practical test: paste any paragraph from your product page into an empty document. Does it still assert something checkable — a number, a condition, a comparison? Most marketing copy fails instantly. “Unleash your store's potential” quotes as noise; “refunds within 14 days, no questions asked” quotes as a fact.
What machine readers cannot see
- Prices trapped in UI. A price that only exists on a button or in a screenshot is invisible. State it in running text as well: plans, currency, renewal terms.
- Facts behind JavaScript walls. Plenty of extraction passes read HTML, not a fully hydrated app. Server-render anything you want quoted.
- Content behind consent walls. Gate your trackers, never your text. On our site the analytics script waits for the cookie banner; the content never does. Some consent tools blank the entire page until interaction — to a bot, that page is empty.
- PDF catalogs. A price list that lives only in a PDF is a filing cabinet, not a source.
Schema, with receipts
Structured data is how you spell your facts in the machine's native grammar — Product, Offer, FAQPage — but the era of decorative schema is over. Extractors cross-check markup against visible content and quietly discard mismatches. The rule we build by: the FAQ schema and the FAQ a human sees are generated from the same array in the same file, so drift is not something we review for — it is impossible by construction. We recommend that pattern to anyone: one source of truth, two renderings.
llms.txt: the cheapest experiment in search right now
llms.txt is a plain-text map of your site for language models: who you are, key facts, main pages, policies. Ours lists every product with its actual prices as text, generated from the live database so it cannot rot. The whole thing took an afternoon — which is the entire bet: minimal cost, asymmetric upside. Nobody owes you traffic for it, but when a machine reader arrives, the accurate answer is sitting by the door.
The consistency test
Tonight, ask three different assistants what your shop sells, what it costs and how returns work. Not “does it know our name” — ask it to describe you to a potential customer. Wrong answers are diagnostic gold: some page taught the machine that mistake, and it is usually the same page that has been quietly confusing humans too. Fix the page, not the bot.
None of this competes with your SEO — it is the same discipline held to a stricter standard of extractability. Sites that state their facts plainly are about to get quoted a lot. Sites that whisper them through animations are about to be paraphrased by their competitors.
