All integrations

astro.build

Collect testimonials on Astro

Astro's whole pitch is "zero JS by default". A testimonial widget that ships 200KB of runtime JS undoes that. Trustfolio fits the island architecture — tiny, lazy, Shadow-DOM-scoped.

Why Astro users pick Trustfolio

Astro users building content-heavy sites, dev tool landing pages, and blogs care about every byte. Trustfolio's 4.8KB + async loading is the only testimonial option that respects the framework's philosophy.

Astro sites often deliver <20KB JS total. A typical testimonial widget is 10x the site's JS. Trustfolio is a ~24% adjacent addition in absolute terms and zero impact on Astro's default-zero-JS bundle.

Setup in under 2 minutes

  1. 1In your Astro .astro file, add <div data-trustfolio="YOUR_ID" /> where the widget should render.
  2. 2Include <script src="https://trustfolio.dev/embed.js" async></script> in the same file.
  3. 3Run astro build. The widget loads on the client without needing a framework integration.
  4. 4Deploy.
<div data-trustfolio="YOUR_WIDGET_ID"></div>
<script src="https://trustfolio.dev/embed.js" async></script>

Frequently asked

Does it work with Astro's Island components?

Yes — but you don't need islands. The embed is a plain script tag.

Will it hydrate with the rest of my framework islands?

No — the widget self-manages inside Shadow DOM and doesn't participate in hydration.

Can I use it with MDX in Astro?

Yes, inside any component rendered from MDX.

Does it respect Astro's "View Transitions"?

Yes — the widget re-initializes on navigation via the ClientRouter.

Will it work with SSR adapters (Node/Cloudflare/Vercel)?

Yes — rendering is client-side, so SSR adapter choice doesn't affect it.

Try Trustfolio on Astro

Free plan includes 15 testimonials, basic AI scoring, and the same sub-5KB widget. No credit card.

Start free