Description
Universal Reviews is a flexible WordPress review plugin for sites that need more than a basic comment-based rating system.
Use it for WooCommerce stores, services, directories, local businesses, courses, memberships, agencies and custom WordPress sites. Reviews can be attached to posts, products, taxonomy terms, users, the whole business or another supported target.
Reviews are stored in dedicated, indexed database tables rather than comments or post meta. Rating summaries are precomputed, so public review lists and summaries do not need to run COUNT(*) against the reviews table on every page view.
The plugin is designed to keep the everyday workflow simple:
- Create or adjust a review form.
- Place the form and review list on your site.
- Moderate incoming reviews.
- Reply, feature or verify reviews when appropriate.
- Display the rating summary and approved reviews to visitors.
Collect reviews
- Create review forms with a drag-and-drop field builder.
- Rating field is included by default and uses a 1–5 whole-star scale.
- Available field types include rating, heading, text, textarea, select, radio, checkbox, number, email, URL, phone, date and hidden fields.
- Mark fields as required, use half-width layouts, add placeholders and help text, and assign custom CSS classes.
- Add headings and text blocks between fields with configurable HTML tag, size, color and alignment.
- Custom field answers are saved with the review and available to moderators.
- Import and export form templates as JSON.
- Preview forms before publishing them.
- Create review types such as Product, Service or Place, each with its own moderation policy, allowed targets and schema.org type.
Protect submissions
Universal Reviews includes several layers of basic anti-abuse protection without requiring a CAPTCHA.
- Honeypot field.
- Signed time trap with an expiring token.
- Per-IP rate limiting.
- One-review-per-person-per-item protection within a configurable time window.
- Consent checkbox.
- Same-site origin validation.
- Validation of review types and public targets.
- HTTP 429 responses when the configured rate limit is exceeded.
Default protection includes a limit of 12 submissions per 60 minutes per IP and a 72-hour duplicate-review window.
Moderate reviews
The React-powered admin dashboard gives moderators a focused place to work through incoming reviews.
- Filter reviews by status.
- Search and sort reviews.
- Cursor-based pagination for large review collections.
- Approve, reject, mark as spam, trash, feature or delete reviews.
- Apply moderation actions individually or in bulk.
- Reply to reviews as the site owner.
- Mark reviews as verified.
- View the original form answers.
- Keep a review change history.
- Receive a daily digest when reviews are waiting for moderation.
- Disable the digest with the
unirev_digest_enabledfilter.
The moderation interface uses server-side filtering, sorting and pagination so the browser does not need to load the complete review database.
Display reviews
Add reviews to your site with shortcodes or Gutenberg blocks.
Available shortcodes:
[unirev_form]
[unirev_reviews]
[unirev_summary]
The Reviews List and Review Form blocks are server-rendered and can be used from the WordPress block editor.
Front-end features include:
- Rating summary with average rating and total review count.
- 5-to-1 star distribution.
- Star-rating filtering such as 4+ stars.
- Helpful votes.
- Owner replies.
- Verified review badges.
- Keyboard-friendly star selection.
- Inline validation and form status messages.
- Loading and success states.
- Theme-friendly CSS variables using the
--unirev-*naming system.
Plugin CSS and JavaScript are loaded only on pages that actually render a Universal Reviews widget.
SEO and structured data
Universal Reviews can output AggregateRating JSON-LD for supported public review targets.
Structured data is printed only when the page actually displays the target’s review list or summary and the target has approved reviews. The plugin uses the schema.org type configured for the review type and avoids outputting review structured data for private content.
This keeps structured data tied to the content visitors can actually see rather than adding review markup site-wide.
Important: structured data does not guarantee rich results in search engines. Search engines decide whether and how eligible structured data is displayed.
Performance
Universal Reviews is designed for larger review collections.
- Reviews use dedicated database tables.
- Important review, moderation and lookup queries are indexed.
- Rating totals and distributions are precomputed.
- Public review lists and summaries do not run COUNT(*) on the reviews table for every page view.
- Background jobs support retry, cancellation and recovery from stuck jobs.
- Jobs and logs older than 30 days are automatically purged.
- Optional persistent object caching such as Redis or Memcached can make repeated public queries cheaper, but it is not required.
The architecture is intended to remain practical as a site grows from hundreds of reviews to much larger collections.
Import, export and diagnostics
The Tools area includes:
- Streaming CSV export.
- Streaming JSON export.
- Spreadsheet formula-injection protection during export.
- Batched CSV import with up to 5,000 rows per file.
- Row-level import errors.
- Background jobs.
- Job retry and cancellation.
- Logs.
- Database table-size diagnostics.
- Automatic cleanup of old jobs and logs.
Privacy
Privacy controls are built into the review workflow.
- Reviewer IP addresses are not stored by default.
- WordPress privacy exporter integration.
- WordPress privacy eraser integration.
- Custom form answers are included in privacy handling.
- Erasing personal data anonymises reviewer name, email and IP where applicable while keeping the review text as a business record.
- Optional data-retention settings.
- Review data remains after deactivation.
- Data is deleted on uninstall only when “Delete all data on uninstall” is enabled.
- Multisite sites manage their own uninstall-data setting.
- No telemetry is sent by the plugin.
Always configure retention, consent and privacy settings according to your site’s legal and business requirements.
Shortcodes
Review form
[unirev_form]
Default attributes:
slug— Form slug. Default:unirev_form.type— Review type. Default:product.target_type— Target type. Default:post.target_id— Target ID. Defaults to the current supported post when available.
Example:
[unirev_form type="product" target_type="post" target_id="123"]
Review list
[unirev_reviews]
Available attributes:
typetarget_typetarget_idper_pagesortmin_ratingallow_rating_filtershow_form
Example:
[unirev_reviews type="product" target_type="post" target_id="123" per_page="10" show_form="1"]
Rating summary
[unirev_summary]
Available attributes:
typetarget_typetarget_id
Example:
[unirev_summary type="product" target_type="post" target_id="123"]
Supported target types include:
post— WordPress posts and supported post types.product— WooCommerce products.term— taxonomy terms.user— users.business— the business/site target.
Blocks
Reviews List
Block name: unirev/reviews-list
Attributes:
reviewTypetargetTypetargetIdperPagesortminRatingallowRatingFilter
Review Form
Block name: unirev/review-form
Attributes:
formSlugreviewTypetargetTypetargetId
Both blocks are server-rendered.
Screenshots






