Why AI can't see your prices — and the two-minute fix

A page can look perfect in a browser and read as empty to anything that fetches it. If your product names and prices only appear after JavaScript runs, that is exactly what is happening.

Do AI assistants see prices on a JavaScript-rendered page?

Usually not. When a summariser fetches a page it typically receives the HTML as served, and anything that a script adds afterwards is invisible to it. If your pricing table is built in the browser, the page arrives with a heading, a container, and no prices.

This is not a bug in the assistant. It read what you sent.

How to check in ten seconds

You don't need a tool. Fetch the page the way a machine does and search the response for a price.

In a terminal:

  • curl -s https://yourdomain.com | grep -i "\$"
  • or simply view source in the browser and search for your price

If the number is not in the source, it is not in what a summariser receives. Same test works for product names, opening hours, addresses and service lists — any fact that matters commercially.

Why it costs you more than it looks

An assistant answering "what does X cost" or "who does X for small businesses" has to name somebody. It names the businesses whose pages said something it could quote. A page with no offer in it gives it nothing to work with, so it reaches for a competitor whose price is sitting in plain text.

The knock-on effect is that you look expensive or vague by omission. Silence gets read as "no information available", not "worth asking".

What to change

Render the critical facts in the HTML. Prices, product names and what each one includes should exist before any script runs. Interactive extras can stay interactive.

Add structured data. A product marked up with a price and currency gives machines an unambiguous statement rather than an inference. It is not a ranking trick; it removes ambiguity.

Keep one source of truth. If prices live in a data file and the page is generated from it, regenerate rather than hand-editing. Two copies drift, and the stale one is what gets indexed.

The trap when you fix it

Once prices are static, changing them means regenerating the page. A site that updates the numbers in the browser but not in the markup will look right to you and stay wrong everywhere that matters. Whatever process you use, verify the source after a price change — not just the browser.

What this doesn't fix

Being readable is necessary, not sufficient. A price in the HTML does not make an assistant recommend you; it makes you quotable when the conversation turns to you. The rest is whether your page says something specific enough to be worth repeating.

Start my deep dive — $49/mo

We check this for you every month, along with search rankings and what the assistants actually say.