Photo & Video Reviews for WooCommerce — PVR Media Reviews

Description

Photo & Video Reviews for WooCommerce (PVR Media Reviews) empowers your customers to share authentic visual proof by adding photos and videos to their product reviews.

Unlike other media review plugins that overwhelm your web server, PVR processes and compresses videos directly in the customer’s browser before upload. This delivers lightning-fast uploads, saves bandwidth and storage, and eliminates the need for server-side FFmpeg or expensive hosting upgrades.

Why Choose PVR Media Reviews?

  • In-Browser Video Compression — Videos (MP4, WebM) are automatically compressed client-side via modern Canvas & MediaRecorder APIs before uploading. Zero server CPU load.
  • Authentic Visual Social Proof — Let shoppers upload photos and videos to build buyer confidence and boost conversion rates.
  • 100% Native WooCommerce Integration — Extends WooCommerce reviews using native WordPress comments (comment_type = 'review'). Clean, reliable, and portable.
  • Built-in Rich Snippets (Schema.org / JSON-LD) — Automatically injects AggregateRating and Review structured data so your star ratings appear directly in Google search results. Compatible with Yoast SEO and Rank Math.
  • Interactive Media Experience — Modern modal popups, responsive photo galleries, customer avatars with cropping, and built-in video player.
  • Community & Trust — Helpful/unhelpful voting on reviews and verified store owner reply badges.

Free Features

  • Photo & Video Reviews — Customers can attach multiple photos (JPG, PNG, WebP, GIF) and videos (MP4, WebM, MOV) to any review.
  • Client-Side Video Compression — Automatic compression in the user’s browser with real-time progress preview and thumbnail creation.
  • Reviewer Avatars — Allow customers to upload custom profile pictures with an interactive crop tool.
  • Helpful Voting System — Visitors can vote whether a review was helpful or not.
  • Store Owner Replies — Respond publicly to customer reviews with a verified store badge.
  • Rich Snippets & Schema Markup — Google Rich Snippets support (AggregateRating and Review JSON-LD) out of the box.
  • Email Notifications — Configurable email alerts for new reviews and customer replies.
  • Anti-Spam & Moderation — Built-in honeypot protection, IP rate limiting, and optional Google reCAPTCHA v3 support.
  • Multilingual & Translation Ready — Bundled translations for English, Spanish, French, German, Polish, Brazilian Portuguese, and Russian.

Pro Features

  • Automated Review Reminders — Schedule automated follow-up emails after completed orders to request reviews.
  • Review Discount Coupons — Incentivize customers by automatically sending discount coupons for text, photo, or video reviews.
  • Multi-Criteria Ratings — Define custom rating criteria (e.g. Quality, Size, Shipping) per product category.
  • SEO All Reviews Page — Dedicated store-wide review hub with category filters and auto-generated, customizable SEO titles and meta descriptions for search traffic.
  • Review Carousels & Grid Widgets — Showcase your best reviews anywhere using flexible shortcodes and responsive sliders.
  • Analytics Dashboard — Track review volume, media coverage, coupon redemption rates, and rating distributions.

How It Works

  1. Install and activate the plugin.
  2. An enhanced review form with photo/video upload automatically appears on your WooCommerce product tabs.
  3. Shoppers upload media; videos compress smoothly in their browser.
  4. Reviews appear instantly with rich media galleries, helpful voting, and store reply threads.

Developer Friendly

  • Built entirely on native WordPress comments (comment_type = 'review').
  • Custom tables with {$wpdb->prefix}pvr_ prefix for scalable performance.
  • No external server dependencies or cloud subscription required.
  • Comprehensive actions and filters for deep theme and plugin customization.

External Services

This plugin optionally connects to Google reCAPTCHA v3 to protect review submissions from spam.

  • What it is: Google reCAPTCHA is a security service that distinguishes humans from bots.
  • What data is sent: The reCAPTCHA token (generated client-side) and the page action label are sent to Google’s verification endpoint when a review is submitted. No personal data beyond the IP address (which is handled by Google’s own privacy policy) is transmitted.
  • When it is sent: Only when the “reCAPTCHA” option is enabled in plugin settings AND a visitor submits a review.
  • Links:
    • Google reCAPTCHA Terms of Service: https://policies.google.com/terms
    • Google Privacy Policy: https://policies.google.com/privacy

