Skip to main content
← Back to Blog|Review Widgets

How to Add Reviews to WordPress: You Do Not Need a Plugin

·8 min read·By Mike Ragimov

How to Add Reviews to WordPress (2026 Guide)

Complete guide to adding review widgets to a WordPress site in 2026 without installing a plugin. WordPress offers three separate insertion points for third-party embed code, and which one applies depends on the editor in use. In the Gutenberg block editor, the Custom HTML block accepts raw markup including script tags. In the Classic Editor, the Text tab does the same job while the Visual tab does not. For a sidebar or footer, the Custom HTML widget in Appearance then Widgets places the same code in a widget area so it appears across the site. All three execute a script tag and none requires a plugin, which matters because most guides on this subject recommend installing a review plugin: that is thousands of lines of PHP, a permanent update obligation and an additional attack surface to accomplish what one HTML block accomplishes. The most common failure is placing the snippet in a Paragraph block, which sanitises HTML and prints the code as visible text. The second most common is caching: WordPress caching bypasses logged-in users, so an embed broken by a JavaScript optimisation plugin renders correctly for the site owner and shows an empty space to every visitor. Covers all three insertion points, the caching fix, and placement. Free plan, unlimited widget views.

Editing a WordPress site, where a review widget goes in a Custom HTML block

Search for how to put reviews on WordPress and almost every result tells you to install a plugin. You do not need one. WordPress already ships three places that run a script tag, and a review widget is a script tag. A plugin to do that job is thousands of lines of PHP, a permanent update obligation and one more thing that can be exploited, in exchange for a settings screen you will visit once. The whole install is: copy the snippet, add a Custom HTML block, paste, update. What follows is which of the three places to use, the one block type that silently destroys the code, and the caching behaviour that makes a working widget look broken to everyone except you.

Where Exactly Can the Code Go?

Three places, depending on where you want the reviews and which editor you are on. In the Gutenberg block editor, add a block, search HTML, and choose Custom HTML. Paste the snippet into it and update. This is the right answer for a page or a post.

In the Classic Editor, switch from the Visual tab to the Text tab before pasting. The Visual tab is a rich-text field and it will mangle the snippet exactly the way a Paragraph block does. The Text tab passes raw HTML through.

For a sidebar or footer, go to Appearance then Widgets and drop in a Custom HTML widget. That places the reviews in a widget area so they appear on every page using that area, which is the cheapest way to get a rating visible site-wide without editing a template.

Why Does Every Guide Say to Install a Plugin?

Because plugin directories are where WordPress advice is monetised, and because a plugin is easier to write an article about than a paste. The technical reality is that a review widget is a remote script: a plugin cannot make that script any more capable, it can only wrap it in a settings screen and a shortcode.

What the plugin does add is real cost. Every plugin is code running on your server with database access, it needs updating, it can conflict with your theme or another plugin, and abandoned plugins are one of the most common routes into a WordPress site. Adding all of that to render a block of HTML is a bad trade.

There is one honest reason to prefer a plugin: if you need the reviews inside a template file on hundreds of generated pages, a shortcode is more convenient than editing each one. For a homepage, a services page and a sidebar, which is what most sites actually need, the block is better in every respect.

Why Is My Code Showing as Text on the Page?

Because it went into a Paragraph block. WordPress escapes HTML in paragraphs by design, so the snippet is displayed rather than executed, and visitors see a line of code where the reviews should be. This is the single most common support question for any embed on WordPress, not just review widgets.

The fix is to delete that block and add a Custom HTML block instead. In the block inserter, search HTML rather than scrolling, since the block is not in the default shortlist. On the Classic Editor, the equivalent mistake is pasting into the Visual tab.

A related trap: if you paste into a Custom HTML block and then switch back to the Visual editor in Classic, WordPress can rewrite the markup on save. Paste last, save, and do not toggle back.

It Worked, Then It Went Blank. What Happened?

Caching, almost certainly, and the reason it is so confusing is that WordPress caching bypasses logged-in users. You stay logged in while you build, so you see the live uncached page and the widget renders. Visitors get the cached version, and if a plugin has deferred, combined or minified the widget script, that version can be broken.

So the site owner insists it works and the customer insists it does not, and both are looking at the truth. Always check in a private browser window after purging the cache. That one habit resolves most of these reports before they are reported.

If it is blank when logged out, find whichever plugin is optimising JavaScript, exclude the widget script from combination and deferral, purge, and re-check. WP Rocket, Autoptimize, LiteSpeed Cache and similar all have an exclusion field for exactly this.

Where Should the Reviews Actually Go?

Next to whatever you want the visitor to do. On a service business site that is the contact or quote form; on a shop it is the product and the cart. Reviews at the top of the homepage look impressive and convert less than the same reviews sitting beside the button.

The sidebar widget is worth using in addition, not instead. A compact rating badge visible on every page is doing quiet work on pages you never optimised, and it costs one widget area.

Avoid a dedicated testimonials page. It gets visited by people who already trust you and missed by everyone who does not, which is precisely the wrong audience.

What Are the Steps?

Build the widget: paste your review profile URL into the builder, choose a layout, match the colors to your theme, and copy the embed code.

In WordPress, edit the page, add a Custom HTML block where the reviews should appear, paste, and update. On the Classic Editor use the Text tab. For a sidebar, use Appearance then Widgets and a Custom HTML widget.

Then purge your cache and open the page in a private window. If the block is empty when logged out, exclude the widget script from your optimisation plugin and purge again.

One block. No plugin.

A review plugin is thousands of lines of PHP, an update cadence and an attack surface, to do what a Custom HTML block does. Paste your profile URL, customize, copy, paste.

Try the Free Widget Builder →

Try Our Free Tools

WordPress Reviews Widget — Add reviews to any WordPress page or sidebar with one HTML block. No plugin, no theme edit. 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

Do I need a plugin to add reviews to WordPress?

No. A review widget is a script tag, and WordPress already has three places that run one: the Custom HTML block, the Classic Editor's Text tab, and a Custom HTML widget in a sidebar. A plugin cannot make a remote script more capable. It adds PHP on your server, an update obligation and an attack surface to render a block of HTML.

Why is my widget code showing as text on the page?

It went into a Paragraph block, which escapes HTML by design so the snippet is displayed rather than executed. Delete it and add a Custom HTML block instead, searching HTML in the block inserter since it is not in the default shortlist. On the Classic Editor the same mistake is pasting into the Visual tab rather than Text.

The widget works for me but visitors see nothing. Why?

WordPress caching bypasses logged-in users, so you see the live page and visitors see a cached one. If a plugin is deferring, combining or minifying JavaScript, the cached version can be broken. Exclude the widget script from JS optimisation in WP Rocket, Autoptimize, LiteSpeed or whichever you use, purge, and test in a private window.

Can I put reviews in my WordPress sidebar?

Yes. Go to Appearance then Widgets and add a Custom HTML widget to the sidebar or footer area, then paste the embed code. That places the reviews on every page using that widget area, which is the cheapest way to get a rating visible site-wide without touching a template.

Does this work with the Classic Editor?

Yes. Switch from the Visual tab to the Text tab before pasting. The Visual tab is a rich-text field and will mangle the snippet the same way a Paragraph block does. Paste last and save without toggling back to Visual, because WordPress can rewrite the markup on save.

Where should reviews go on a WordPress site?

Beside whatever you want the visitor to do: the contact or quote form on a service site, the product and cart on a shop. Reviews at the top of the homepage look impressive and convert less than the same reviews next to the button. Add a compact sidebar badge as well, and skip a dedicated testimonials page.

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.