How to Embed Testimonials on Any Website in 2026: The Complete Guide
Step-by-step instructions for embedding testimonial widgets on WordPress, Webflow, Squarespace, Next.js, and plain HTML websites.
Testinora Team
Most testimonial tools used to require custom development. Modern embed widgets work more like analytics scripts: add a container, load one script, and let the tool render the approved testimonials.
This guide covers the practical setup for WordPress, Webflow, Squarespace, Framer, Next.js, React, and plain HTML. For Testinora-specific setup, keep the embed widget docs open while you work.
The Two Lines That Do Everything
Universal embed code
<div data-testinora-widget="YOUR_WIDGET_SLUG"></div>
<script async src="https://www.testinora.com/widget.js"></script>The div marks where testimonials should appear. The script loads the widget, finds that container, fetches approved testimonials, and renders them using your selected style.
WordPress
- Open the page or post where you want testimonials.
- Add a Custom HTML block.
- Paste the two-line embed code.
- Preview the page and check both desktop and mobile.
- Publish or update the page.
Common WordPress issue
Some page builders strip scripts from normal text blocks. Use a Custom HTML block or your builder's dedicated code element.
Webflow
- Open the page in Webflow Designer.
- Drag an Embed element into the section where testimonials should appear.
- Paste the embed code.
- Publish to staging first.
- Confirm the widget appears on the published URL, not only in Designer preview.
Screenshot description
In Webflow, look for Add elements -> Components -> Embed. Place it inside the section wrapper, not inside a text element.
Squarespace
- Edit the target page.
- Add a Code block.
- Paste the widget container and script.
- Make sure the block is set to HTML, not Markdown.
- Save and preview the live page.
Common Squarespace issue
Scripts may not execute in editor preview. Always test the live page or a password-protected preview URL.
Framer
- Add an Embed component.
- Switch the embed type to HTML.
- Paste the two-line code.
- Publish the site.
- Check that the widget width is set to fill the parent container.
Next.js / React
In React apps, load the external script once and render the container wherever you need testimonials. In a Next.js App Router project, keep the page as a Server Component and move script loading to next/script.
Next.js App Router example
import Script from 'next/script';
export function Testimonials() {
return (
<>
<div data-testinora-widget="YOUR_WIDGET_SLUG" />
<Script src="https://www.testinora.com/widget.js" strategy="afterInteractive" />
</>
);
}Plain HTML
For a static site, paste the container where the widget should render and place the script before the closing </body> tag. If you have multiple widgets on one page, use separate containers and load the script once.
Placement Strategy
- Place one strong testimonial near the hero when visitors are still deciding whether to keep reading.
- Place use-case-specific quotes near features.
- Place outcome-focused proof near pricing.
- Use checkout or signup proof only if it reassures without distracting from completion.
Baymard has documented that checkout trust concerns can cause abandonment, so testimonial placement near high-friction actions should reassure rather than add clutter. Read Baymard's checkout trust research.
Choosing the Right Style
Grid
Best when you have many short testimonials and want a wall-of-love effect.
Carousel
Useful for narrow sections, but keep controls obvious and avoid auto-rotation.
Featured quote
Best for landing pages where one customer story matches the page promise.
Compact rating row
Best near pricing or signup where space is limited.