Skip to main content

WordPress installation

Show customer testimonials on a WordPress page without another plugin

The block editor already has what you need: a Custom HTML block. Paste the StoryProof code into it, update the page, and the widget appears for visitors. The catch is user roles, so check yours first.

  • Code ready for a Custom HTML block
  • Why a Contributor or a multisite site admin sees the script vanish
  • Where it belongs on posts, pages and landing pages

Code generator

Your code for the Custom HTML block

Enter the widget id from StoryProof. Both lines go into one Custom HTML block, placed where the testimonials should sit in the page.

Shown in StoryProof when you copy a widget’s embed code.

A Custom HTML block in the post or page

Block editor › Block Inserter (or type /html) › Custom HTML › Edit HTML

<div data-storyproof-widget="YOUR_WIDGET_ID"></div>
<script src="https://app.storyproof.io/embed.js" async></script>

Press Update in the modal, then Update or Publish the page, and open it in a logged-out window to check what visitors see.

The code is assembled in your browser. Nothing is sent anywhere.

The problem, solved

WordPress testimonial problems, and how StoryProof avoids them

  • Problem 1

    I do not want yet another plugin to maintain

    Each testimonial plugin brings its own updates, settings screen and compatibility risk with your theme.

  • Problem 2

    Every re-save risks an editor stripping the script

    If a Contributor or site admin touches the block to add a quote, the script can vanish and the section goes blank.

  • Problem 3

    Widgets on many pages mean many script copies

    Repeating the script in every post makes it hard to find and fix all the copies later.

  • Problem 4

    My best reviews already sit on G2 or Capterra

    Retyping reviews from other platforms into a plugin’s fields takes an afternoon and invites copy mistakes.

In StoryProof

Add it in the block editor

Step 1 of 4

Copy the widget code from StoryProof

Choose the layout and the approved testimonials it should show, then copy the code. Widgets per workspace: Free 1, Starter 5, Pro unlimited. A small "Powered by StoryProof" badge shows until Pro.

Where it fits in a WordPress site

LocationSuggested layoutNote
Homepage built with blocksMarquee Strip or Testimonial WallPut the block in its own Group so theme spacing applies around it
Service pageReview GridA Columns block with copy on one side keeps the grid narrow and readable
Blog post sidebar or footer areaTestimonial ListWidget areas in classic themes also accept a Custom HTML widget
Landing page from a page builderQuote SpotlightUse the builder’s own HTML element; the block editor steps above do not apply

Before you start

What can go wrong on WordPress

  • The script disappears after saving

    WordPress strips script tags from Custom HTML blocks saved by users without the unfiltered_html capability, such as Contributors. On multisite networks only Super Admins have it by default.

  • Security and caching plugins

    Some plugins that combine or delay JavaScript can hold back third-party scripts. If the widget is blank only on the live site, exclude the embed script from those settings and clear the cache.

  • Hosted plans can restrict code

    Managed WordPress hosts and hosted WordPress plans set their own rules on custom code. Check your plan if the Custom HTML block is missing.

  • No WordPress plugin

    StoryProof installs with embed code. There is no plugin in the WordPress directory and none is needed.

  • Branding on lower plans

    The "Powered by StoryProof" badge shows on Free and Starter, and can be removed from Pro.

FAQ

Questions people ask

Short answers to what usually comes up next.

Do I need a plugin to add testimonials to WordPress?

No. The Custom HTML block is built into the block editor and accepts the StoryProof embed code, as long as the person saving it is allowed to save scripts.

Why does my embed code disappear when an editor saves the page?

WordPress removes script tags when the saving user lacks the unfiltered_html capability. Have an Administrator, or a Super Admin on multisite, save the block.

Does it work with Elementor or other page builders?

Page builders have their own HTML element. Paste the same two lines into it; the block editor steps on this page describe the default editor only.

Should I save the block as a pattern if the widget goes on several pages?

A synced pattern lets you place the same Custom HTML block on many pages and edit it once. Whoever saves the pattern still needs the unfiltered_html capability, or the script is stripped from every copy.

Still have a question? Ask the StoryProof team or book a demo.

Get the code for your first widget

Collect or import testimonials, approve the best ones and paste one block into WordPress.

Sources

  1. Custom HTML block, WordPress.org Documentation. Checked 2026-11-04.
  2. WordPress multisite prevents everybody but super-admins from adding HTML blocks with script, Kaspars Dambis. Checked 2026-11-04.

Last updated 2026-11-04.