Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize fit.kitchen.at
Unused JavaScript wastes 200 KiB and delays LCP by 600ms, blocking main thread execution.
Use Nuxt's tree-shaking by enabling 'experimental.payloadExtraction' in nuxt.config.ts. Split large bundles with dynamic imports using $lazy() for components. Enable code splitting with 'build.splitChunks.chunks: all' to load only needed JavaScript per route.
A score of 85 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 site has good performance with a score of 85/100, but there are several optimization opportunities. The biggest issue is oversized images that are wasting 133 KB of bandwidth and delaying the Largest Contentful Paint (3.6 seconds) - recipe images are being served at 640x480 but only displayed at 378x284. Additionally, the site is loading 200 KB of unused JavaScript code that could be removed or deferred to improve loading times. Implementing proper responsive images and cleaning up unnecessary JavaScript could easily push this site into the 90+ performance range and significantly improve the user experience.
Why It Matters:
Oversized images waste 133 KiB and slow LCP by 150ms with unnecessary data transfer.
How to Fix:
Configure Nuxt Image module with proper breakpoints in nuxt.config.ts using 'sizes' attribute. Set 'densities: [1, 2]' for retina displays. Use 'fit: cover' with exact dimensions matching display sizes instead of serving 640x480 for 378x284 containers.
Why It Matters:
Forced reflows cause 53ms of blocking time, creating janky user interactions and poor responsiveness.
How to Fix:
Use Vue's $nextTick() to batch DOM reads and writes in components. Replace direct style.offsetWidth calls with getBoundingClientRect() cached values. Move layout-triggering operations to requestAnimationFrame() or use CSS transforms instead of changing layout properties.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Nuxt Speed Tests
Static assets have only 60-second cache lifetime, missing 2MB of potential cache savings and forcing unnecessary re-downloads.
2.7MB of unused JavaScript is blocking rendering and adding 16 seconds to LCP, with moment.js locale files being 93% unused.
Multiple redirects are adding 25.7 seconds to your page load time, severely impacting both LCP and FCP.
654 KiB of resources with poor cache policies are forcing unnecessary re-downloads on repeat visits.
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.