Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize capriprivateboattours.com
Render blocking CSS files delay LCP by 450ms and prevent the page from rendering critical content.
Inline critical CSS for above-the-fold content directly in your Next.js pages. Use Next.js dynamic imports to code-split CSS modules. Defer non-critical styles using media='print' onload='this.media="all"' technique.
A score of 74 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 website has below-average performance with a score of 74/100, primarily held back by excessive JavaScript processing that's blocking user interactions. The biggest issue is that JavaScript execution takes 1.3 seconds and forces the main thread to work for over 2 seconds, causing pages to become interactive only after 8.7 seconds - far too slow for good user experience. The site is also loading unnecessary legacy JavaScript polyfills (23KB savings possible) and render-blocking CSS files that delay initial page rendering by 440ms. Reducing JavaScript bundle sizes, removing unused code, and deferring non-critical scripts would likely improve the performance score by 15-20 points and dramatically speed up page interactivity.
Why It Matters:
JavaScript execution takes 1.3 seconds and blocks the main thread, causing poor interactivity scores.
How to Fix:
Update Next.js build target to exclude legacy polyfills (Array.prototype.at, Object.hasOwn) for modern browsers. Implement code splitting using Next.js dynamic imports for non-critical components. Remove unused Google Tag Manager code by auditing tracking requirements.
Why It Matters:
JavaScript queries geometric properties after DOM changes, causing 53ms of unnecessary layout recalculation.
How to Fix:
Batch DOM reads and writes in your React components. Use CSS transforms instead of changing layout properties. Implement useLayoutEffect for DOM measurements and cache results to avoid repeated calculations.
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
1.3MB of unused JavaScript blocks the main thread for 1.7 seconds, preventing user interactions.
Unsized images cause 0.295 CLS score, creating jarring content jumps that harm user experience.
CSS files are blocking initial page render for 750ms, significantly delaying LCP and FCP.
Legacy JavaScript polyfills and forced reflows block the main thread for 435ms, degrading user interaction responsiveness.