Skip to content
StoreCited
All posts
May 28, 2026·8 min read

ChatGPT does not read your store the way you think

A teardown of how AI shopping assistants actually ingest a store — indexed text and structured data, not hero videos or lazy-loaded widgets — and how merchants close the gap.

AEOstructured dataecommerceAI search

Close-up of an AI-driven chat interface on a computer screen, showcasing modern AI technology.
Photo: Matheus Bertelli / Pexels

Open your product page in a browser. You see a hero video looping behind the headline, a price that updates when you pick a size, a wall of five-star reviews, a "Frequently Bought Together" carousel, and a sticky badge that says "Ships free in 2 days." It looks complete. It looks persuasive.

Now strip away the rendering. Turn off JavaScript, ignore the images, and read only the raw text and structured markup the page hands a machine on first request. That stripped-down version is much closer to what an LLM-backed shopping assistant actually ingests when it tries to answer "what's a good waterproof hiking boot under $150?" The gap between those two versions of your page is the whole ballgame, and most merchants have never looked at it.

A crawler reads the source, not the screen

Humans experience a webpage after the browser has done an enormous amount of work: running scripts, fetching data from a dozen APIs, hydrating React components, lazy-loading content as you scroll. The polished thing on your screen is the output of that work.

An AI system building its knowledge of your store generally does not get that full experience, or does not get it reliably. It works from indexed content: the text and structured data present in the page source, plus whatever a crawler can resolve. Some crawlers execute JavaScript; many do the cheap thing and grab the initial HTML. Even the ones that render have budgets and timeouts. So the safe assumption — the one that keeps you out of trouble — is this:

If a fact about your product only exists after a script runs, a click happens, or a third-party widget phones home, treat it as invisible until proven otherwise.

This isn't pessimism. It's how you stop guessing. Design for the lowest-common-denominator reader, and every more-capable system gets the information for free.

Where the facts actually leak out

Let's get concrete about the failure modes, because "make your site crawlable" is useless advice. Here are the specific places real stores hemorrhage information.

Reviews that render stars but expose no schema

This is the canonical one. You install a review app — Yotpo, Okendo, Judge.me, Stamped, take your pick — and your product page now shows "4.8 ★ (412 reviews)." A shopper trusts it instantly.

But many of these widgets inject their content client-side from the app's own servers after the page loads. The star rating you see is painted by JavaScript into a container that, in the raw HTML, is an empty div. There's no aggregateRating in the markup. So when an AI assistant ingests the page, the single most decision-driving signal in ecommerce — social proof — is simply not there. The store with 4.8 stars and 412 reviews looks, to the machine, identical to the store with no reviews at all.

The fix is not to uninstall the widget. It's to make sure the review app emits Product schema with aggregateRating and review nodes server-side, or that you add that structured data yourself from the review data you already own. Most of these apps support it; it's often a toggle or a theme snippet that people never flip on. Check your actual output, not the settings page.

Specs buried in tabs, accordions, and images

Outdoor gear, electronics, supplements, cookware — these categories live and die on specifications. Waterproof rating. Cable length. Milligrams per serving. Oven-safe temperature. Compatible models.

Two common ways these go dark:

  • The spec sheet is an image. A beautifully designed JPEG listing "8 oz, 18/8 stainless steel, BPA-free, fits standard cup holders." To a human, perfect. To a text-based ingest, it's a blank — unless your alt text happens to repeat every number, which it never does.
  • The specs load on tab-click. "Details," "Specs," and "Care" sit in an accordion that fetches its content only when expanded. The initial HTML contains the tab labels and nothing underneath.

If a customer would ask a salesperson "is this dishwasher safe?" and the answer only lives inside a collapsed tab or a graphic, an AI assistant answering that same question on your behalf can't find it either.

Price and availability that only exist after a variant pick

A surprising number of stores render the page with a placeholder price, or with the price of a default variant, and only resolve the real number once the shopper selects size and color. Inventory status often works the same way. If "In stock" and "$129" are computed client-side per variant, the indexed snapshot may show a stale, generic, or missing value. Your Offer schema should carry price, priceCurrency, and availability in the source for the canonical variant.

Bundles, fit, and shipping promises stuck in apps

"Free returns within 60 days." "Runs small, size up." "Bundle and save 15%." These persuasion-grade facts frequently live entirely inside third-party app overlays, sticky bars, or pop-ups that are pure client-side theater. None of it reaches the index. The trust you're building with humans evaporates for machines.

The asymmetry nobody mentions

Here's the opinionated part. The merchants most exposed to this problem are often the best ones — the brands that invested in slick, app-heavy, conversion-optimized storefronts. Every fancy widget that improves human conversion is a potential black hole for machine ingestion. The bare-bones competitor with a plain theme and specs typed directly into the product description may be more legible to an AI assistant than your beautifully engineered store.

That should bother you. You did the expensive work, and a lazy-loaded review carousel quietly erased the proof of it.

How to make the invisible visible

The goal is not to make your store ugly or to fight your apps. It's to guarantee that every fact a shopper cares about exists in two forms: the pretty rendered version for humans, and a plain, indexable version for machines. Concretely:

  • View source, not the page. Right-click, "View Page Source," and search for your actual price, your star rating, your key specs. If you can't find the literal text, neither can a crawler that doesn't render. This 30-second test catches most problems.
  • Emit Product schema server-side. name, description, sku, brand, offers (with price, currency, availability), and aggregateRating/review. Validate it with a structured-data testing tool. Schema is the most reliable channel because it's unambiguous, machine-native, and doesn't depend on a crawler parsing your prose correctly.
  • Put specs in real text. Move the contents of spec images and collapsed tabs into actual HTML present on load. Keep the accordion for tidiness if you like, but the text underneath should exist in the source whether or not it's expanded.
  • Write the description like an answer. If people ask "is it machine washable" or "does it fit an iPhone 15," answer those literal questions in plain sentences in the body copy. Assistants assemble answers from text; give them text that already contains the answer.
  • Don't hide trust signals in overlays. Return policy, warranty, sizing guidance, and shipping promises belong in crawlable HTML on the product or policy page, not only in a pop-up.
  • Re-check after every app install. Apps update. Themes change. A redesign can silently move your aggregateRating back behind JavaScript. Treat indexability as something you monitor, not something you set once.

The reframe

None of this is about gaming a ranking, and no honest tool can promise that ChatGPT, Perplexity, or Google will recommend you. What you can control is whether your store is complete, indexable, and citable — whether the facts that make you the right answer are actually present in a form a machine can read and quote.

Right now, for a lot of stores, they aren't. The 4.8 stars are real, the specs are real, the free returns are real — and they're locked in a rendering layer the assistant never reaches. Auditing that gap, and closing it field by field, is the unglamorous work that decides whether AI shopping tools see the store you actually built or the hollow shell that survives the crawl. Start with View Source. You'll probably be unhappy with what's missing, and that's the point.

See your own store's AI visibility

Run a free scan and get your score, the competitors AI cites instead of you, and your biggest gaps.

Run free scan