Skip to main content
← Back to Blog|Review Widgets

How to Add Reviews With an iframe: The Fallback, and What It Costs

·8 min read·By Mike Ragimov

How to Add Reviews With an iframe (2026 Guide)

Complete guide to embedding reviews with an iframe in 2026. An iframe is the universal fallback for showing a review widget on a platform that will not run a script tag, and several common platforms will not. Notion accepts no script tags and its embed block takes a public URL only. Google Sites offers an Embed code option that renders inside a fixed-height sandboxed frame. Wix wraps custom code in its own sandboxed element. Drupal filters block and node bodies through a text format that strips tags not on its allow list, and Joomla applies both editor cleanup and per-group text filters. On any of these, an iframe either is the mechanism or is the safest thing to paste. The reason it always works is also the reason it costs something: an iframe loads a second, separate document inside your page, so the contents are not part of your page at all. Three consequences follow. First, structured data inside the frame describes the framed document rather than the host page, so a review schema block inside an iframe will not earn the hosting page a rich result. Second, a cross-origin frame cannot measure its contents and resize itself, so you set an explicit height and either accept blank space below short content or a scrollbar on tall content. Third, none of the host site's CSS reaches inside, so the widget's own styling is the only styling it receives and matching your brand has to happen in the widget rather than in your stylesheet. Where a platform does accept a script embed, that is the better choice for exactly these reasons. Covers BlooTrue iframe review widgets, free plan, unlimited widget views.

A pattern of nested frames, the shape of embedding one document inside another

An iframe is the tool you reach for when a platform refuses to run a script tag, and several popular ones do refuse. It is the one embed method that works essentially everywhere, which is why it is worth understanding properly rather than treating as a last resort. It is also not free. An iframe loads a separate document inside your page, so whatever is in there is not part of your page: not for search engines reading your markup, not for your stylesheet, and not for the browser working out how tall the thing should be. Those three consequences are the whole subject. Here is when to use one, and what you are trading away when you do.

When Is an iframe the Right Answer?

When the platform will not run a script. That is a real constraint on more builders than people expect, and it is not a sign of a bad platform: sandboxing user-pasted code is a sensible security decision for a hosted product with millions of sites on it.

Notion is the strictest of the common ones: it accepts no script tags, and its embed block takes a public URL rather than markup. Google Sites offers an Embed code option that renders inside a fixed-height sandboxed frame. Wix wraps custom code in its own sandboxed HTML element. Drupal filters block and node bodies through a text format that strips tags not on its allow list, and Joomla applies both editor cleanup and per-group text filters on save.

Where a platform does accept a script embed, use the script embed. WordPress, Squarespace on a plan that allows code, Shopify, Webflow, Framer, HubSpot and Blogger all do, and on those the script version avoids everything in the next section.

There is one other legitimate reason to prefer a frame: a strict Content Security Policy on your own site that blocks third-party scripts. That is a deliberate security posture and an iframe respects it.

The Host Page Gets No Credit for What Is Inside

Structured data inside an iframe describes the framed document, not the page that contains it. So a review schema block rendered inside the frame does nothing for the hosting page's eligibility for a rich result, because as far as a crawler reading your page is concerned, the reviews are not on it.

This is the cost people are least aware of and the one that matters most if search is why you added the reviews. If your goal was star ratings appearing under your listing in Google, a framed widget will not get you there and a script embed might.

It is worth saying that star ratings in search results are governed by Google's own rules about which reviews qualify, and self-serving review markup for a business on its own page has been restricted for years. So the frame is often not the only thing standing between you and a rich result. But it is a hard blocker regardless.

If the reviews are there to persuade a human reading the page, none of this matters. A visitor sees the reviews either way.

Sizing a Frame That Cannot Measure Itself

A cross-origin iframe cannot tell the parent page how tall its contents are, and the parent cannot look inside to find out. Browsers block that deliberately, and it is not a limitation any embed provider can engineer around without both sides cooperating.

So you set a height by hand. Too short and the content scrolls inside a box that looks broken; too tall and there is a band of empty space under the reviews. The workable answer is to pick a widget layout whose height is predictable, then set the frame a little taller than it needs.

