Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize florian.vrst.fr
151 KiB of unused CSS and 309 KiB of unused JavaScript are blocking rendering and delaying LCP by 2.1 seconds.
Use Nuxt's tree-shaking to eliminate unused code by enabling 'build.analyze: true' to identify bloated modules. Split large bundles using dynamic imports for non-critical components. Configure PurgeCSS in your nuxt.config.js to remove unused Tailwind classes automatically.
A score of 64 falls in the "Needs Improvement" range (50-89). While it is better than poor (0-49), you should aim for 90+ to provide an optimal user experience and maximize SEO benefits.
This site is slower than approximately 35% of similar sites. The main issues affecting performance are image optimization, JavaScript execution time, and layout stability.
Addressing these issues could improve your conversion rate by 15-20% and boost your search engine rankings.
Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
Interaction to Next Paint
Good: < 200ms
Measures how quickly the page responds to user interactions
Cumulative Layout Shift
Good: < 0.1
Measures visual stability - how much content shifts during page load
This Nuxt/Vue website has poor performance with a score of 64/100, indicating significant room for improvement. The biggest issue is extremely slow loading times, with the Largest Contentful Paint taking 6.7 seconds - nearly triple the recommended target of 2.5 seconds. The main culprits are oversized images (particularly the octocat image that's twice the needed dimensions), 148KB of unused CSS code, and 302KB of unnecessary JavaScript that's blocking the page from rendering quickly. Implementing proper image optimization, removing unused code, and enabling browser caching could dramatically improve load times and boost the performance score by 25+ points.
Why It Matters:
The LCP image loads slowly without prioritization and uses inefficient formats, delaying LCP by 300ms.
How to Fix:
Add fetchpriority='high' to your main profile image element. Configure Nuxt Image to serve WebP/AVIF formats by adding '@nuxt/image' with providers.cloudinary or similar. Add explicit width and height attributes to prevent layout shifts during image load.
Why It Matters:
Critical assets have no cache headers, forcing full re-downloads on repeat visits and slowing LCP by 5.7 seconds.
How to Fix:
Configure long-term caching in your deployment by setting cache headers for static assets in nuxt.config.js using 'nitro.routeRules'. Set CSS/JS files to cache for 1 year with immutable directive. Use Nuxt's built-in asset fingerprinting for cache busting.
Once your site is optimized, maintain that speed. Use DeployHQ for zero-downtime, automated deployments—so performance fixes and updates go live safely every time, without breaking your site.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Nuxt Speed Tests
Critical assets have no cache headers, forcing full re-downloads on repeat visits and slowing LCP by 5.7 seconds.
The LCP image loads slowly without prioritization and uses inefficient formats, delaying LCP by 300ms.
Missing image dimensions cause 0.878 CLS score, severely impacting user experience.
Unnecessary polyfills add 824KB of unused JavaScript, blocking rendering for 3.9 seconds.