GuidesMachine LegibilityAgentic Commerce

Why can't AI agents read my product page? Six causes and how to check each

AI assistants usually read a different page from the one you see: raw text without scripts, behind rules you may not know you set, with no clicks and no pictures. Six causes, a two-minute check for each, and what fixing them costs.

Published on September 29, 2026

TL;DR

Usually because the AI assistant is reading a different page from the one you see. Most AI readers fetch your page's raw text without running its scripts, respect blocking rules you may not know you have, and cannot click a tab, pick a size or read an image. Check six things in this order: scripts, blocking rules, facts behind clicks, facts in pictures, product labels, and whether your catalogue reaches the assistants directly.

You asked ChatGPT about your own product. It got the price wrong, or described something you stopped selling, or recommended a competitor. Or you pasted the link and it told you it could not open the page.

Your page is fine in a browser. The problem is that the assistant is not using a browser the way you are. Think of it as reading your shop through the letterbox rather than the window: it gets the text that comes through the slot, and nothing that needs lights, clicks or a closer look.

Here are the six ways the two pages differ, roughly in the order worth checking.

1. Text built by scripts

How to check in two minutes

Turn scripts off in your browser and reload the page. Is the price still there?

Who fixes it, and roughly how long

Your developer. Hours to days on a custom site.

2. AI readers blocked

How to check in two minutes

Open yoursite.com/robots.txt and read the names. Ask who manages your firewall.

Who fixes it, and roughly how long

Whoever runs the site. Minutes once found.

3. Facts behind a click

How to check in two minutes

Is the price or stock shown only after picking a size or opening a tab?

Who fixes it, and roughly how long

Your developer or theme settings. An afternoon.

4. Facts in pictures

How to check in two minutes

Is the size chart or spec table an image?

Who fixes it, and roughly how long

You. Retype it as text, an hour per template.

5. No product labels

How to check in two minutes

Paste the URL into Google's Rich Results Test. Does it find a Product with a price?

Who fixes it, and roughly how long

Usually a platform setting or an app. An afternoon.

6. No direct feed

How to check in two minutes

Is your catalogue in Google Merchant Center or your platform's AI channel?

Who fixes it, and roughly how long

You. A day or two the first time.

Is your product text built by scripts after the page loads?

This is the cause that surprises people most. Many modern shop pages arrive as an empty frame, and a script fills in the name, price and description a moment later. You never notice, because your browser runs the script instantly.

Most AI readers do not run it. When Vercel measured the traffic on its network in December 2024, it found that "none of the major AI crawlers currently render JavaScript", naming OpenAI's, Anthropic's and Perplexity's. They download the script files and never execute them. Google is the exception: Googlebot renders pages in a full browser, and Google's own documentation still warns that "not all bots can run JavaScript". That is why a page can look perfect in Google and empty to ChatGPT.

0 of the major AI crawlersran JavaScript in Vercel's December 2024 measurement

One honest caveat. Some AI agents now drive a real browser, clicking through a site the way you would, and those do run scripts. But most everyday answers still come from the fast fetchers, so the letterbox is the page that counts.

So what: if your shop runs on Shopify or a similar hosted platform, the product text usually arrives with the page and this is rarely your problem. If your shop is custom built, or a price or review app loads its content late, this is the first thing to ask your developer about. The fix is to send the important text with the page, which developers call server rendering.

Is something at the door turning AI readers away?

Every site has a public file called robots.txt, a list of which automated visitors may come in. Many sites also sit behind a firewall or network service that can turn visitors away before they reach the page.

The confusing part is that each assistant sends more than one visitor, for different jobs:

So a shop can say no to training and still appear in answers. A robots.txt that blocks every AI name at once does the opposite, often without anyone meaning it to.

The block may also be a setting nobody chose on purpose. Cloudflare, which handles traffic for about 20% of the web, has asked every new domain since July 2025 whether to allow AI crawlers at signup. Other firewall and hosting services can turn automated visitors away too.

