For twenty years, the audience for a storefront was a person with a browser, plus a search engine crawler that behaved roughly like one. Both wanted the same things: pages that load, markup that parses, prices that are visible without a login.

A third audience now shows up in the logs: AI assistants answering shopping questions, and agents acting on a shopper’s behalf. They read differently, they fail differently, and — this is the part that catches teams out — they mostly do not tell you they were there and could not do their job.

What “visible to an agent” actually requires

Strip away the hype and agent visibility reduces to a short list of concrete conditions.

The page has to be fetchable. Not “renders correctly in Chrome” — fetchable by a client that may not execute JavaScript, does not carry your cookies, and gives up quickly. Assistants that fetch pages tend to read raw HTML. If your price, availability or product description only appears after a client-side call, the fetch returns a page with no product in it.

The robots rules have to permit it. Most robots.txt files in commerce were written for Googlebot and Bingbot, with a general rule for everything else. AI crawler user agents arrive under names nobody has heard of and match whatever catch-all rule is there. Blocking them may be a deliberate commercial decision — but it should be a decision, not something inherited from a file last edited in 2017.

The facts have to be machine-readable. A price rendered as styled text inside three nested divs is unambiguous to a person and ambiguous to a parser. Structured data — Product, Offer, AggregateRating, BreadcrumbList in JSON-LD — is the difference between an assistant stating your price confidently and hedging or skipping you.

The structured data has to be true. Stale, cached or template-defaulted structured data is worse than none. If your JSON-LD says InStock for a product that is not, you have automated a bad answer about your own store.

The storefront has to survive an unauthenticated fetch. Password-protected sandboxes are meant to be closed. Production storefronts with a geolocation redirect loop, an interstitial, a cookie wall or an aggressive bot rule are frequently closed by accident.

The SFCC-specific parts

Commerce Cloud adds its own wrinkles to each of those points.

Multi-site and locale routing. One instance can serve several sites and many locales. Whether an agent lands on /en-GB/ content or gets redirected somewhere unexpected depends on your URL rules and any geolocation logic in front of them. Redirect chains are where agent fetches quietly die.

Caching. Page caching is what keeps a storefront fast and, on a structured-data block rendered inside a cached template, it is also what serves last week’s price to a machine that will repeat it as fact. Cache the page; make sure the facts on it are current.

SFRA templates. Reference architecture gives you clean, server-rendered HTML — a good starting point. Heavily customized PDPs that moved price, availability or variation data into client-side calls give it away, and the loss is invisible in a browser.

Headless and PWA front ends. If the storefront is a JavaScript application talking to OCAPI or SCAPI, the question of what a non-executing client sees is not a detail, it is the whole question. Server-side rendering or prerendering for bots is the difference between being readable and being absent.

Content assets and slots. Merchandising copy that lives in assets and slots is often where the substantive product information sits — materials, sizing guidance, care instructions. If it renders only after interaction, in a tab loaded on click or an accordion populated by script, it is not part of what an agent reads.

How to check, without buying anything

You can get a rough answer this afternoon:

  1. Fetch a product URL with curl, no cookies, no JavaScript. Read what comes back. Is the price there? The availability? The description?
  2. Paste the HTML into a structured data validator. Does a Product with an Offer come out, and are the values right?
  3. Read your robots.txt and ask, for each block, whether it is intentional.
  4. Repeat for a category page and the home page.
  5. Do it for a second locale.

Most teams find at least one surprise in that list — usually a redirect, a missing price in the raw HTML, or structured data that was correct when it was written and has drifted since.

Why this is worth attention now

Agent traffic is small relative to human traffic and growing, and the failure mode is asymmetric. A storefront that is unreadable does not get a worse answer, it gets left out of the answer — and the shopper never learns that you were an option. Unlike SEO, there is no ranking report to tell you it happened.

The work itself is unglamorous and familiar: server-rendered facts, honest structured data, sane robots rules, no redirect traps. It also happens to be the same work that makes your storefront faster and more accessible. If you want a systematic read of where your storefront stands rather than a spot check, that is worth measuring properly.