Horizontal layouts are the easy case. A slider, a marquee or a badge has a height that barely changes with content, so one number works. A masonry grid or a list that grows with the number of reviews is the hard case, because the right height today is the wrong height after ten more reviews arrive.

Check the height on a phone as well as on desktop. A three-column grid becomes a tall single column on a narrow screen, and a frame sized for the desktop layout will clip most of it.

Your CSS Does Not Reach Inside

The framed document has its own stylesheet and none of yours. Your fonts, your colour variables, your spacing scale, your dark mode: none of it crosses the boundary.

That is why an iframe embed can look pasted on in a way a script embed does not. The fix is to do the matching inside the widget rather than in your stylesheet: set the colours and typography in the widget builder so the frame arrives already looking like your site.

Get the surrounding container right too. Because you cannot style the frame's contents, the framing around it does the work: give it the same max width, padding and border treatment as your other sections so the edges line up even if the interior is a separate document.

How Do You Build the Widget?

Paste your Google, Trustpilot or Facebook profile URL, preview your real reviews and rating, then pick from over 100 layout styles across slider, marquee, grid, list, masonry and badge families. For a frame, favour the layouts with a stable height, because that is the constraint you are designing around.

Set the colours and fonts in the builder rather than planning to override them later, since the previous section explains that you cannot override them later.

The rating comes from the profile's own aggregate rather than from the cards on screen, so the number in the frame matches the number a visitor finds if they check. Free plan, unlimited widget views.

Where Should a Framed Widget Sit?

Somewhere with a stable, generous slot. Because the height is fixed by you rather than by the content, a frame is happiest in a section of its own with room around it, and least happy squeezed between two tight elements where a few pixels of misjudgement show.

Keep it out of the space immediately above a form or a button if you can. A frame whose height you guessed slightly wrong pushes the thing below it, and the thing below it is usually the thing you want clicked.

One frame per page is plenty. Each one is a separate document load, so several on one page costs real time on a slow connection, and the reviews are worth more concentrated in one place anyway.

Works where scripts do not

Locked-down builder? An iframe embed goes where a script tag will not. Paste your profile URL, pick a style, copy the frame.

Try the Free Widget Builder →

Try Our Free Tools

iframe Reviews Widget — Show your Google, Trustpilot or Facebook reviews anywhere that accepts an iframe, including platforms that strip script tags. Free plan, unlimited views.

AI Review Response Generator — Draft a reply to any review in seconds, then copy and paste it onto the platform. Free, no signup.

Frequently Asked Questions

Common questions about this topic

When should I use an iframe instead of a script embed?

Only when the platform blocks scripts. Notion accepts no script tags, Google Sites renders custom code in a fixed-height sandboxed frame, Wix sandboxes it, and Drupal and Joomla strip markup by text format unless you change the format. Everywhere that accepts a script embed, the script version avoids the schema, sizing and styling costs of framing.

Will review stars show in Google if the widget is in an iframe?

No. Structured data inside a frame describes the framed document rather than the page containing it, so the host page earns nothing from it. Worth knowing too that self-serving review markup for a business on its own page has been restricted by Google for years, so a script embed is not a guarantee either. The frame is simply a hard blocker.

Why can't the iframe resize itself to fit the reviews?

Because it is cross-origin. The framed document cannot tell the parent page how tall it is and the parent cannot inspect it, and browsers block that on purpose. You set an explicit height instead, so choose a layout whose height is predictable, such as a slider, marquee or badge, rather than a list that grows with every new review.

Can I make the framed widget match my site's fonts and colours?

Yes, but in the widget rather than in your stylesheet. None of your CSS crosses into the frame, so set the colours and typography in the widget builder before copying the embed. Then match the surrounding container's width, padding and border treatment to your other sections so the edges line up.

Does an iframe slow the page down?

Each frame is a separate document load, so one is fine and several on one page costs real time on a slow connection. That is another argument for a single concentrated review section rather than repeating the widget down the page.

Where should the framed reviews go on the page?

In a section of their own with room around them, and not directly above a form or button. Because you set the height by hand rather than letting the content decide it, a small misjudgement pushes whatever sits below, and what sits below a review section is usually the thing you want clicked.

Written by

Mike Ragimov
Mike Ragimov

Senior software engineer with over 8 years of experience. Founder and CEO of BlooTrue, a review widget platform for local businesses.