Skip to main content

Joomla installation

Joomla Testimonials with a Custom Module

A Joomla Custom module is the natural home for the StoryProof embed: it sits in a template position and shows on the menu items you assign. The catch is the editor. TinyMCE removes script tags by default, so the trick is saving the module with the right editor and the right account.

  • Embed code for the module content
  • How to stop TinyMCE removing the script
  • Menu Assignment for chosen pages

Code generator

Code for a Joomla Custom module

Enter the widget id. Paste Part 1 into the first Custom module. If the same page will show a second StoryProof module, that one takes Part 2, the div alone.

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

Part 1 · First Custom module, saved with Editor - None

Content › Site Modules › New › Custom › Module content

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

Part 2 · Any further StoryProof module on the same page

Content › Site Modules › New › Custom › Module content

<!-- A second Custom module on a page that already has one -->
<!-- The script from the first module fills this div as well. -->
<div data-storyproof-widget="YOUR_WIDGET_ID"></div>

Set the Position and Menu Assignment, click Save & Close, then open the front end in a private window and view the page source to confirm the script tag is still there.

The snippet is built in your browser and never sent anywhere.

The problem, solved

Why Joomla swallows embed code, and how to get it to stick

  • Problem 1

    The script disappears when I save

    The Joomla guide lists script, applet and iframe as the elements TinyMCE always removes by default, so the module saves with only the div.

  • Problem 2

    It works for me but not my colleague

    Global text filters apply per user group. Super Users have no filtering by default, while other groups fall under the Default Forbidden List.

  • Problem 3

    It shows on every page

    A new module appears on all pages by default, including ones where testimonials make no sense.

  • Problem 4

    Testimonial extensions want me to moderate in Joomla

    Component based extensions put submission and approval inside your Joomla admin, with another set of permissions to manage.

In StoryProof

Install it in Joomla

Step 1 of 5

Switch your editor off for this job

Open your own user profile in the administrator, set its editor to Editor - None, and save. Switch it back afterwards if you prefer TinyMCE.

Who can save the script, by default

Based on the defaults the Joomla guide describes. Your site may have changed them.

AccountEditor settingLikely result
Super UserEditor - NoneScript saved as pasted
Super UserTinyMCEScript removed by the editor’s prohibited elements
Administrator or ManagerEditor - NoneDefault Forbidden List may still apply; use a div only module
Guest, Public, RegisteredAnyNo HTML by default

Before you start

Joomla caveats

  • Do not loosen filters for everyone

    Removing script from TinyMCE’s prohibited list or turning off filters for broad groups lets anyone in those groups publish script. Change only what this job needs.

  • Template positions vary

    Position names come from your site template. If the module does not appear, check that the template actually outputs the position you chose.

  • Not inside article text

    This guide places the widget as a module. If you need it inside an article, use a content plugin that loads modules, which is outside this page.

  • No Joomla extension

    StoryProof is embed code, not a Joomla extension. Widgets show a "Powered by StoryProof" badge until Pro.

  • Joomla guide as of 2026-11-13

    Menu names and filter defaults follow the official Joomla guide at guide.joomla.org as read on 2026-11-13. Nobody has followed these steps on a live site yet, and labels shift between Joomla versions.

FAQ

Questions people ask

Short answers to what usually comes up next.

Is it safe to switch my editor to Editor - None?

It changes only your own account, and only how text is entered. Global text filters still apply when you save. Switch back to TinyMCE when you are done.

My script survived but nothing shows. What next?

Make sure the module is published, assigned to the page you are viewing and in a position the template outputs. Then check the browser console for a blocked script.

Can I avoid code entirely?

Yes. Link a menu item to your hosted Wall of Love, which every plan includes, and testimonials open on their own page.

Does this work with page builders such as SP Page Builder?

This page covers the core Custom module only. Page builders have their own code elements; follow their documentation for how they treat scripts.

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

Put verified testimonials on your Joomla site

Collect and approve them in StoryProof, then paste one Custom module.

Sources

  1. Adding text (Custom module), Joomla Guide. Checked 2026-11-13.
  2. Editors: Global Configuration Text Filters and TinyMCE configuration, Joomla Guide. Checked 2026-11-13.
  3. Module display by menu item, Joomla Guide. Checked 2026-11-13.

Last updated 2026-11-13.