Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize staging.learn.wowlearnings.org
Legacy JavaScript polyfills add 40KB of unnecessary code that delays LCP by 250ms on modern browsers.
Configure Next.js browserslist to target modern browsers (>95% coverage) in next.config.js. Enable SWC compiler optimizations and disable unnecessary polyfills. Use next/dynamic for component-level code splitting to reduce initial bundle size.
A score of 63 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 63/100. The biggest problem is excessive JavaScript blocking the page load, causing a painfully slow Largest Contentful Paint of 6.3 seconds and Time to Interactive of 10.1 seconds. The site is loading 285 KiB of unused JavaScript and spending 2.5 seconds just executing scripts, while render-blocking CSS files are delaying the initial paint by nearly a second. Removing unused code, optimizing JavaScript bundles, and deferring non-critical resources could dramatically improve load times and boost the performance score by 25+ points.
Why It Matters:
CSS files are blocking initial page render for 950ms, severely delaying both LCP and FCP.
How to Fix:
Configure Next.js to inline critical CSS using the 'experimental.optimizeCss' option. Move non-critical styles to load asynchronously with dynamic imports. Split large CSS chunks by implementing code splitting at the component level using CSS modules.
Why It Matters:
285KB of unused JavaScript is delaying LCP by 900ms and blocking the main thread unnecessarily.
How to Fix:
Enable Next.js tree shaking by ensuring proper ES6 imports and avoiding default exports for utilities. Remove Google Analytics and other third-party scripts from critical path by loading them via next/script with strategy='afterInteractive'. Use Next.js bundle analyzer to identify and eliminate unused dependencies.
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
Course thumbnail images are 2x larger than needed, wasting 31 KiB and potentially affecting LCP timing.
285 KiB of unused JavaScript is blocking the main thread and increasing Total Blocking Time by 950ms.
CSS files are delaying LCP by 500ms and preventing the page from rendering critical content immediately.
Legacy JavaScript polyfills add 40 KiB of unnecessary code that modern browsers don't need.