Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize linear.app
Unused JavaScript totals 349 KiB and blocks the main thread for 3.5 seconds, severely impacting TBT.
Implement dynamic imports for non-critical components in Next.js using next/dynamic. Use webpack-bundle-analyzer to identify unused code. Enable tree shaking and code splitting for route-based chunks.
A score of 29 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 severe performance issues with a critically low score of 29/100. The biggest problem is an extremely slow Largest Contentful Paint of 23.2 seconds, caused by lazy-loaded images that should be prioritized, combined with massive JavaScript execution taking 3.5 seconds to process. The site is loading nearly 4MB of data including unused CSS (71KB) and JavaScript (349KB), while render-blocking stylesheets delay the initial page display by 1.4 seconds. Removing lazy loading from above-the-fold images, reducing unused code, and optimizing the JavaScript bundle size could dramatically improve performance and user experience.
Why It Matters:
The LCP image has lazy loading enabled and lacks priority hints, causing a 23.2s LCP delay.
How to Fix:
Remove loading='lazy' from the hero image and add fetchpriority='high'. Use Next.js Image component with priority={true} prop. Preload the LCP image URL in the document head using <link rel='preload' as='image'>.
Why It Matters:
Multiple CSS files block first paint for 1.4 seconds, delaying FCP significantly.
How to Fix:
Inline critical CSS for above-the-fold content in the Next.js _document.js file. Use next-optimized-css to automatically split and defer non-critical stylesheets. Combine smaller CSS files into single bundles.
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
The LCP element has a 2.7 second resource load delay and lacks priority optimization.
1.9 seconds of JavaScript execution time blocks user interactions and increases Total Blocking Time by 500ms.
Critical CSS blocks First Contentful Paint by 3.36 seconds, severely delaying page visibility.
CSS files are blocking initial render and delaying FCP by 850ms.