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
CSS files are blocking initial page render and delaying LCP by 1 full second.
Configure Next.js to inline critical CSS using next-critical plugin. Move non-critical CSS to load asynchronously with media='print' onload="this.media='all'" technique. Split your CSS bundle to load only above-the-fold styles initially.
A score of 66 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 site has poor performance issues with a score of 66/100. The biggest problem is excessive JavaScript execution time (1.9 seconds) combined with render-blocking CSS files that are delaying your Largest Contentful Paint to 6.3 seconds - well above the recommended 2.5 seconds. The site is loading 285 KB of unused JavaScript and 29 KB of unused CSS, while also using outdated JavaScript polyfills that aren't needed for modern browsers. Reducing JavaScript bundle sizes, removing unused code, and deferring non-critical CSS could improve your score by 25+ points and dramatically speed up page loading.
Why It Matters:
285 KiB of unused JavaScript is unnecessarily delaying page load and blocking the main thread.
How to Fix:
Enable Next.js bundle analyzer to identify unused code in your chunks. Implement dynamic imports for non-critical components using next/dynamic. Configure webpack-bundle-analyzer to split vendor bundles and defer Google Analytics loading until after page interactive.
Why It Matters:
Legacy JavaScript polyfills add 40 KiB of unnecessary code that modern browsers don't need.
How to Fix:
Update your Next.js target in next.config.js to 'es2017' or newer to avoid transpiling modern features. Configure Babel preset-env with browserslist targeting only browsers with >1% usage. Remove polyfills for Array.prototype.at, Object.fromEntries, and other baseline features.
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.