Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize capriprivateboattours.com
Poor caching wastes 1.7MB on repeat visits and the hero video significantly impacts LCP.
Set cache headers for the hero-mobile.mp4 to 1 year (Cache-Control: max-age=31536000). Consider replacing the 1.5MB video with an optimized WebP image sequence or reduce video quality. Configure Supabase storage with longer cache lifetimes for static assets.
A score of 62 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 62/100, primarily due to excessive JavaScript blocking the main thread for 2.4 seconds and causing a very slow Time to Interactive of 10 seconds. The biggest issue is unused JavaScript from Google Analytics and Tag Manager scripts that are wasting 265 KiB and delaying page interactivity. Additionally, the 1.5MB hero video and poorly cached images are contributing to a sluggish 6.2-second Largest Contentful Paint. Removing unused JavaScript, optimizing the video file size, and implementing proper caching could improve the performance score by 30+ points and dramatically enhance user experience.
Why It Matters:
Unused JavaScript wastes 271KB and blocks the main thread for 1.5 seconds, delaying interactivity.
How to Fix:
Audit Google Analytics and Tag Manager implementations - defer loading until after page load using Next.js Script component with strategy='afterInteractive'. Remove unused polyfills from your Next.js build by updating browserslist to target modern browsers only. Consider switching to lighter analytics like Plausible.
Why It Matters:
JavaScript is causing forced reflows totaling 38ms, blocking the main thread and creating layout instability.
How to Fix:
Identify the problematic code in your Next.js chunks that's reading geometric properties after DOM changes. Batch DOM reads and writes together, use CSS transforms instead of changing layout properties. Add explicit dimensions to your hero image to prevent layout shift during loading.
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.