Feature
A no-code reviews widget for any website
One line of HTML. No plugin, no app, no developer. Reviews Widget generates a script tag under 200 bytes that renders live reviews anywhere it's pasted — WordPress, Shopify, Wix, Squarespace, Webflow, Elementor, Framer or plain HTML.
Last reviewed by the Reviews Widget product team.
Install in three steps
Embedding takes about five minutes: create a widget, connect a review source, then paste one async script tag where the reviews should appear. No plugin, no app-store install, no admin permissions, and no re-embedding when you restyle the widget later.
- 1
Create your widget
Sign in, create a grid and connect a review source — search your business name for Google, or paste a Trustpilot, Yelp, TripAdvisor, Facebook, Booking.com, Airbnb, Amazon, ProductReview.com.au, G2 or Etsy profile URL. Reviews import in under a minute.
- 2
Copy the embed snippet
Open the Embed panel and copy the one-line async script tag. It contains only your widget ID, so it never changes when you restyle the widget later.
- 3
Paste it where the reviews should appear
Drop the snippet into a Custom HTML block, a Code element or your theme template at the exact spot you want the reviews rendered, then publish. The widget mounts in place and refreshes on its own schedule.
Where the snippet goes on each CMS
Every website builder has one block that accepts raw HTML — that's where the snippet goes. The dashboard ships 20+ step-by-step guides; the table below covers the most common platforms so you know what to look for before you start.
| Platform | Where the snippet goes | Plugin needed? |
|---|---|---|
| WordPress (Block editor) | Add a Custom HTML block on the page or in a template part | No |
| WordPress (Classic / Elementor / Divi) | Text tab of the Classic editor, or an HTML / Code widget | No |
| Shopify | Theme editor → Custom Liquid section, or a page's HTML view | No app install |
| Wix | Add → Embed Code → Embed HTML | No |
| Squarespace | Add a Code block to the section | No (Business plan or above for code blocks) |
| Webflow | Drag in an Embed element and paste | No |
| Framer | Insert → Embed → HTML | No |
| Ghost | Insert an HTML card in the editor | No |
| BigCommerce / WooCommerce | Page content HTML view or theme template | No |
| Plain HTML / static sites | Paste directly into the markup where the widget should render | No |
Step-by-step walkthroughs live in the how-to cluster — start with WordPress or Shopify.
Shadow DOM isolation
The widget renders inside a shadow root, so your theme's CSS cannot leak in and the widget's CSS cannot leak out. That removes the two classic embed failures — a theme stylesheet breaking the layout, and an embed overriding your site's typography.
The embed snippet is a single async <script> tag pointing at your widget ID. Paste it inside a Custom HTML block, a Code element, or straight into an .html file — the widget renders in place and refreshes automatically on its own — every 24 hours on paid plans.
Three embeds, same snippet pattern
Every grid can be installed three ways, each with its own copy-paste snippet: the inline review grid, a floating star-rating badge that sits in a corner of the page (including bottom-centre, top-centre and full-width bottom on mobile), and a standalone Write a review button that can run inline or as its own badge with independent styling. Install one, two or all three — they share the same widget data.
Not the person who edits the site? The Install Assistant emails the snippet and step-by-step instructions straight to your developer, and a hosted widget page is available if you just need a link to share.
Core Web Vitals impact
The script is about 5 KB gzipped, loads asynchronously and defers data fetching until after your page is interactive — so it stays off the critical path for LCP. Give the container a min-height and layout shift stays at zero when the reviews mount.
| Metric | Widget behaviour | What you should do |
|---|---|---|
| LCP | Async script, render-blocking nothing; reviews are rarely the LCP element | Keep your hero image the LCP element and preload it |
| CLS | Mounts once the payload arrives | Set a min-height on the container so space is reserved |
| INP | Event handlers are scoped to the shadow root; no global listeners | Nothing — tabs and Load more are lightweight |
| Transfer size | ~5 KB gzipped script plus one cached JSON payload | Nothing — payload size is unaffected by source count |
Works inside any container
The widget uses CSS container queries, so it lays out to the width of the container you drop it into — not the browser viewport. That means it renders correctly inside sidebars, half-columns, modal dialogs and split-hero blocks, and the carousel automatically falls back to one review per slide on narrow containers.
Iframe fallback and 20+ built-in guides
The dashboard ships step-by-step embed guides for WordPress (Block and Classic), Shopify, Wix, Squarespace, Webflow, Framer, Ghost, Bubble, Duda, Weebly, BigCommerce, WooCommerce, HubSpot, GoDaddy, Notion, Carrd, Elementor, Divi and plain HTML. Every widget also comes with a fallback <iframe> snippet for site builders that strip scripts.
Sources & further reading
- MDN — Using shadow DOM — how style encapsulation works
- web.dev — Largest Contentful Paint (LCP) — why async third-party scripts matter
- web.dev — Cumulative Layout Shift (CLS) — reserving space for embedded content
- MDN — CSS container queries — container-based responsive layout