AgentReady

Rich-result ownership

Four ownership states, auto-demotion when another app owns markup, and opt-in reviews.rating metafield sync.

Last updated 2026-09-01

AgentReady emits AggregateRating only when it can safely own that output. Two review apps writing markup on one product page is how rich results break. The longer version is One AggregateRating per page. Duplicate-schema background: two review apps.

1. Run the ownership check

In Reviews, open the rich-snippet card. AgentReady fetches a public product URL and looks for Review and AggregateRating markup that it does not own, including JSON-LD and microdata. A password page, timeout, or unreadable response never counts as clear.

2. The four states

StateMeaning
Not checkedYou have not run the check. Nothing is projected.
Clear to activateNo competing markup was found. You can opt in.
Competing markup foundAnother app or the theme already owns review markup. AgentReady will not add a second copy.
Could not verifyThe page could not be read. Activation stays off.

3. Auto-demotion

If competing markup appears after you activate, AgentReady demotes its own AggregateRating so the page never ships duplicate schema. It does not edit theme code or another app's markup.

4. Opt-in reviews.rating sync

After a clear check and explicit approval, AgentReady can write Shopify's standard reviews.rating and reviews.rating_count metafields from approved reviews, then refresh Product JSON-LD. That write is opt-in. Import, moderation, blocks, and export work without it.

Deactivation removes only AgentReady-owned rating projections. It does not strip another app's stars.

What AI agents see

JSON-LD is a second surface, not a substitute for first-paint HTML. Blocks can show reviews while AggregateRating stays off. That split is honest: shoppers see the list, machines get markup only when the page has a single owner.

Next