Note: Reviewer avatars are uploaded and stored locally on your WordPress server. This plugin does not use Gravatar or any external avatar service. Avatars are managed entirely through the plugin’s own upload system (PVREV_Avatar class) and stored in the WordPress uploads directory.

Screenshots

Installation

  1. Upload the plugin files to /wp-content/plugins/pvr-media-reviews-for-woocommerce/, or install via the WordPress Plugins directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Ensure WooCommerce is installed and active.
  4. Navigate to PVR Media Reviews > Settings to customize upload limits, email notifications, and display options.

FAQ

Can customers upload photos and videos to WooCommerce reviews?

Yes. PVR Media Reviews adds intuitive photo and video upload fields to your WooCommerce review forms, enabling customers to easily attach images and video clips to their feedback.

Does this plugin slow down my web server?

No. All video compression happens directly inside the customer’s browser before upload. Because your server never handles raw, uncompressed video, there is zero extra CPU load, no FFmpeg requirement, and no need for specialized video hosting.

Does it support Google Rich Snippets (Star Ratings in Search)?

Yes. The plugin automatically adds Schema.org structured data (AggregateRating and Review JSON-LD) to your product pages so star ratings can display in Google search results. It is fully compatible with WooCommerce, Yoast SEO, and Rank Math.

Does this plugin replace WooCommerce reviews?

No. The plugin seamlessly extends native WooCommerce reviews stored as WordPress comments. All reviews remain fully standard, portable, and compatible with other WooCommerce tools.

What video formats and sizes are supported?

The plugin supports MP4, WebM, and MOV video formats. The maximum video upload size defaults to 500 MB (fully configurable in settings), and videos can be automatically compressed in the browser.

Does it work without WooCommerce?

No. PVR Media Reviews requires WooCommerce to be installed and active.

Is there a Pro version?

Yes. The Pro version unlocks automated review reminder emails, discount coupons for reviews, custom category criteria ratings, review carousels/grids, and a dedicated SEO All Reviews landing page.

What PHP version is required?

PHP 7.1 or higher (PHP 7.4+ or 8.x recommended).

Reviews

There are no reviews for this plugin.

Contributors and Developers

“Photo & Video Reviews for WooCommerce — PVR Media Reviews” is open source software. The following people have contributed to this plugin.

Contributors

Change Log

1.1.2

  • All-media grid: fixed “Show all media” on the reviews hub opening without filters; new photo/video filter, media is now grouped by review in page order, skeleton loading placeholders replace the “Show more” button with seamless infinite scrolling, and thumbnails load lazily
  • Details modal: flipping through media reviews now continues infinitely in both directions — additional reviews are loaded in the background (previously limited to the reviews rendered on the page); neighboring full-size photos are preloaded so navigation feels instant
  • Media: new default image quality presets (thumbnails 90%, modal preview 80%, lightbox 70%) for lighter pages; generated images are never upscaled beyond the original size; fixed a WebP quality bug where the per-format quality was silently discarded during format conversion
  • Review Widgets (Pro): block titles are now configurable per widget — custom text, HTML tag (h2–h5/div) and additional CSS classes for matching your theme styles (“Title Selector” field); the live shortcode preview includes the title attributes
  • Review Widgets (Pro): fixed the settings page jumping back to the carousel sub-tab after saving on the grid sub-tab, and the shortcode preview losing its values after save
  • Admin: the License tab no longer shows a stray Renew link for lifetime licenses (a CSS rule was overriding the hidden attribute); after a failed renewal the Renew link is now a prominent colored button matching the license state (orange during the grace period, red when Pro is disabled)
  • Translations updated (EN, RU, ES)