Blocks
This plugin provides 2 blocks.
- Reviews List Display approved reviews for a product, post, term, user or business — with optional star-rating filtering.
- Review Form A submission form so visitors can leave a review for a product, post, term, user or business.
Installation
Install from WordPress admin
- Download the
universal-reviewsplugin ZIP. - In WordPress, go to Plugins Add New Plugin.
- Select Upload Plugin.
- Choose the
universal-reviews.zipfile. - Click Install Now.
- After installation finishes, click Activate Plugin.
Install manually
- Download the plugin ZIP.
- Extract the
universal-reviewsfolder. - Upload the folder to
/wp-content/plugins/. - Open Plugins Installed Plugins in WordPress.
- Find Universal Reviews.
- Click Activate.
After activation
After activation, open Reviews in the WordPress admin menu.
Start with:
- Reviews Forms — review the default form or create another form.
- Reviews Review Types — configure Product, Service, Place or another review type.
- Reviews Settings — check moderation, anti-abuse, display, privacy and notification settings.
- Add a review form and review list using a shortcode or Gutenberg block.
- Submit a test review from the front end.
- Open Reviews Reviews and test the complete moderation workflow.
- Approve the test review and confirm that the review list and summary appear correctly.
For the quickest setup, add this shortcode to a post, page or product:
[unirev_reviews show_form=1]
This displays the review list and enables the form for the current supported target.
Deactivation and uninstall
Deactivating Universal Reviews does not remove review data.
By default, database tables and settings remain available after deactivation. If you want WordPress to remove the plugin’s stored data during uninstall, enable Settings Privacy Delete all data on uninstall before deleting the plugin.
Use this option carefully because uninstall data deletion is intended to be permanent.
FAQ
-
Does Universal Reviews require WooCommerce?
-
No. WooCommerce is not required.
Reviews can target WordPress posts and custom post types, taxonomy terms, users, the site/business and other supported targets. WooCommerce products are supported as the
productpost type.Universal Reviews does not read WooCommerce orders for purchase verification. A moderator can mark a review as verified from the Reviews screen, and developers can add their own verification logic through the
unirev_verification_providersfilter. -
Can I use Universal Reviews for custom post types?
-
Yes. The
posttarget type can work with WordPress post types, including custom post types, when the target is public and supported by the plugin’s target validation. -
Can I use it without a page builder?
-
Yes. Universal Reviews works with the WordPress block editor and shortcodes. You do not need Elementor, a separate page builder or a special theme.
-
Can I customize the review form?
-
Yes. The form builder supports multiple field types, required fields, half-width layouts, placeholders, help text, headings, text blocks and custom CSS classes. Form styling uses
--unirev-*CSS variables. -
Can I create different review forms?
-
Yes. Forms can be created and managed from Reviews Forms. Forms can be associated with supported review types and embedded with the form shortcode or Review Form block.
-
Can I use half-star ratings in version 1.0.0?
-
No. Version 1.0.0 uses whole-star ratings from 1 to 5.
Half-star ratings are planned for a future version.
-
Does the plugin store IP addresses?
-
Not by default. IP storage is disabled by default and can be enabled from the privacy settings when a site needs it.
-
Does the plugin use CAPTCHA?
-
No CAPTCHA is required. Universal Reviews uses a honeypot, signed time trap, rate limiting, duplicate-review protection, consent and request validation.
-
What happens when I deactivate the plugin?
-
Deactivation does not delete reviews, settings or database tables.
Data is removed during uninstall only when Delete all data on uninstall has been enabled in Settings Privacy.
-
Do I need Redis or another object cache?
-
No. Universal Reviews does not require Redis or Memcached.
Rating aggregates are precomputed in a summary table. A persistent object cache can further reduce repeated public queries when available.
-
Does the plugin add review schema automatically?
-
When enabled, Universal Reviews can output AggregateRating JSON-LD for supported targets whose review list or summary is actually displayed and which have approved reviews.
Structured data eligibility does not guarantee a search-engine rich result.
-
Does Universal Reviews guarantee Google star snippets?
-
No. The plugin outputs supported structured data according to its configuration and visible review content, but search engines independently decide whether structured data qualifies for or appears as a rich result.
-
Can visitors mark reviews as helpful?
-
Yes. Helpful voting can be enabled in the display settings.
-
Can the business owner reply to reviews?
-
Yes. Moderators with the appropriate capability can add owner replies. Replies are displayed beneath the review on the front end.
-
Can I import existing reviews?
-
Version 1.0.0 includes Universal Reviews CSV import. Import files can contain up to 5,000 rows per file and report row-level errors.
Dedicated migration importers for other review plugins are planned for the Pro roadmap.
-
Does the plugin send telemetry?
-
No. Universal Reviews does not send telemetry.
-
What happens to privacy data when a review is erased?
-
Universal Reviews integrates with the WordPress privacy exporter and eraser. Personal information such as reviewer name, email and stored IP data can be anonymised while the review text remains as a business record.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Universal Reviews” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Universal Reviews” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Dedicated indexed review tables.
[unirev_form],[unirev_reviews]and[unirev_summary]shortcodes.- Reviews List and Review Form Gutenberg blocks.
- Drag-and-drop review form builder.
- Review types with configurable targets and schema.org types.
- Review moderation with bulk actions.
- Owner replies, helpful votes and verified reviews.
- Review history and form-answer inspection.
- Honeypot, signed time trap, rate limiting and duplicate-review protection.
- Streaming CSV/JSON export.
- Batched CSV import with row-level errors.
- Background jobs, logs and diagnostics.
- Precomputed rating summaries and distributions.
- Conditional CSS and JavaScript loading.
- AggregateRating JSON-LD for eligible visible review content.
- WordPress privacy exporter and eraser integration.
- No telemetry.
