=== Site Reviews ===
Contributors: geminilabs, pryley
Donate link: https://ko-fi.com/pryley
Tags: reviews, ratings, testimonials, product reviews, business reviews
Tested up to: 7.0
Stable tag: 8.2.0
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Site Reviews is the best free reviews plugin. It integrates with WooCommerce & SureCart and works just like reviews on Amazon, Tripadvisor, and Yelp.

== Description ==

Site Reviews is a complete review management solution that works similarly to reviews on Amazon, Tripadvisor, and Yelp.

Site Reviews integrates with SureCart and WooCommerce enabling store owners to collect and display customer reviews for their products while enhancing social proof and driving sales.

Site Reviews comes with shortcodes and blocks, and provides native elements for Avada Builder, Breakdance, Bricks, Divi 5, Elementor, Flatsome Page Builder, and WPBakery Page Builder.

Site Reviews provides more features and options than almost every other free review plugin, and the support provided on the WordPress forum is excellent.

https://www.youtube.com/watch?v=H5HdMCXvuq8

= Try a Live Demo =

1. [Visit our demo website](https://site-reviews.com)
2. [Try Site Reviews](https://tastewp.com/plugins/site-reviews/?ni=true&redirect=index.php%3Fpage=site-reviews-welcome%26tab=getting-started) for yourself on a demo server.

= Current Features =

- __Actively Developed and Supported__
- __Assign Reviews__: Reviews can be assigned to Categories, Posts, Pages, Custom Post Types, and Users.
- __Avatars__: Provided by the WordPress Gravatar service
- __Backup and Restore__: Export/Import your settings and custom text strings, and use the WordPress Export and Import tools to backup your reviews.
- __Bayesian Ranking__: Easily sort pages with assigned reviews by rank (using the bayesian algorithm) in your custom WP_Query
- __Blacklist__: Block review submissions which contain specific words, phrases, IP addresses, names, and emails
- __Blocks__: Use the custom editor blocks in the Gutenberg editor
- __Developer Friendly__: Designed for WordPress developers with over 200 hooks and convenient functions
- __Discord and Slack Integration__: Receive notifications in Discord and/or Slack when a review is submitted
- __Documentation__: FAQ and documenation for all shortcodes and functions
- __East Asian Language Support__
- __Form Styles__: Match the review form with popular themes and form plugins
- __GamiPress Support__: Site Reviews integrates with GamiPress allowing you to award points when someone writes or receives a review
- __Import Third-Party Reviews__: Includes a built-in CSV importer
- __JSON-LD Schema__: Display your reviews and ratings in search results
- __Members Only__: Require users to be logged in before submitting a review
- __Multilingual Plugin Support__: Integrates review assignments with Polylang and WPML allowing you to assign reviews to all languages of a multilingual page (note: translating reviews is not supported)
- __MultilingualPress__: Integrates with the MultilingualPress multisite plugin.
- __Multisite Support__: Fully supports network/multisite websites
- __myCRED Support__: Site Reviews integrates with myCRED allowing you to award points when someone writes or receives a review
- __Notifications__: Send notifications to one or more emails when a review is submitted
- __Page Builder Support__: Use native elements in Avada Builder, Breakdance, Bricks, Divi 5, Elementor, Flatsome Page Builder, and WPBakery Page Builder
- __Pagination__: Display a set number of reviews per-page with AJAX
- __Privacy__: Integrates with the WordPress privacy tools
- __Rating Summaries__: Display a summary of your review ratings from high to low.
- __Relative Dates__: You decide the date format that is displayed in your reviews
- __Responses__: Write responses to your reviews
- __REST API__: Access your reviews from remote websites and applications using the API.
- __Restrictions__: Require approval before publishing reviews and limit review submissions by email address, IP address, or username
- __Review Limits__: Prevent people from submitting more than one review per day (based on IP address, email, or username). Works with review assignments. 
- __Shortcodes__: Configurable shortcodes complete with full documentation
- __SPAM Protection__: Includes 5 layers of protection from spam! Built-in Honeypot, 6 CAPTCHA options (Cloudflare Turnstile, FriendlyCaptcha, hCaptcha, Procaptcha, reCAPTCHA v2 Invisible, and reCAPTCHA v3), Akismet, Blacklist, and Review limits
- __SureCart Support__: Site Reviews integrates with your SureCart Products
- __Templates__: Use the Site Reviews templates in your theme for full control over the HTML
- __Translations__: Easily change any text of the plugin to your own in the settings.
- __Verify Reviews__: Automatically request verification of new reviews
- __WooCommerce Support__: Site Reviews integrates with your WooCommerce Products
- And more!

= Site Reviews Premium =

If you need more features, [Site Reviews Premium](https://niftyplugins.com/plugins/site-reviews-premium/) gives you access to all of our paid addons as well as fast email and remote support.

Premium addons include:

- __[Review Actions](https://niftyplugins.com/plugins/site-reviews-actions/)__: Allow people to upvote, report, and translate your reviews.
- __[Review Authors](https://niftyplugins.com/plugins/site-reviews-authors/)__: Update your reviews from the frontend.
- __[Review Filters](https://niftyplugins.com/plugins/site-reviews-filters/)__: Sort, filter, and search your reviews.
- __[Review Forms](https://niftyplugins.com/plugins/site-reviews-forms/)__: Create custom review forms with over 20 field types, field conditions, and individual review templates.
- __[Review Images](https://niftyplugins.com/plugins/site-reviews-images/)__: Add images with captions to your reviews, and display a gallery of your review images.
- __[Review Notifications](https://niftyplugins.com/plugins/site-reviews-notifications/)__: Create and schedule custom review notifications with conditions, and send reminder emails for WooCommerce purchases.
- __[Review Themes](https://niftyplugins.com/plugins/site-reviews-themes/)__: Display your reviews in a carousel or grid and create custom review designs with a drag-and-drop builder.

= Third Party Plugin Support =

Site Reviews is officially compatible with the following plugins:

- [Akismet](https://wordpress.org/plugins/akismet/)
- [Avada Builder](https://avada.com/)
- [Breakdance](https://breakdance.com/)
- [Bricks](https://bricksbuilder.io/)
- [BuddyBoss](https://www.buddyboss.com/)
- [BuddyPress](https://buddypress.org/)
- [Cloudflare](https://wordpress.org/plugins/cloudflare/)
- [Divi 5](https://www.elegantthemes.com/gallery/divi/)
- [Duplicate Page](https://wordpress.org/plugins/duplicate-page/)
- [Elementor](https://elementor.com/)
- [Endurance Cache](https://github.com/bluehost/endurance-page-cache/)
- [Flatsome Page Builder](https://themeforest.net/item/flatsome-multipurpose-responsive-woocommerce-theme/5484319)
- [FluentCart](https://fluentcart.com/)
- [GamiPress](https://wordpress.org/plugins/gamipress/)
- [GeneratePress](https://generatepress.com/)
- [hCaptcha](https://wordpress.org/plugins/hcaptcha-for-forms-and-more/)
- [Hummingbird Performance](https://wordpress.org/plugins/hummingbird-performance/)
- [JetWooBuilder For Elementor](https://crocoblock.com/plugins/jetwoobuilder/)
- [Litespeed Cache](https://wordpress.org/plugins/litespeed-cache/)
- [Loyalty Program for WooCommerce](https://advancedcouponsplugin.com/woocommerce-loyalty-program/)
- [Members](https://wordpress.org/plugins/members/)
- [MultilingualPress](https://multilingualpress.org/)
- [myCRED](https://mycred.me/)
- [Ninja Forms](https://ninjaforms.com/)
- [NitroPack](https://wordpress.org/plugins/nitropack/)
- [Oxygen Builder](https://oxygenbuilder.com)
- [Perfect Brands for WooCommerce](https://wordpress.org/plugins/perfect-woocommerce-brands/)
- [Polylang](https://wordpress.org/plugins/polylang/)
- [ProfilePress](https://profilepress.com/)
- [RankMath Pro](https://rankmath.com/)
- [Schema and Structured Data for WP](https://structured-data-for-wp.com/)
- [Schema Pro](https://wpschema.com/)
- [Search & Filter Pro](https://searchandfilter.com/)
- [SEOPress](https://wordpress.org/plugins/wp-seopress/)
- [SiteGround Optimizer](https://wordpress.org/plugins/sg-cachepress/)
- [Speed Booster Pack](https://wordpress.org/plugins/speed-booster-pack/)
- [SureCart](https://surecart.com/)
- [Swift Performance](https://swiftperformance.io/)
- [Thrive Architect](https://thrivethemes.com/architect/)
- [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/)
- [WooCommerce Loyalty Points and Rewards](https://www.flycart.org/products/wordpress/wployalty)
- [WooCommerce](https://wordpress.org/plugins/woocommerce/)
- [WooRewards](https://wordpress.org/plugins/woorewards/)
- [WP Fastest Cache](https://www.wpfastestcache.com/)
- [WP Rocket](https://wp-rocket.me/)
- [WP Super Cache](https://wordpress.org/plugins/wp-super-cache/)
- [WP-Optimize](https://getwpo.com)
- [WPBakery Page Builder](https://wpbakery.com/)
- [WPForms](https://wordpress.org/plugins/wpforms-lite/)
- [WPLoyalty](https://wployalty.net/)
- [WPML](https://wpml.org/) - note: review translation is not supported
- [Yoast Duplicate Post](https://wordpress.org/plugins/duplicate-post/)
- [Yoast SEO](https://yoast.com/wordpress/plugins/seo-free/)

= Open Source =

[Follow plugin development on Github.](https://github.com/pryley/site-reviews/)

== Installation ==

= Minimum Plugin Requirements =

- MySQL 5.6 or greater
- PHP 8.1.2 or greater
- WordPress 6.8 or greater

= Automatic installation =

Automatic installation is the easiest option -- WordPress will handle the file transfer, and you won’t need to leave your web browser. To do an automatic install of Site Reviews, log in to your WordPress dashboard, navigate to the Plugins menu, and click “Add New.”

In the search field type “Site Reviews,” then click “Search Plugins.” Once you’ve found it, you can view the plugin details such as the point release, rating, and description. Install it by clicking “Install Now,” and WordPress will take it from there.

= Manual installation =

Manual installation method requires downloading the Site Reviews plugin and uploading it to your web server with a FTP application. The WordPress codex contains [instructions on how to do this here](https://wordpress.org/support/article/managing-plugins/#manual-plugin-installation).

= Updating =

Automatic updates should work smoothly, but we still recommend you back up your site.

If you encounter issues with your reviews after an update, go to the Site Reviews Tools page and run the "Migrate Plugin" tool. That should return things to normal.

== Frequently Asked Questions ==

= How do I use Site Reviews? =

Here is a Tutorial:

https://www.youtube.com/watch?v=H5HdMCXvuq8

You can also read the "Getting Started" page by clicking the Help icon on the top-right corner of any of the Site Reviews admin pages.

= I need help with something else =

All documentation can be found in the "Help & Support" page of the plugin. If your question is not answered there, please create a new topic in the [WordPress support forum](https://wordpress.org/support/plugin/site-reviews/).

= Where do I report security bugs? =

You can report any security bugs found in the source code of this plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/site-reviews). The Patchstack team will assist you with verification, CVE assignment and take care of notifying the developers of this plugin.

== Screenshots ==

1. The "All Reviews" page.
2. The "Edit Review" page.
3. Site Reviews provides Gutenberg blocks, Elementor Widgets, and Shortcodes.
4. Premium addons provide additional functionality to Site Reviews
5. Site Reviews provides a Help page with complete shortcode documentation and answers to frequently asked questions.
6. General settings.
7. Settings for displaying reviews.
8. Settings for review form submissions.
9. Settings for JSON-LD Schema (rich snippets)
10. Change any public-facing text of the plugin here.
11. WooCommerce integration settings
12. Import/export reviews, plugin settings, and perform various other tasks.
13. If you experience any issues with the plugin, the plugin Console is the first place to check.
14. This is what Discord notifications look like.
15. This is what Slack notifications look like.

== Upgrade Notice ==

= 8.0.0 =

This update requires a minimum of PHP 8.1.2 and WordPress 6.7. There are a few potentially breaking changes, so please make sure to read the plugin's changelog and Upgrade Guide after updating.

== Changelog ==

= 8.2.0 (2026-08-06) =

- Added per-addon settings storage: each addon now keeps its settings in its own option
- Added support for the standalone "Site Review Premium" plugin (coming soon)
- Added support for WooCommerce "Customer review request" emails
- Fixed a "doing it wrong" notice raised by an integration's version notice
- Fixed a duplicate Reviews section in WooCommerce's redesigned Product Details block
- Fixed a fatal error on sites running MultilingualPress when it cannot report its version
- Fixed a migration overwriting saved settings when the options cache is stale
- Fixed a PHP error when a review query is built with no arguments
- Fixed a PHP warning on sites running Loyalty Program for WooCommerce
- Fixed a PHP warning when importing WooCommerce product reviews
- Fixed an API request not being retried when the server asked for it to be
- Fixed an unrecognised admin request failing silently instead of being logged
- Fixed API request SSL certificate verification
- Fixed cached API responses never being cleared on sites using a persistent object cache
- Fixed deleted reviews being left in the review cache
- Fixed duplicate error notices when importing settings from an older version
- Fixed duplicating a review that had not accepted the terms
- Fixed imported reviews with no timestamp in the date being stamped with the time of the import
- Fixed imported WooCommerce product reviews losing their author
- Fixed PHP deprecation notices on the review revisions comparison screen
- Fixed plugin migrations rebuilding database indexes every time instead of only when needed
- Fixed Polylang translations never being applied to assigned pages, categories or users
- Fixed reviews being wrongly recorded as having accepted the terms on some sites
- Fixed stale settings keys not being cleaned after a plugin migration
- Fixed the "Approve" and "Unapproved" wording not being applied to the Publish metabox on the review editor
- Fixed the approve link capability check in the notification email
- Fixed the author link missing from reviews in the REST API
- Fixed the category priority cache not being cleared when a category priority is added or changed
- Fixed the classic widget title not being displayed
- Fixed the custom schema identifier being ignored unless the schema type was Custom
- Fixed the Documentation link on the plugins screen
- Fixed an empty version showing in the System Info after some settings imports
- Fixed the addons section missing from the System Info report
- Fixed the Import Settings tool losing its notices
- Fixed the notification and verification email settings offering invalid template tags
- Fixed the plugin rollback tool when JavaScript is unavailable
- Fixed the plugin's service container being unable to register a factory
- Fixed the plugins screen load time when the licence server is unreachable
- Fixed the post meta cache not being cleared when the rating counts are recalculated
- Fixed the Prosopo Procaptcha error details not being included in the log when a captcha is rejected
- Fixed the redirect after duplicating a review with the Duplicate Page plugin
- Fixed the review cache not being cleared when a rating is deleted
- Fixed the review submission limit matching too many previous reviews on sites using flexible assignment
- Fixed the Unapprove link publishing the review instead of unapproving it when javascript is disabled
- Fixed the update details check for inactive addons
- Fixed translatable strings that used multiple unnumbered placeholders — translations can now reorder them (existing translations of these strings will need to be updated)
- Improved integration version checks to warn about untested versions instead of disabling the integration
- Improved the WooCommerce comments compatibility experiment to give plugins and themes more accurate results
- Updated Action Scheduler to v4.1.0
- Updated the supported WooCommerce version to 11

= 8.1.0 (2026-07-11) =

- Added a migration to backfill missing post_date_gmt values on existing reviews
- Fixed admin settings page styling in WordPress 7.0
- Fixed an unbounded reviews-per-page query parameter that could exhaust server resources
- Fixed color sanitization to ignore empty values
- Fixed Discord and Slack webhook URL validation to prevent a host-matching bypass
- Fixed geolocation batch processing to reschedule failed or rate-limited requests instead of blocking the queue worker
- Fixed geolocation retries being silently dropped by the scheduled actions queue
- Fixed malformed markup in the reviews list-table rating column for ratings greater than 5
- Fixed random review ordering so paginated results stay consistent within the hour
- Improved block editor performance by prefetching component options
- Improved encryption key derivation to use HKDF (existing encrypted data still decrypts)
- Improved escaping of admin notices on the Scheduled Actions page
- Improved the markup of admin error notices
- Updated Action Scheduler to v4.0.0 (failed actions are now purged after 3 months)
- Updated the minimum required WordPress version to 6.8

= 8.0.13 (2026-07-03) =

- Fixed a timezone bug that would reset the submission date of a review when approving a newly submitted unapproved review

= 8.0.12 (2026-06-23) =

- Fixed a Broken Access Control vulnerability (CVSS 6.5) in the REST API
- Fixed the menu order of addon menu items

= 8.0.11 (2026-05-06) =

- Fixed an infinite-recursion bug in the Cloudflare cache integration
- Fixed geolocation jobs being queued when the geolocation setting was disabled

= 8.0.10 (2026-04-29) =

- Fixed Discord and Slack webhook url domain sanitization
- Fixed errors from WooCommerce rest_preload_api_request during plugin updates
- Fixed geolocation regeneration when IP address is changed
- Fixed intermittent loss of review details on first save
- Fixed Modal positioning
- Fixed review types
- Fixed WordPress 7.0 compatibility
- Improved Geolocation Reviews tool
- Improved Rollback Plugin tool
- Improved wp_safe_redirect usage
- Improved wp_safe_remote_post usage

= 8.0.9 (2026-03-31) =

- Fixed the WordPress Importer

= 8.0.8 (2026-03-24) =

- Fixed an incorrect review count on paginated results when reviews have been assigned to multiple pages

= 8.0.7 (2026-03-22) =

- Fixed a PHP 8.5 deprecation notice
- Fixed Avada design control grouping
- Fixed Prosopo Captcha integration
- Improved CAPTCHA script loading
- Improved Friendly Captcha integration (API v2 support)
- Improved review form validation

= 8.0.6 (2026-03-14) =

- Fixed compatibility with the [Review Forms](https://niftyplugins.com/plugins/site-reviews-forms/) addon when using the `glsr_create_review` function.
- Fixed multi-select controls in block settings when multiple blocks of the same type are on the page.
- Fixed review details sync in MultilingualPress when manually creating a new review relationship.
- Fixed the "Manage Reviews" link in multisite WP Admin Bar "My Sites" menu
- Fixed visiblity of "Author" label in bulk edit when user role does not have the capability to edit review author.

= 8.0.5 (2026-03-11) =

- Fixed button design settings in Divi 5 modules

= 8.0.4 (2026-03-06) =

- Fixed an error during plugin update caused by a race condition that was being triggered by WooCommerce preloading REST API data in the update iframe footer.

= 8.0.3 (2026-03-06) =

- Fixed Elementor select2 and toggle controls (i.e. Assigned Posts,  etc.) in Chrome browsers

= 8.0.2 (2026-03-04) =

- Fixed reCAPTCHA badge placement setting

= 8.0.1 (2026-03-04) =

- Fixed license key settings

= 8.0.0 (2026-03-03) =

Site Reviews has a fresh coat of paint!

- ‼️ The minimum required version of PHP is now v8.1.2
- ‼️ The minimum required version of WordPress is now v6.7
- ‼️ The Elementor Widget style controls have been removed because they didn't work well with the addons and not at all when displaying reviews in a modal.
- Added [Avada Builder](https://avada.com/) integration
- Added [Breakdance](https://breakdance.com/) integration
- Added [Bricks](https://bricksbuilder.io/) integration
- Added [Cloudflare](https://wordpress.org/plugins/cloudflare/) integration
- Added [Divi 5](https://www.elegantthemes.com/divi-5/) integration
- Added [Duplicate Page](https://wordpress.org/plugins/duplicate-page/) integration
- Added [Flatsome Page Builder](https://themeforest.net/item/flatsome-multipurpose-responsive-woocommerce-theme/5484319) integration
- Added [MultilingualPress](https://multilingualpress.org/) integration
- Added [ProfilePress](https://profilepress.com/) integration
- Added [SureCart](https://surecart.com/) integration
- Added [WPBakery Page Builder](https://wpbakery.com/) integration
- Added [WPLoyalty](https://wployalty.net/) integration
- Added [Yoast SEO](https://yoast.com/wordpress/plugins/seo-free/) integration
- Added a "CAPTCHA Placement" setting to change the position of the Captcha above or below the submit button in the review form
- Added a "verified" option to the Latest Reviews and Rating Summary blocks and shortcodes to display ratings and reviews based on the verified status.
- Added an "author" option to the Latest Reviews and Rating Summary blocks and shortcodes to display ratings and reviews submitted by a specific user.
- Added an "Autofill Fields" setting to automatically fill the name and email fields with the logged in user details.
- Added an "Enable Account Reviews" setting to the Ultimate Member integration to display a user's submitted reviews on their account page.
- Added an "Enable Session Storage" setting to persist entered review form values until either the review is submitted or the browser tab or window is closed
- Added basic style controls to the Gutenberg blocks
- Added Geolocation which allows you to display the location of the reviewer next to their name in the review (i.e. flag/country/state/city)
- Added more options to the Export Reviews tool
- Added the `summary_id` option to the Review Form, this allows you to update the rating summary immediately without reloading the page
- Added WP-CLI commands
- Changed the HTML markup of the `form/field_radio.php` template
- Changed the HTML markup of the `form/submit-button.php` template
- Changed the HTML markup of the `load-more-button.php` template
- Changed the HTML markup of the `review.php` template
- Changed the HTML markup of the `ultimatemember/reviews.php` template
- Changed the location of the custom CSS class attribute in a rendered block or shortcode to the root DIV.
- Fixed Action Scheduler action redirects
- Fixed compatibility with the Salient theme
- Fixed Elementor template support in the schema parser
- Fixed generated CSS ID values to always be unique
- Fixed link focus when expanding excerpts with the keyboard
- Fixed the Blacklist validator
- Fixed the Cache integration to be more selective when flushing the cache
- Fixed the category priority feature
- Fixed the Cloudflare Turnstile integration
- Fixed the legacy WordPress widget options
- Fixed the pin control on the edit review page
- Fixed the RankMath integration when using Divi Builder
- Fixed the review form signature encryption
- Improved CSS of plugin styles for some themes
- Improved MIME type detection
- Removed the `site-reviews/review-form/fields/normalized` filter hook
- Removed the `site-reviews/summary/counts` filter hook
- Updated Action Scheduler to v3.9.3
- Updated the Elementor integration
- Updated the FAQ documentation to include a section on how to hide empty review titles
- Updated the Gutenberg blocks to API v3
- Updated the privacy policy example to include a section on geolocation
- Updated the WooCommerce integration

[See changelog for all versions](https://raw.githubusercontent.com/pryley/site-reviews/main/changelog.txt).
