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