1.1.1

  • Emails & Notifications: admin notification, customer confirmation and reply emails are rebuilt with a shared branded template; new accent color settings (gradient + text color) style the email header, buttons and coupon badge; store logo, name, phone and email are shared across all emails
  • Emails & Notifications: the admin now receives a media follow-up email when photos/videos finish uploading to an already-approved review; duplicate admin/author notifications are fixed; the customer confirmation is sent when a review is approved manually, including bulk approve
  • Emails & Notifications: the plugin From name/address is now applied only to plugin emails instead of overriding all site emails
  • Reviewer avatars: avatar URLs are now versioned by file modification time, so updated avatars appear immediately instead of staying cached in the browser
  • Admin: the License tab shows the license type (“Lifetime” or “Expires: date”), adds a Renew row after a failed renewal attempt and a “Re-install” button on the Plugin Updates card; new confirmation dialogs for deleting an issued coupon and restoring reminder templates
  • Review Widgets (Pro): new per-breakpoint display settings for the carousel and grid (slides, columns, navigation, pagination, autoplay, inertia, avatar and thumbnail sizes) with a live shortcode builder, previewable in the free version
  • Review editor: the bottom of the admin review editor is now extensible via the pvrev_admin_review_edit_bottom hook
  • Reviews: approving reviews via bulk actions now sends the customer confirmation email (numeric status was not recognized)
  • Landing Pages (Pro): fixed landing pages silently failing to save after a plugin update — the database table is now created automatically on save and any database error is reported in the admin instead of being swallowed
  • Translations updated (ES, FR, DE, PL, PT-BR)

1.1.0

  • License server migrated to a new domain (admin.pv-reviews.site) — license validation, Pro upgrades and automatic updates now point to the new address; installs must update to 1.1.0 to keep checking licenses after the old domain shutdown
  • Coupons (Pro): default texts for the customer email message and the review-form notice are now prefilled in settings as editable examples
  • Coupons (Pro): usage restrictions moved to a dedicated sub-tab with searchable multi-select pickers for products and categories (no more manual ID lists) and detailed field descriptions
  • Coupons (Pro): the tab is now organized into sub-tabs (General / Usage Restrictions / Email Template / Frontend Display)
  • Pros/Cons: new “Min” length limit setting; when set, Pros/Cons fields become required and are validated on the client and server (“Pros/Cons too short (min %d chars)”)
  • Review form: media section title and limits are now dynamic (“Photos”, “Videos” or “Photos & Videos” with correct per-type limits); the section is hidden when both limits are 0
  • Upload previews now display the file size of each prepared (compressed) file
  • Admin: fixed settings assets not loading when the screen hook differs from the menu slug
  • Admin: reply auto-approve setting clarified (“Auto-approve comments” with description) and moved up in the Replies tab
  • Admin: third-party Sortable.js library updated to 1.15.7; update-check AJAX errors now return a readable message instead of a fatal

1.0.9

  • Landing Pages (Pro): the list moved below the form with live search (category/manufacturer/H1), status filter, pagination and inline status toggles; editing highlights the row, and the form stays on the Landing Pages sub-tab after saving
  • Landing Pages (Pro): fixed “The link you followed has expired” error when saving or deleting landing pages
  • Analytics (Pro): new date-range filter (7/30/90 days / all time), cached aggregates with manual refresh, reviews trend chart, monthly dynamics, “Needs Attention” low-rated products table, and new KPIs: pending moderation, verified buyers, reply rate, helpful ratio
  • Widgets (Pro): new “Review scope” option — show reviews of products from the current product category (optionally including child categories) when the shortcode is placed on a category page; shortcode attribute scope=”” added
  • Widgets (Pro): [pvr_reviews_carousel] and [pvr_reviews_grid] shortcodes are now built from current settings immediately, not only after changes
  • Landing Pages / SEO: fixed %category% and similar placeholders being corrupted on save (WordPress sanitize_text_field strips %XX sequences); templates are now sanitized with a placeholder-safe helper
  • Admin: fixed %placeholders% being corrupted when saving SEO template sets and landing page fields
  • Pro tab previews (free version) updated to reflect the actual Pro features
  • Performance: widget review queries and category product lists are now cached (1 hour, auto-invalidated on review changes)
  • Landing Pages (Pro): fixed a stale-nonce “link expired” error caused by the criteria admin handler intercepting landing POST actions

