Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize capriprivateboattours.com
JavaScript execution takes 1.3 seconds and blocks the main thread, causing poor interactivity scores.
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.
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:
Render blocking CSS files delay LCP by 450ms and prevent the page from rendering critical content.
How to Fix:
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.
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
Unnecessary polyfills add 14KB and delay LCP by 150ms for modern browsers.
JavaScript execution blocks the main thread for 2.8 seconds, creating a 770ms potential input delay.
Unused JavaScript wastes 11MB of bandwidth and delays LCP by 55.8 seconds while blocking interactions.
Large JavaScript bundles are causing 1.6s execution time and 200ms blocking time, severely impacting interactivity.