Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize bhajans.happythoughts.in
CSS file is blocking initial render and delaying both LCP and FCP by 300ms.
Inline critical CSS for above-the-fold content in your Next.js _document.js. Use next/dynamic with ssr: false for non-critical components. Move the 19c00e5ea0217a8b.css file to load asynchronously using rel='preload' as='style'.
A score of 94 falls in the "Good" 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 excellent performance with a score of 94/100, but there's still room for improvement. The biggest issue is unused JavaScript code that's adding 156 KiB of bloat and could save 900ms in loading time - nearly half of the current 2.9-second Largest Contentful Paint. The site would benefit from code splitting to remove unused JavaScript, optimizing the logo image (which is oversized and not in modern WebP format), and improving CSS delivery to eliminate render-blocking requests. These optimizations could push the site to near-perfect performance scores while making it noticeably faster for users.
Why It Matters:
156 KiB of unused JavaScript is delaying LCP by 900ms and blocking page rendering.
How to Fix:
Use Next.js dynamic imports to code-split large chunks like 2280499211bd9509.js. Move unused components to separate bundles with dynamic(() => import('./Component')). Enable tree shaking by checking your webpack bundle analyzer output.
Why It Matters:
Logo image lacks dimensions causing potential CLS and uses 55 KiB more data than necessary.
How to Fix:
Add explicit width={177} height={168} props to your Next.js Image component for logo.png. Convert to WebP format and resize to actual display dimensions. Implement next/image with priority={true} since it's above-the-fold.
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
CLS score of 0.123 caused by carousel and cookie banner shifting content during load.
Unused JavaScript totals 1.6MB and blocks main thread for 4.7 seconds, causing 630ms input delay.
Images consume over 22MB with the largest being 4.5MB, severely impacting LCP at 8.3 seconds.
The LCP element (H1 heading) has a massive 4.3 second render delay, severely impacting page load performance.