Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize surgence.io
JavaScript execution takes 2.2 seconds and blocks main thread, causing 24-second Time to Interactive.
Code-split the large Calendly booking script (721ms execution) using Next.js dynamic imports with ssr: false. Lazy load the 1684 chunk (521ms) using React.lazy() for components not needed above-the-fold. Remove unused code from these bundles using webpack-bundle-analyzer to identify dead code.
A score of 77 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/React website has moderate performance issues with a score of 77/100, but users experience extremely slow interactivity taking 24 seconds to become fully responsive. The biggest problem is excessive JavaScript from third-party services like Calendly, which consumes over 1.3MB of unused code and blocks the main thread for 3.8 seconds. The site could dramatically improve by removing or deferring unnecessary JavaScript, optimizing the oversized Calendly booking widget, and implementing code splitting to reduce the initial bundle size. Additionally, render-blocking CSS files are delaying page rendering by 380ms, which could be easily fixed by inlining critical styles or deferring non-essential CSS.
Why It Matters:
Three CSS files are blocking initial page render, delaying LCP and FCP by 400ms each.
How to Fix:
In your Next.js app, move critical CSS inline using styled-jsx or CSS-in-JS libraries like styled-components. For non-critical styles, use dynamic imports with next/dynamic or load them asynchronously. Consider splitting CSS by routes using Next.js automatic code splitting.
Why It Matters:
1,308 KiB of unused JavaScript increases bundle size and delays LCP by 150ms.
How to Fix:
Use Next.js tree-shaking by ensuring named imports instead of default imports. Audit the Calendly integration (676KB unused) and load it only when the booking widget is actually needed. Remove legacy polyfills by updating your Next.js browserslist configuration to target modern browsers only.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Next.js Speed Tests
1,308 KiB of unused JavaScript increases bundle size and delays LCP by 150ms.
Three CSS files are blocking initial page render, delaying LCP and FCP by 400ms each.
2.6 seconds of main thread work is causing 220ms of Total Blocking Time and poor interactivity.
Critical CSS files are blocking First Contentful Paint and delaying initial page render by 150ms.
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.