A Write a review link on the product review list opens a form on the store's own domain: /apps/agentready/reviews/new. The link is ordinary HTML. It works with JavaScript off. The form posts without a script on first paint.
The theme-editor switch is show_write_review (label: Show a write-a-review link, default on). It only renders on the product list, and only when the store is accepting reviews. All-store lists have no product, so the link does not appear there. Settings: storefront blocks. The announcement is Shoppers can now write reviews and add photos.
What shoppers see
The page is titled Write a review. It names the product and the store. Fields:
- Rating (required): 1 through 5
- Title (optional)
- Your review (required)
- Display name (required). Shown with the review if you publish it.
- Email (optional). Used if you reply. Never shown publicly.
- Photos (optional, up to 4): JPEG, PNG, WebP, or GIF. 10 MB each. HEIC is not supported.
Submit review sends the form. The thank-you page says the review was sent for moderation and will not appear until you approve it.
The same photo attachment is available on the emailed review page.
Unverified and pending
A storefront submission is not a verified purchase. It arrives pending. It does not render on the list, and it does not enter AggregateRating, until you publish it in moderation.
Spam controls, in plain words
The form hides a dummy "company website" field from shoppers and from assistive technology. Filled, the submit is dropped and nothing is stored.
The page also checks that the shopper spent a few seconds on it, and it rate-limits bursts from one network and from the store as a whole. Too many submits get a wait message. The typed text stays on the page and is not saved as a review yet.
What this is not
It is not a verified-purchase collector. Review-request emails remain a supervised pilot. Live fleet sending is not self-serve.

