NewThe tragent CLI is on npm: npx @tragent/cli scan your-store.com

Issue reference

No product page could be found

Issue code
PRODUCT_PAGE_NOT_DISCOVERED
Stage
Find products
Protocol
—
Severity
High

What it means

tragent reports this at the “Find products” stage. The question there is “Can an agent find your products at all?” An agent has to reach your site and locate products by searching or browsing before anything else can happen.

What it does to an agent

Most agents fail at this point. The few that find a way round it spend more time and model calls doing so, and may give up before checkout.

Everything an agent can tell a shopper about a product starts with reaching the product page. tragent looks for product pages the way an agent does: links on the home page with a recognisable product path, product URLs named in structured data, and the content links a person would click. When none of those lead to a page that sells something, the run stops at discovery, and the details, price and stock of your catalogue go unmeasured.

An agent that cannot reach your product pages does not report an error to anyone. It answers the shopper from whatever it can read, which is usually a competitor's listing. Search-driven catalogues are the usual cause: products appear only after JavaScript runs a query, so a reader that fetches HTML sees an empty grid.

How to fix it

Expose a sitemap or category links an agent can follow without executing search JavaScript.

On your platform

Shopify

Shopify serves /sitemap.xml with every published product and links it from robots.txt, so this finding on Shopify usually means the storefront is password protected, the home page links only to collections built by an app's JavaScript, or the theme's product links use an unusual route.

Make sure the store is not behind the password page, and link at least a few products from the home page with the theme's featured collection or featured product sections, which render ordinary links to /products/<handle>.

WooCommerce

Product pages live at /product/<slug>/ by default. If your permalink settings use another base, tragent may not recognise the path from the URL alone, so either keep a product base under Settings › Permalinks or add one or two product URLs in the store's setup in tragent.

WordPress publishes /wp-sitemap.xml with products included; SEO plugins such as Yoast replace it with /sitemap_index.xml. Either works, as long as robots.txt names it.

Headless or custom

Render product links as real anchors in the server HTML, not as click handlers that build a URL in JavaScript. A grid of <a href="/products/…"> elements is enough for any agent to follow.

HTML
<ul class="product-grid">
  <li><a href="/products/trail-runner-2">Trail Runner 2</a></li>
  <li><a href="/products/ridge-jacket">Ridge Jacket</a></li>
</ul>

In practice

Start with the pages that matter most: your best sellers and the products you advertise. An agent asked about a product by name usually arrives at your home page or a search result first, then follows links, so a featured collection that links ten real product pages does more than a perfect page nobody reaches. Then make sure category pages render their product links in the HTML, so the rest of the catalogue is a click away rather than a script away.

Discovery is also where a store can look better than it is. When tragent cannot find a product page, it does not score the stages it could not measure, and the report says so instead of giving you a number. That is deliberate: a run that saw only your robots.txt has not said anything about your product data. Fix discovery first, and the next scan will show the findings that were hidden behind it.

Check the fix

  1. Open your home page with JavaScript disabled and confirm product links are still there.
  2. Run the scan. The first stage should say a product page was found, and the details, price and stock stages should now carry scores instead of "not attempted".
  3. If your products only live behind search, pass one with --product-url to confirm the rest of the checks, then fix the links.

Run the check that reported PRODUCT_PAGE_NOT_DISCOVERED again after the change. The scan needs no account; an issue found during an AI shopping test needs that test run again.

Terminal
npx @tragent/cli scan https://your-store.com

Common mistakes

  • Linking products only from a mega-menu that is injected after page load.
  • Leaving a staging password on, which hides every page from agents as well as from search engines.
  • Assuming the sitemap alone is enough: an agent browsing like a person follows links first.