Appearance
Voxel Reviews Widget Changelog
Release notes for every Voxel Reviews Widget release, newest first. The current release is 1.2.2.
Updates install through the normal WordPress updates screen once your license is active.
1.2.2
Changed
Rating markup now goes on your own listing pages, not on other people's sites. Previously the embed injected
aggregateRatingstructured data into whatever site pasted the code, describing a listing hosted elsewhere, while your own listing pages published none. That is now reversed: markup is published on a listing's own page, where the rating is genuinely the subject, and embeds carry the visible badge and the link back without it. See SEO & Structured Data.This reaches badges already embedded on other sites as soon as your site updates. Their owners do not need a new snippet.
Structured data now names the listing correctly. It had been taking the badge's display name, which falls back to the logo alt text — so listings were being published to search engines as businesses called "Reviews".
1.2.1
A hardening release. No new features, several things that were quietly wrong.
Security
- Embed endpoints now serve published, publicly visible listings only. The older, undocumented
post_idparameter accepted any ID from anyone, which meant the existence, type, URL and review score of draft, private and scheduled posts could be read by an unauthenticated request. - The Copy Embed Code button is now shown only to users who can edit the listing. It had been rendering for every visitor.
- Tightened the settings screen so an unrecognised value can never reach the stylesheet, and corrected the framing headers used by the embed.
Fixed
- The activation routine never ran. Its hook was registered too late, so the plugin's table was only created by a fallback on the next page load. Activation now does its own work, and deactivating clears the scheduled cleanup instead of leaving it running.
- An invalid colour broke styling site-wide. Colour fields validated only in the browser; a rejected value was stored as empty and emitted broken CSS on every page. Bad values now fall back to the default.
- Badges wrote to the database on every page view. Each badge ran a read and a write per render. They now write only when something actually changed.
- Badges loaded after the page did not appear — inside tabs, popups, or AJAX-loaded content. The embed script now watches for them, and exposes
window.VoxelEmbedReviews.render(). - Rating structured data was in a shape that could never produce a rich result: a standalone
AggregateRatingrather than the listing with its rating nested inside. - A manually overridden rating no longer publishes structured data. The override is a number you type, with a synthetic count of one behind it; publishing it as machine-readable review data risked a manual action.
- Uninstalling now removes the plugin's table, options and cached scores. Multisite-aware. Your license key is left alone.
- The embed script URL is versioned, so future fixes reach sites that already have a badge.
- Replaced the badge link's hidden keyword text with a proper accessible label, and its invented
rel="dofollow"withrel="noopener".
Added
voxel_embed_reviews_schema_typeandvoxel_embed_reviews_schemafilters, so listings that are not businesses can be described correctly. See For Developers.- Translations are now loaded, and a
languagesfolder ships with the plugin.
1.2.0
Added
- Review average override, site-wide and per listing, for demos and pre-launch pages.
- SEO anchor text template for the embedded badge's link, with
{count},{rating},{title}and{stars}placeholders.
1.0.0
First public release: five badge styles, the Elementor widget, and JavaScript embed codes for listing owners to place badges on their own sites.

