Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize moa.happythoughts.in
Missing image dimensions cause layout shifts, and short cache lifetimes (5s) force unnecessary re-downloads affecting repeat visits.
Add explicit width='412' height='494' to your hero image element. Configure Next.js static asset caching to 1 year by setting headers in next.config.js. Use Next.js Image component which automatically includes dimensions.
A score of 57 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 with a score of 57/100, indicating significant user experience issues. The biggest problem is an extremely slow Largest Contentful Paint of 10.5 seconds, primarily caused by a large, unoptimized hero image that's 73KB larger than necessary and lacks proper dimensions. The site is also severely hampered by render-blocking CSS and JavaScript files that delay initial page rendering by nearly 7 seconds, along with 74KB of unused JavaScript code. Quick wins include resizing and properly sizing the main image, setting cache headers longer than 5 seconds, and removing unused CSS/JavaScript, which together could improve the performance score by 30+ points and dramatically speed up page loading.
Why It Matters:
The hero image is oversized (73KB waste) and lacks priority hints, directly impacting your 10.5s LCP.
How to Fix:
Add fetchpriority='high' to the hero image element. Use Next.js Image component with proper sizing - serve 412x494 instead of 1078x1292. Generate responsive srcSet with next/image for automatic optimization and WebP conversion.
Why It Matters:
74KB of unused JavaScript and 33KB of unused CSS are blocking rendering and delaying LCP by 300ms combined.
How to Fix:
Configure Next.js bundle analyzer to identify unused code. Remove or defer Google Analytics until after page load. Use dynamic imports for non-critical components. Enable CSS tree-shaking in your build process.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Next.js Speed Tests
175 KiB of duplicated JavaScript from Nike Design System components is loaded multiple times across bundles.
The LCP image is not discoverable in the initial HTML, causing a 4-second resource load delay.
460 KiB of unused JavaScript is blocking the main thread for 7.3 seconds and delaying LCP by 2.4 seconds.
Multiple redirects add 1.53 seconds delay before the page even starts loading, directly impacting both FCP and LCP.
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.