Product review list and All store reviews both expose sort and filter. The first page is still newest-first HTML from the metafield snapshot. JavaScript enhances that page. It does not replace it.
Every setting and default: storefront blocks. Continuation: Show more without a script on first paint.
Merchant settings (Behaviour)
Copied from the shipping schemas.
| Setting | Schema label | Options | Default |
|---|---|---|---|
default_sort | Default sort | Newest (newest), Highest rated (highest), Lowest rated (lowest), With photos (with_photos) | newest |
show_sort_control | Let shoppers change the sort | on / off | on |
show_filter_control | Let shoppers filter reviews | on / off | on |
verified_only | Show verified purchases only | on / off | off |
verified_only is a merchant filter, not a shopper chip. When it is on, the list starts from verified purchases only.
Shopper controls
When Let shoppers change the sort is on, the list offers:
- Newest
- Highest rated
- Lowest rated
- With photos
When Let shoppers filter reviews is on, the list offers:
- Rating (1 star through 5 stars)
- Verified purchases
- With photos
Those labels match the theme extension strings: Sort reviews, Filter reviews, Verified purchases, With photos.
What you get with JavaScript off
The snapshot on the page is newest-first. Sort and filter controls are added after the loader runs. With JavaScript off, shoppers keep that newest-first page. They can still read every review that was in the first paint. They cannot change sort or filter.
If you set Default sort to anything other than Newest, or you turn on Show verified purchases only, the loader re-requests the list after paint. Without JavaScript, the snapshot stays newest-first. That is the honest no-JS behaviour, not a second snapshot per sort.
Show more reviews is a separate switch (enable_load_more). It also needs the loader. The first page does not wait on it.

