Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize opencals.com
3.6 seconds of JavaScript execution blocks user interactions and increases Total Blocking Time by 450ms.
Code-split your Next.js app using dynamic imports for heavy components. Break down the 2.4s execution time in d308e9b8ce2ef91c.js by lazy-loading features. Use React.memo and useMemo to prevent unnecessary re-renders.
A score of 49 falls in the "Poor" 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 49/100, indicating significant user experience issues. The biggest problem is excessive unused JavaScript (191 KiB of wasted code) that's dramatically slowing down page loading - your Largest Contentful Paint takes a painful 7.5 seconds when it should be under 2.5 seconds. The site is loading nearly 100% unused code from some JavaScript chunks, plus Google Analytics is contributing to the bloat. Removing unused JavaScript, optimizing your Next.js build configuration, and potentially code-splitting could save over 1 second in load time and dramatically improve your Core Web Vitals scores.
Why It Matters:
Eliminating 195KB of unused JavaScript will improve LCP by 1.05 seconds and reduce main thread blocking.
How to Fix:
Use Next.js bundle analyzer to identify unused chunks. Tree-shake the 99% unused code in 54961fbf40c70e76.js. Implement dynamic imports for Google Analytics and defer non-critical JavaScript using next/dynamic with ssr: false.
Why It Matters:
CSS blocking initial render delays both LCP and FCP by 150ms each.
How to Fix:
Move critical CSS inline in your Next.js _document.js file. Use next/head to load 083f5ddb20a9d4f1.css with media='print' then switch to 'all' onload. Consider CSS-in-JS solutions like styled-components for critical styles.
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
2.2 seconds of JavaScript execution time is creating 580ms of Total Blocking Time, hurting user interactivity.
285KB of unused JavaScript is blocking the main thread and delaying LCP by 1.05 seconds.
Unnecessary polyfills add 40KB of code that modern browsers don't need, slowing down execution.
2.9 seconds of JavaScript execution time blocks the main thread and delays Time to Interactive by 11.2 seconds.