{"id":352068,"date":"2026-08-31T17:17:53","date_gmt":"2026-08-31T17:17:53","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/trustfusion-google-reviews\/"},"modified":"2026-08-31T17:17:22","modified_gmt":"2026-08-31T17:17:22","slug":"trustfusion","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/trustfusion\/","author":14731359,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.6","stable_tag":"2.0.6","tested":"7.1","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"TrustFusion \u2014 Show Reviews from Google Business Profile","header_author":"Forkan Hossain","header_description":"Display your Google Business Profile reviews per location on your WordPress site via the TrustFusion relay \u2014 no API key needed. Syncs server-side and renders via shortcode.","assets_banners_color":"434d69","last_updated":"2026-08-31 17:17:22","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/wise.com\/pay\/me\/mdforkanh","header_plugin_uri":"https:\/\/reviews.webcitylab.com","header_author_uri":"https:\/\/github.com\/forkanhossain","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.6":{"tag":"2.0.6","author":"forkanhossain","date":"2026-08-31 17:17:22","revision":3674703}},"upgrade_notice":{"2.0.5":"<p>Removed the plugin&#039;s own 10-review cap on fetch\/store\/display \u2014 the relay enforces its own limit for unlicensed requests server-side. No settings changes required.<\/p>","2.0.4":"<p>Author\/Donate links updated. Manual &quot;Sync Reviews Now&quot; via the relay is now once a month (was once a day), matching automatic sync \u2014 add your own free Google API key in Settings for anytime manual sync.<\/p>","2.0.1":"<p>Manual &quot;Sync Reviews Now&quot; is now limited to once a day per business on the Free plan. No settings changes required.<\/p>","2.0.0":"<p>License key\/Pro features removed from this plugin \u2014 install TrustFusion Pro separately for unlimited reviews and official OAuth connect.<\/p>","1.2.2":"<p>Removed a non-public Google endpoint call and fixed uninstall data cleanup. No settings changes required.<\/p>","1.2.1":"<p>Code-quality and security hardening update. No settings changes required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3674703,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3674703,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3674703,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3674703,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.6"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"My Businesses overview page.","2":"Connect a Google Business Profile.","3":"Frontend display using the grid layout.","4":"Frontend display using the carousel layout."}},"plugin_section":[],"plugin_tags":[15078,15046,21827,1519,1117],"plugin_category":[53,55],"plugin_contributors":[234892],"plugin_business_model":[],"class_list":["post-352068","plugin","type-plugin","status-publish","hentry","plugin_tags-business-profile","plugin_tags-google-business","plugin_tags-google-reviews","plugin_tags-reviews","plugin_tags-schema","plugin_category-ratings-and-reviews","plugin_category-seo-and-marketing","plugin_contributors-forkanhossain","plugin_committers-forkanhossain"],"banners":{"banner":"https:\/\/ps.w.org\/trustfusion\/assets\/banner-772x250.png?rev=3674703","banner_2x":"https:\/\/ps.w.org\/trustfusion\/assets\/banner-1544x500.png?rev=3674703","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/trustfusion\/assets\/icon-128x128.png?rev=3674703","icon_2x":"https:\/\/ps.w.org\/trustfusion\/assets\/icon-256x256.png?rev=3674703","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>TrustFusion<\/strong> connects to your Google Business Profile and displays your Google reviews per business on your site via a simple shortcode. Reviews are fetched and stored server-side (not loaded live from Google on every page view), which keeps pages fast and lets reviews contribute to your site's SEO through JSON-LD schema markup.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Connect a Google Business Profile via the TrustFusion relay \u2014 no Google API key required.<\/li>\n<li>Grid, list, and carousel display layouts.<\/li>\n<li>Multi-location support: connect and display reviews from more than one business, individually or merged into a single feed.<\/li>\n<li>Hide\/show individual reviews from the admin without deleting them.<\/li>\n<li>JSON-LD <code>AggregateRating<\/code> schema markup, using the business's real Google rating and review count.<\/li>\n<li>Automatic sync via WP-Cron (about once a month); the manual \"Sync Now\" button matches that cadence via the relay, or works anytime once you add your own Google API key.<\/li>\n<li>Shortcode: <code>[trustfusion_reviews]<\/code> (supports <code>id<\/code>, <code>place_id<\/code>, <code>ids<\/code>, <code>layout<\/code>, and <code>limit<\/code> attributes).<\/li>\n<\/ul>\n\n<p><a href=\"https:\/\/reviews.webcitylab.com\/\">TrustFusion Pro<\/a> is a separate plugin, sold directly at reviews.webcitylab.com (not listed on or distributed through WordPress.org), with official Google OAuth connect and a higher review-sync ceiling for licensed sites.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to external services to fetch and display your Google reviews. Details below.<\/p>\n\n<ol>\n<li><p><strong>Google Business Profile API \/ Google Places API<\/strong>\nUsed to search for your business and fetch its reviews, rating, and business details for display on your site. This happens when: you search for a business on the \"Add New\" admin page, you connect a business (via the TrustFusion relay, or your own Google Maps\/Places API key if you've added one), and during the monthly automatic sync (and manual \"Sync Now\"). Data sent to Google includes your search query and\/or the connected business's Google Place ID.\nThis service is provided by Google LLC \u2014 <a href=\"https:\/\/developers.google.com\/terms\">Google APIs Terms of Service<\/a> \u2014 <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a>.<\/p><\/li>\n<li><p><strong>TrustFusion Relay (reviews.webcitylab.com)<\/strong>\nWhen you connect a business without entering your own Google API key (the default, key-free path), this plugin sends your site URL and the connected business's Google Place ID to reviews.webcitylab.com \u2014 a service operated by Web City Lab (this plugin's developer) \u2014 which fetches the review data on your behalf. This plugin doesn't impose any review-count limit of its own; the relay itself currently returns up to 10 reviews per business for requests without a paid TrustFusion Pro license, to keep the shared, free service sustainable.\nThis service is provided by Web City Lab \u2014 <a href=\"https:\/\/reviews.webcitylab.com\/terms-of-service-trustfusion\/\">Terms of Service<\/a> \u2014 <a href=\"https:\/\/reviews.webcitylab.com\/privacy-policy-trustfusion\/\">Privacy Policy<\/a> \u2014 <a href=\"https:\/\/reviews.webcitylab.com\/data-deletion-policy-trustfusion\/\">Data Deletion Policy<\/a>.<\/p><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin via the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>TrustFusion \u2192 Add New<\/strong> in the WordPress admin menu and connect your Google Business Profile.<\/li>\n<li>Use the <code>[trustfusion_reviews]<\/code> shortcode (generated automatically for you on the TrustFusion overview page) to display reviews.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20often%20does%20the%20plugin%20sync%20reviews%3F\"><h3>How often does the plugin sync reviews?<\/h3><\/dt>\n<dd><p>Automatic sync runs about once a month via WP-Cron, to keep unattended Google API usage sustainable. The manual \"Sync Reviews Now\" button follows the same once-a-month cadence when syncing via the built-in TrustFusion relay. If you add your own Google Maps\/Places API key in Settings, manual sync works immediately, anytime \u2014 since it then runs on your own Google quota instead of the shared relay.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20google%20api%20key%3F\"><h3>Do I need a Google API key?<\/h3><\/dt>\n<dd><p>No \u2014 the built-in TrustFusion relay can fetch reviews without one. You can optionally add your own Google Maps\/Places API key in Settings for direct access.<\/p><\/dd>\n<dt id=\"can%20i%20display%20reviews%20from%20multiple%20locations%3F\"><h3>Can I display reviews from multiple locations?<\/h3><\/dt>\n<dd><p>Yes. Connect as many businesses as you like (unlimited) and either show them individually or merge several into one combined feed using the <code>ids<\/code> shortcode attribute.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20a%20specific%20review%3F\"><h3>Can I hide a specific review?<\/h3><\/dt>\n<dd><p>Yes, from the <strong>Manage Reviews<\/strong> admin page. Hidden reviews are excluded from both the on-page display and the JSON-LD schema rating.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Removed the remaining promotional links to TrustFusion Pro from the admin UI (Plugins list row action and dashboard banner).<\/li>\n<li>Reworded the \"Connect &amp; Fetch Reviews\" helper text for accuracy.<\/li>\n<li>Plugin activation now re-syncs connected businesses immediately, instead of waiting on the throttled background\/manual sync.<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Removed the plugin's own hardcoded 10-review cap on fetching, storing, and displaying reviews (<code>TrustFusion_Shortcode::REVIEW_CAP<\/code>). This plugin no longer imposes any review-count limit of its own; it fetches and shows whatever the TrustFusion Relay returns, and the relay independently caps unlicensed\/free requests to keep the shared service sustainable (see the \"External services\" section below). Site owners can still set an explicit <code>limit<\/code> on the <code>[trustfusion_reviews]<\/code> shortcode.<\/li>\n<li>Reworded the description and readme to reflect the above \u2014 the review-count limit was never something this plugin's own code needs to enforce.<\/li>\n<li>Removed the \"Connect Official Google Business Profile (TrustFusion Pro)\" upsell link from the Add New page for this submission \u2014 to be reintroduced later.<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Author changed from \"Web City Lab\" to a personal name (matches the WordPress.org account\/Contributors); Author URI now points to a personal GitHub profile. The previous Author URI\/Donate link (webcitylab.com) was unreachable during a plugin review check.<\/li>\n<li>Donate link changed to a personal Wise payment link, for the same reason.<\/li>\n<li>Manual \"Sync Reviews Now\" via the TrustFusion relay is now limited to once a month per business, matching the automatic sync cadence (was once a day), to keep shared relay usage sustainable. Add your own free Google Maps\/Places API key in Settings to sync manually anytime instead \u2014 that path was always immediate and still is.<\/li>\n<li>Fixed a stale reference to \"OAuth tokens\" in the plugin-delete confirmation dialog; this plugin hasn't stored any since Google OAuth moved to TrustFusion Pro in v2.0.0.<\/li>\n<li>Corrected a docblock on an internal repository method that inaccurately described a 10-review cap it doesn't itself enforce (the cap is applied by the caller).<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Removed the \"Powered by Google\" attribution feature entirely (was an opt-in Settings toggle; not needed).<\/li>\n<li>Removed the optional async-CSS preload toggle \u2014 it rewrote an already-enqueued stylesheet's tag via <code>style_loader_tag<\/code>, which repeatedly triggered plugin-review false positives for unenqueued CSS. Not worth the friction for an optional perf toggle.<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fixed Plugin Check warnings on the <code>wait<\/code> query parameter (uses <code>absint( wp_unslash( ... ) )<\/code> now, the recognized WP sanitization pattern).<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Manual \"Sync Reviews Now\" is now limited to once a day per business, to keep shared relay API usage sustainable across every Free install. Automatic background sync (about once a month) is unaffected. TrustFusion Pro has no such limit.<\/li>\n<li>Tested up to WordPress 7.1.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>This plugin is now Free-only and fully self-contained \u2014 no license key, no locked\/limited built-in features. TrustFusion Pro is a separate plugin distributed outside WordPress.org.<\/li>\n<li>Official Google OAuth connect moved to TrustFusion Pro; this plugin uses the key-free TrustFusion relay only.<\/li>\n<li>Fixed: JSON-LD review text could contain a literal <code>&lt;\/script&gt;<\/code> sequence, breaking out of the schema markup.<\/li>\n<li>\"Powered by Google\" credit is now an opt-in Settings toggle instead of always-on.<\/li>\n<li>\"Based on X reviews\" and the JSON-LD rating now reflect the business's real Google review count, not just the reviews stored locally.<\/li>\n<li>Renamed all AJAX actions\/nonces to a <code>trustfusion_<\/code> prefix; removed an unused, unreachable secondary OAuth code path.<\/li>\n<li>Plugin renamed to \"TrustFusion \u2014 Show Reviews from Google Business Profile\".<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fixed: an invalid or expired license key saved in Settings couldn't be cleared from the admin UI \u2014 the \"Deactivate\" button only appeared for a currently-valid license, so a stale\/rejected key would keep reappearing in the field after every save. A \"Clear\" button is now shown next to \"Activate\" whenever a key is saved, regardless of its current validity.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Free plan's automatic background sync now runs about once a month instead of weekly, to keep unattended Google API usage sustainable on a plan with no associated revenue. Paid plans are unaffected (still weekly). The manual \"Sync Reviews Now\" button works immediately on any plan regardless of this schedule.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Removed a leftover developer debug tool from the My Businesses admin page (reachable via an undocumented query string) that dumped internal diagnostics and wrote to the reviews table on a plain, un-nonced GET request.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Removed a Google Maps internal-endpoint fallback used for fetching extra reviews via a user-supplied API key; the plugin now only calls Google's official, public Places API endpoints.<\/li>\n<li>Fixed <code>uninstall.php<\/code> referencing incorrect database table names (data removal on uninstall now actually removes all plugin tables).<\/li>\n<li>Added \"External services\" disclosure section to this readme.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Code-quality pass: prepared-statement corrections, input sanitization\/escaping fixes, gated debug logging behind WP_DEBUG, corrected readme metadata.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Multi-location connect and merged shortcode display.<\/li>\n<li>Hide\/show individual reviews from the admin.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Display your Google Business Profile reviews on your WordPress site, synced server-side, with SEO-friendly JSON-LD schema markup.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/352068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=352068"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/forkanhossain"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=352068"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=352068"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=352068"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=352068"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=352068"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=352068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}