WB Reviews
Star ratings and moderated reviews for articles and pages.
Plugin
WB Reviews
Star ratings and moderated reviews for articles and pages.
Description
WB Reviews adds star ratings and moderated reviews to articles and pages. Visitors read the average, the star breakdown and the written reviews. Members or guests leave one review per page. You approve what goes live.
What you get
- Ratings on any content. Tick the site’s own content types by name. Nothing is tied to posts.
- Written reviews and stars alone. Text is optional. A star-only rating counts in the average and does not appear in the list.
- Members or anyone. Guests give a name (and an email if you ask). Guest reviews always wait for approval. One review per visitor.
- Moderation. Waiting and Published pages, find by text, and delete a guest’s reviews by email.
- Owner reply. One public reply under a review, written in admin.
- Search engines. The rating is added to the page as structured data.
- A dashboard card for what is waiting, plus an optional hourly email with no review text and no link.
How it fits together
The plugin is the engine: routes, storage and the admin screens. An EmDash plugin cannot add pages to your site, so the public screens ship as a site kit you copy in once. See Installation.
Reviews are not core comments. Comments stay for conversation. This plugin adds a rating, one entry per person, an average, a bar breakdown and an owner reply.
Installation
Before you install
1. Your site needs a sandbox runner. Registry plugins run in a sandbox. Until the site has one, Admin, Plugins shows “No plugins configured” and there is no Registry in the menu.
- Node: in your site, run
npm install @emdash-cms/sandbox-workerd workerd, then addsandboxRunner: "@emdash-cms/sandbox-workerd/sandbox",insideemdash()inastro.config.mjs. - Cloudflare: add
import { sandbox } from "@emdash-cms/cloudflare";andsandboxRunner: sandbox(),. It needs the Workers Paid plan, theworker_loadersbinding namedLOADER(uncomment it in your Wrangler config) and an R2 bucket asstorage: r2(...), or the install stops with “Storage error while installing plugin”. Then runnpm run deploy.
Stop the dev server and start it again. Registry now shows in the admin menu.
2. The plugin is the engine. Visitor pages come from its site kit. A registry plugin cannot add pages to your site. Until you copy the kit, its addresses (for example /account/reviews/) show your site’s 404 page. That is expected. The kit copy below takes one command.
Checked on EmDash 1.3.1 with the blog template, on Node and on Cloudflare Workers (registry install).
Install
-
Admin, Registry, search WB Reviews, Install, then accept the permissions.
-
From your site’s root folder:
kit="$(mktemp -d)" && git clone --depth 1 \ --branch v0.3.0 \ https://github.com/wbcomdesigns/emdash-reviews \ "$kit/emdash-reviews" && "$kit/emdash-reviews/scripts/add-to-site.sh" . -
Paste the lines it prints. Restart the dev server.
-
Add the menu link it prints in Admin, Menus.
-
Open Reviews, Waiting.
After every update, run step 2 with the new tag.
Guide: https://github.com/wbcomdesigns/emdash-reviews/blob/v0.3.0/docs/website/getting-started/install.md
FAQ
Why is there no reviews block after install? The plugin cannot add pages or CSS. Copy the site kit components onto your templates, then reload.
Why is there no review form on a page? That content type is not ticked under Admin → Reviews → Settings. Tick it, or the form stays hidden.
Can guests write a review? Yes, when Settings says anyone can review. A guest gives a name, and an email if you ask for one. Guest reviews always wait for approval.
Do new reviews go live straight away? Only member reviews, and only if you turn off approval. With it on, which is the default, a review waits until you approve it. A change to a live review also waits; the published text stays until you approve the change.
What is a star-only rating? Stars without text. It counts in the average and the bars, and it does not appear in the written list.
Does it send email? At most one short notice an hour when reviews are waiting, and only if you turn that on and the site has mail (the official Resend plugin). The notice has no review text and no link.
Is there a paid version? No. Everything here is free.
Changelog
0.3.0
- Improve: every page, admin action and visitor request fits Cloudflare’s 10 requests per plugin call. Counts move with each review instead of re-reading every review of the page.
- Improve: Waiting and Published page by date; Find searches a few hundred reviews per press. Delete all my reviews and delete by email work in steps.
- Fix: reviews sent at the same moment are each counted once. Ratings 0.2.0 lost are rebuilt.
- After updating, open Reviews in the admin: it brings 0.2 data over in a few steps while you keep moderating. No new permission.
Copy the kit again after you update, from your site’s root folder:
kit="$(mktemp -d)" &&
git clone --depth 1 \
--branch v0.3.0 \
https://github.com/wbcomdesigns/emdash-reviews \
"$kit/emdash-reviews" &&
"$kit/emdash-reviews/scripts/add-to-site.sh" .
0.2.2
- Fix: re-running scripts/add-to-site.sh on a site whose post page and post card already show WB Reviews says the lines are already in place.
0.2.1
- Security: guests review only where the host passes the visitor address (Cloudflare or trustedProxyHeaders); otherwise they sign in. IPv6 counts by /64.
- New: Waiting shows Set up visitor pages. scripts/add-to-site.sh copies the kit and prints the lines to paste.
- Fix: waiting reviews no longer hide published ones or break the rating; unpublished pages show nothing.
Older versions: https://github.com/wbcomdesigns/emdash-reviews/blob/main/CHANGELOG.md