Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize landing.dev.opencals.com
Legacy JavaScript polyfills add 13 KiB and 150ms to LCP for features modern browsers support natively.
Update next.config.js to target modern browsers by setting `target: 'es2020'` and configure browserslist to exclude IE support. Remove unnecessary polyfills for Array.at, Object.hasOwn, and String.trim methods. Use Next.js Modern mode to serve ES6+ to capable browsers.
A score of 62 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 site has poor performance with a score of 62/100. The biggest problem is excessive JavaScript execution time (7.3 seconds) and unused code, with 140 KiB of unnecessary JavaScript being downloaded and a massive 1,470ms of Total Blocking Time that's preventing users from interacting with the page. The site is also using outdated JavaScript polyfills that aren't needed for modern browsers, adding another 13 KiB of waste. Removing unused JavaScript, updating the build configuration to target modern browsers, and breaking up large JavaScript bundles could improve loading times by over 750ms and dramatically enhance user experience.
Why It Matters:
140 KiB of unused JavaScript is delaying LCP by 750ms and blocking user interactions.
How to Fix:
Configure Next.js bundle analyzer to identify unused code with `npm install @next/bundle-analyzer`. Enable tree shaking by ensuring ES6 imports and dynamic imports for heavy components. Split vendor chunks in next.config.js using webpack optimization to defer non-critical libraries until needed.
Why It Matters:
CSS file is blocking initial render and delaying both FCP and LCP by 100ms.
How to Fix:
Inline critical CSS for above-the-fold content in Next.js pages using `styled-jsx` or CSS-in-JS solutions. Move non-critical CSS to load asynchronously with `next/dynamic` imports. Configure CSS modules to split styles per component and load only what's needed.
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
7.6 seconds of JavaScript execution time creates 2.3 seconds of blocking time, preventing user interactions.
140 KiB of unused JavaScript delays LCP by 950ms and blocks user interactions.
DOM queries after style changes cause 206ms of forced reflows, degrading rendering performance.
Render-blocking CSS delays LCP and FCP by 100ms each, preventing critical content from displaying.