1.0.8

  • Reviews Page (Pro): customer media strip between filters and sorting — all media from loaded reviews with a “Show all media” grid; new thumbnails append after “Show more”
  • Reviews Page (Pro): filter sections now have headers (Categories / Manufacturers), smaller filter buttons
  • Reviews Page (Pro): sorting restyled as text links with direction arrow (like the demo page)
  • Reviews Page (Pro): “Show more” is a text block with a refresh icon and remaining-count (“Show 12 more reviews out of 37”); pagination now follows the loaded pages
  • Reviews Page (Pro): fixed an invalid wpdb::prepare call notice when no filter was selected
  • Reviews Page (Pro): removed a stray closing script tag on the System Info tab; fixed .htaccess block preview detection
  • Emails & Notifications: plugin From name/address is now applied only to plugin emails (no longer overrides all site emails)
  • Emails & Notifications: fixed duplicate admin/author notifications when reviews have media
  • Emails & Notifications: author confirmation is now sent when a review is manually approved
  • Coupons (Pro): coupons are now actually issued (hook name mismatch fixed); correct reward type for reviews with media; no coupons for reviews pending moderation
  • Reminders (Pro): fixed broken unsubscribe link, unsubscribed customers are skipped
  • Reminders (Pro): fixed broken UTF-8 encoding in multipart emails
  • System Info: fixed “Change PHP Limits” never working on Apache (invalid IfModule wildcard), added CGI/FastCGI and LiteSpeed support; manual instructions updated
  • System Info: added clear notice that .user.ini changes take ~5 minutes (PHP-FPM/CGI cache) so users do not re-click “Apply Changes”

1.0.7

  • Reviews Page (Pro): new manufacturer filter based on native WooCommerce Brands
  • Reviews Page (Pro): category and manufacturer filter lists are interdependent — only filters with reviews in the current scope are shown
  • Reviews Page (Pro): SEO template sets for Category, Manufacturer and combined filtering; HTML and meta description now honor the active filters
  • Reviews Page: overlay spinner moved closer to the top of the loading overlay for better visibility
  • Review widgets (Pro): Category filter now actually filters reviews in Grid and Carousel
  • Review widgets (Pro): media modal shows the full review text instead of a truncated excerpt
  • Review widgets (Pro): “Read more” button is available even when voting is restricted; voting permission is now checked against the reviewed product
  • Review Criteria (Pro): fixed criteria not being created/edited/deleted in admin (form field name mismatch), fixed status toggle failing due to nonce mismatch
  • Review Criteria (Pro): criteria summary on the product page is now license-gated and rendered via a hook
  • Assets are now cache-busted by file modification time so browser caches stay fresh between updates

1.0.6

  • Reviews Page: filtering, sorting and pagination now work without page reload (AJAX + pushState URL updates)
  • Reviews Page: loading overlay with spinner during AJAX filtering; per-request HTTP isolation improvements
  • Reviews Page: fixed pagination broken by canonical redirect (custom rpage param) and Show more AJAX action
  • Reviews Page: fixed Date sort direction and category SEO settings not persisting
  • License module: network requests are now fully isolated from frontend and admin page rendering (offline key validation only; server calls limited to daily cron and explicit License tab actions)
  • License module: fixed invalid regex when license domain uses wildcard notation (*.example.com)
  • License module: automatic reactivation attempts are now rate-limited (once per 10 minutes)
  • Admin: file size is displayed under each media thumbnail in the review editor

1.0.3

  • Added configurable default admin name setting (General Settings tab)
  • Fixed auto-approve mode setting not saving (missing from schema and save flow)
  • Fixed Pros & Cons toggle not saving (form field name mismatch with option key)
  • Fixed video/photo max size display in review form (trailing zeros were stripped incorrectly)

1.0.2

  • Added translation support for Spanish, French, German, Polish, and Brazilian Portuguese
  • Updated plugin banners and icons

1.0.1

  • Minor bug fixes and stability improvements

1.0.0

  • Initial release
  • Photo and video uploads for WooCommerce reviews
  • Client-side video compression using MediaRecorder API
  • Automatic video thumbnail generation
  • Helpful/unhelpful voting system
  • Store reply threads
  • Reviewer avatars with crop modal
  • Schema markup for rich snippets
  • Configurable email notifications
  • Custom rating criteria system (Pro)
  • Email review reminders (Pro)
  • Review coupons (Pro)
  • Analytics dashboard (Pro)
  • Carousel and grid review layouts (Pro)
  • All Reviews page with category/rating/helpfulness filters and SEO templating (Pro)
  • Full i18n support (English, Spanish, French, Russian, German, Polish, Brazilian Portuguese)