So what: open your robots.txt page in a browser (it is your address followed by /robots.txt) and look for the names above. Then ask whoever manages your site whether an AI blocking setting is switched on. Deciding which visitors to allow is your call; the point is to make it on purpose.

Is the price or the size behind a click?

A fetcher gets what is on the page before anyone touches it. If the price appears only after a shopper picks a size, if stock shows only after choosing a colour, or if the specs sit in a tab that loads when clicked, the reader never sees them. The same goes for a cookie wall that covers the page, a redirect to a country site, or anything behind a login.

So what: make sure the default view of the page carries a price, whether it is in stock, and the main details. Variant details can stay in the picker for people, as long as the text is also on the page.

Is the important part a picture?

Size charts, spec tables and "what is in the box" lists are often saved as images because they look neat. To a reader that works on text, an image with no words attached is a blank rectangle.

So what: retype the chart as a text table on the page. Describing the image in its alt text helps a little; real text on the page helps more. This is usually a one-hour job per product template.

Does the page say which number is the price?

A product page has many numbers: the price, the old price, the delivery threshold, the product code, the rating. A person knows which is which at a glance. A machine has to guess, unless the page labels them.

Those labels are called structured data, and the shared vocabulary for them comes from schema.org. Google says product labels let search show "price, availability, review ratings, shipping information, and more", and recommends providing both the labels on the page and a Merchant Center feed. AI assistants read the same labels.

So what: most shop platforms add basic product labels already. The check is whether they carry the price, availability and variant details, not just the product name. Google's free Rich Results Test shows you what it finds on any URL.

Is your catalogue reaching the assistants directly?

The page is one door. A product feed, a file of your whole catalogue sent straight to the assistant's owner, is the second. OpenAI's commerce documentation starts merchant integration with "a structured product feed" so ChatGPT can show current price and availability. Google's AI surfaces draw on Merchant Center.

If you sell on Shopify, its agentic storefronts put your products in front of ChatGPT, Google AI Mode and Gemini, Microsoft Copilot and Meta, and Shopify says the channel is "active by default for eligible stores".

So what: on Shopify, open the AI sales channel settings, confirm it is on, and fill in the product details it asks for. On other platforms, a Google Merchant Center feed is the most widely used starting point.

Readable is not the same as recommended

Fixing the six causes means the assistant can read your page. It does not mean it will recommend you. The shopper asked a specific question: will this fit, does it work with what I have, how does it compare. The assistant recommends the page where it finds that answer in plain text. We argue this at more length in machine legibility now has a price tag, and since shoppers now arrive from several assistants rather than one, fixing access once pays across all of them.

Your options, with rough effort

  • Do the six checks yourself. Under an hour, free. The table above is the whole list.
  • Hand the findings to your developer or agency. Hours for most causes, a few days if the product text is built by scripts.
  • Switch on your platform's AI channel and fill the product data. An afternoon on Shopify or similar.
  • Submit a product feed to Google Merchant Center or OpenAI's merchant programme. A day or two the first time, then it runs on its own.
  • Have someone check it for you. 4GPTs does this as a free audit: we look at your e-shop on public data and show you what an AI agent could and could not read on your products, field by field, and where a buyer gives up. We email you the report and walk you through it. Nothing to install and no access needed.

See what AI reads on your e-shop

A free audit on public data: what an AI agent can and cannot read on your products, field by field, and where a buyer gives up.

FAQ

No. GPTBot collects material for training. ChatGPT search uses a separate visitor, OAI-SearchBot, and OpenAI says sites that block that one will not be shown in ChatGPT search answers. You can block training and stay in search.

Key Points

It reads a different page

Most AI fetchers take the raw page text and never run its scripts. Google does run them, which is why Google can look right while ChatGPT sees an empty page.

Check the door before the page

Each assistant sends separate visitors for training, for search and for a person's question. Blocking the training one does not hide you. Blocking the other two does.

No clicks, no pictures

A price that appears after you pick a size, or a size chart saved as an image, does not exist for a reader that cannot click or see.

Readable is step one

Once the assistant can read the page, it still has to find the answer to the shopper's question there. Thin product text is the next fix.