Skip to content
ecomkit

SEO & traffic

Schema.org and llms.txt: why without markup your store is invisible to Google and ChatGPT

What product markup does in search results, how to check it in two minutes, and what AI visibility actually means, no marketing fog.

Structured data is a way of telling a search engine not "here is some text" but "here is a product, it costs $49, it is in stock, this is the brand." The difference between those two messages decides how your result looks in search — and whether ChatGPT mentions you at all.

What Product markup gets you

  • Price and availability right in the search result. Your listing takes up more space and answers the question before the click.
  • Star ratings, if you have reviews with markup.
  • Merchant Center cross-checks the price on the page against the price in your feed. Without markup, products get rejected more often.
  • AI has something to build an answer from. Language models need facts in a machine-readable form, not a paragraph of prose.

Markup on its own does not move your ranking. It moves your CTR — the share of people who click when they see you at the same position. In practice that delivers more than fighting to move up one spot.

Check yourself in two minutes

  1. Open Google’s Rich Results Test.
  2. Paste in the URL of any product page.
  3. Check whether it finds a Product type with an offers block carrying price and availability.

If it finds nothing, you are in the same situation as most online stores. In a real audit, this turned out to be the most expensive technical gap: no structured data on the product pages at all.

The minimum you need

On a product pageProduct: name, image, description, brand, SKU, and inside it an Offer — price, currency, availability, URL.

On a category pageBreadcrumbList for the breadcrumb trail.

On the homepageOrganization with name, logo, and contact details.

None of this is coding from scratch: on WooCommerce plugins handle it, on Shopify it is themes and apps. The usual question is not "how do I do this," it is "why is not this switched on yet."

The one rule that matters

Markup has to match what a person actually sees. Markup says $49, the page says $55 — that is how you lose rich results entirely, and get the product blocked in Merchant Center. So markup gets generated from the same data as the page, never typed in by hand.

Now, about AI visibility

There is a lot of noise and new acronyms around this. It really comes down to something simple: for a language model to mention your product in an answer, it first has to receive facts about it in a form it can parse.

In practice that is three things, and you are already doing two of them for ordinary SEO:

  1. Structured data. The same Product and Organization.
  2. Substantive descriptions. Text that answers a question instead of hyping the range. Models are good at extracting facts and bad at extracting marketing adjectives.
  3. llms.txt — a file at your site’s root that briefly explains what the site is and where things live. Think robots.txt, but for language models.

Check your robots.txt

Separately, check whether you have a line like Content-signal: ai-train=no. That opts your content out of AI training. Sometimes it is set deliberately, but far more often it is a Cloudflare default nobody actually read.

The choice is yours — what matters is that it is a choice, not an accident.

Is separate "GEO" a real service worth paying for

Agencies have started selling "AI visibility" as its own line item. Look closely at what is actually in the package: usually it is schema markup, rewriting copy for E-E-A-T, an llms.txt file, and prompt testing.

Which is to say, mostly ordinary technical SEO with a new name attached. If you do not already have meta descriptions and Product markup, paying for separate "GEO" is premature — get the basics right first, and AI visibility mostly follows on its own.

Where to start this week

  1. Run three pages — home, category, product — through the Rich Results Test.
  2. Turn on or finish Product markup in your product-page template.
  3. Check that prices match across markup, page, and feed.
  4. Add llms.txt.
  5. Read your own robots.txt — the whole thing, not a skim.

Free audit of your store

A written breakdown within 48 hours: technical health, SEO, conversion, analytics, operations — plus a priority table of what to fix first.

Request an audit You can first read a real audit example — a real store, real data.
Free audit Start a launch