Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize 6a1baaeae2f6f30008194796..admirable.florentine.bf5b33.netlify.app
279 KiB of unused JavaScript delays LCP by 150ms and blocks the main thread unnecessarily.
Use Next.js dynamic imports to code-split large bundles like GTM and analytics scripts. Defer Google Analytics using next/script with strategy='afterInteractive'. Remove or lazy-load the 0inhsdzfd_89d.js chunk which has 83% unused code.
A score of 88 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 Next.js site has good performance with a score of 88/100, but there are several optimization opportunities that could make it excellent. The biggest issue is excessive unused JavaScript from Google Analytics and tag management scripts, which wastes 279 KB and delays page interactivity to 9.3 seconds - much slower than the recommended 3 seconds. Additionally, the site is using outdated JavaScript polyfills that aren't needed for modern browsers, wasting another 42 KB and slowing down content loading. Removing unused JavaScript code, updating the build process to target modern browsers, and optimizing the large hero background images could easily push this site into the 95+ performance range.
Why It Matters:
CSS file blocks initial render by 210ms, directly delaying both FCP and LCP by 200ms.
How to Fix:
Inline critical CSS for above-the-fold content in Next.js using styled-jsx or CSS-in-JS. Load non-critical CSS asynchronously with next/dynamic. Split your 12.8KB CSS bundle into critical and non-critical portions.
Why It Matters:
42 KiB of legacy JavaScript polyfills are unnecessary for modern browsers and delay LCP by 250ms.
How to Fix:
Update Next.js config to target ES2020+ by setting target: 'es2020' in next.config.js. Remove polyfills for Array.prototype.at, Object.hasOwn, and other modern features. Use @babel/preset-env with browserslist targeting last 2 years.
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 Next.js Speed Tests
Short cache lifetimes (4 hours) for static assets waste 89 KiB on repeat visits and slow down returning users.
287 KiB of unused JavaScript is bloating your bundles and contributing to the 8.8-second Time to Interactive.
Element render delay of 2.8 seconds is causing your LCP to be severely impacted, representing the largest performance bottleneck.
Poor image compression is wasting 25 KiB and impacting LCP performance by 200ms.