Web performance consultant for Astro
Pull maximum performance out of Astro sites
Astro is designed for performance from the start: HTML by default, opt-in JavaScript via islands. It's one of the fastest frameworks on the market today — provided you leverage the right building blocks. I work on Astro architectures to validate choices and push LCP to the max.
They trust me
Levers to validate or push on Astro
Astro performs by default, but architectural choices determine the final result.
🏝️ Islands too broadly hydrated with client:load
client:load hydrates immediately, against Astro's spirit. client:idle or client:visible preserve the main thread for LCP. The audit identifies islands to recalibrate.
📦 JS bundle too heavy despite Astro
Astro doesn't protect against a heavy dependency embedded in an island. A React island importing full Material-UI adds 200 KB. Islands audit quantifies each contributor.
🖼️ Astro Image component not used everywhere
The <Image> component automates AVIF/WebP, lazy loading, srcset. Its generalization is the fastest LCP lever to apply.
📚 Content collections poorly leveraged
Astro content collections enable TS typing + Zod validation + optimized rendering. Partial integration leaves performance on the table.
🔄 View transitions not activated on internal navigation
Native view transitions deliver SPA-like feel without the cost. On light e-commerce or content sites, it's a free UX and performance gain.
🌐 SSR Astro instead of static output
Astro can generate in static mode (static sites at build) or SSR (every request). Static mode delivers optimal TTFB. SSR mode is only justified for truly dynamic content.
Astro optimization methodology
4 steps to transform your performance
1. Islands and client:* directives audit
Map every island, validate the directive used, evaluate client:idle / client:visible opportunities.
2. Per-island bundle audit
Measure embedded JS per island (React, Vue, Svelte). Identify heavy dependencies to replace or isolate further.
3. Image and font optimization
Generalize Image component, fetchpriority on LCP image, font-display swap, font subsetting. Typical LCP gain: 200-500ms.
4. Static vs SSR output
Build mode evaluation (static vs SSR vs hybrid). If SSR used, verify caching strategy (Cloudflare, Netlify, Vercel based on hosting).
1. Islands and client:* directives audit
Map every island, validate the directive used, evaluate client:idle / client:visible opportunities.
2. Per-island bundle audit
Measure embedded JS per island (React, Vue, Svelte). Identify heavy dependencies to replace or isolate further.
3. Image and font optimization
Generalize Image component, fetchpriority on LCP image, font-display swap, font subsetting. Typical LCP gain: 200-500ms.
4. Static vs SSR output
Build mode evaluation (static vs SSR vs hybrid). If SSR used, verify caching strategy (Cloudflare, Netlify, Vercel based on hosting).
Mission commitments
Frequently asked questions
Astro vs Next.js for a content site?
Is Astro relevant for e-commerce?
Should you use Astro DB?
How are your Astro engagements structured?
Push your Astro to maximum performance
Data 2023-2026
What my clients say
Excellent work.
Paul has significantly improved the site's speed and perfectly aligned it with Google's recommendations.
Professional, thorough, and efficient, I highly recommend.
Nicolas - April Moto
Digital & E-commerce Director
We are very satisfied with Paul's work. He is quick, available, and particularly effective. Since his arrival, very good results have been observed, both in terms of performance and responsiveness. A real asset for our team.
Léo - Luxury brand
E-commerce Product Owner
I don't know if we've said it enough.
But if you want to improve your loading speed,
Make Google happy and get your Core Web Vitals in the green,
Contact Paul Delcloy.
Florian Darroman - Les Makers
Co-founder
Astro, framework designed for performance
Astro is one of the most innovative frontend frameworks to emerge recently. Its principle: HTML by default, opt-in JavaScript via islands. Where React, Vue, Angular ship their complete runtime to deliver an SPA, Astro generates static HTML and only injects JavaScript on components explicitly marked as interactive.
The result: typical Astro sites ship under 50 KB of total JavaScript, hit green Core Web Vitals from the start, and reach mobile LCP under 1.5 seconds. For content sites (blogs, institutional sites, documentation, portfolios), Astro is today the default choice on performance.
Islands architecture, the differentiating lever
The islands principle renders HTML server-side (or at build for static sites), then hydrates only components explicitly declared interactive (with client:load, client:idle, client:visible). Each island is isolated — its JavaScript doesn't contaminate the rest of the page.
This architecture lets you combine React, Vue, Svelte, Preact components in the same Astro page, each isolated. The challenge is to discipline client:* directive usage: client:visible or client:idle when interaction isn't immediate frees the main thread for LCP.
Image optimization and view transitions
Astro integrates an Image component that automates next-gen formats (AVIF, WebP), lazy loading, responsive srcset, and prioritization. It's one of the most rewarding components on LCP — its generalization often suffices to turn LCP green on image-heavy sites.
Native view transitions (since Astro 3) add SPA-like fluidity without the JavaScript cost of a real SPA. For content sites and light e-commerce, it's an excellent compromise between modern UX and performance. For a web performance audit on an existing Astro site, the angle is validating islands usage and optimizing what remains optimizable.
Other expertise Technologies
Angular
Angular optimized: lazy modules, OnPush change detection, SSR Universal or Analog, signals, zone.js elimination. Stable Core Web Vitals on enterprise SPAs.
Learn moreDrupal
Drupal optimized: Render API and cache contexts, Dynamic Page Cache + BigPipe, Views performance, MySQL tuning. Core Web Vitals green on strategic templates.
Learn moreLaravel
Laravel optimized: Eloquent N+1, opcache + JIT, Octane, Redis cache, async queues, MySQL tuning. Dropped TTFB and green Core Web Vitals.
Learn more