AgentReady

Why reviews are readable to AI agents

Server-rendered first paint, AggregateRating JSON-LD, and llms.txt or agents.md: what free covers and what paid adds.

Last updated 2026-09-01

Most review widgets fetch text after the page loads. A shopper sees the quotes. A fetcher that takes one HTML snapshot often does not. AgentReady Reviews puts approved reviews in that first snapshot.

The flagship post is Reviews AI agents can actually read. Blocks: storefront blocks. Markup: rich-result ownership.

1. First paint is HTML

The initial approved set renders from Shopify metafields in Liquid. Zero JavaScript is required for that paint. Any fetcher that reads the HTML can read the ratings and the review bodies.

2. JSON-LD is opt-in and exclusive

AggregateRating is emitted only when no other app owns review markup. That is a second surface. It helps search and agents parse a single number. It does not improve ranking, and it does not mean an assistant will name the store.

3. Discovery files on paid plans

On paid plans, approved ratings also flow into agents.md, llms.txt, and the catalog feed. Those files are hygiene. They help an agent find the numbers. They are not a ranking switch.

4. Free vs paid

SurfaceFreePaid
Storefront blocks, first paintYesYes
Import, moderation, replies, photosYesYes
CSV exportYesYes
Ratings in agents.md, llms.txt, catalog feedNoYes
AggregateRating after a clear ownership checkAvailable as part of the reviews librarySame ownership rules

Sample of what an agent sees

Sample data. Not a live store.

Two renderings of the same sample product: the storefront HTML a fetcher sees on first paint, and the machine facts AgentReady can publish. All values are sample data.

What an AI agent sees

First paint beside the machine facts

Sample data. Not a live store.

Human view

northstar.example/products/trail-pack
<section id="agentready-reviews">
  <p>4.8 out of 5 from 47 reviews</p>
  <article>
    <p>Maya R. · Verified purchase</p>
    <p>The detail is even better in person.</p>
  </article>
</section>

Machine view

application/ld+json · llms.txt · sample data
{
  "@type": "Product",
  "name": "All-weather trail pack",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "47",
    "bestRating": "5",
    "worstRating": "1"
  }
}- All-weather trail pack: 4.8/5 from 47 approved reviews.

Next