Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize pixelvault.dev
Your FCP of 3.0 seconds is significantly above the recommended 1.8 seconds, delaying when users see content.
Enable Rails fragment caching for your main content areas using cache helpers. Implement critical CSS inlining in your application layout. Use Rails' preload_link_tag for critical resources and defer non-essential stylesheets.
A score of 86 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 Ruby on Rails site has good performance with a score of 86/100, but there's still room for improvement. The biggest issue is the slow First Contentful Paint at 3.0 seconds, which means users wait too long to see any content appear on the page. The main culprit is unused JavaScript from the Turbo framework, where 86% of the loaded code (25 KiB) isn't actually being used and is also causing forced reflows that slow down page rendering. Removing or deferring this unused JavaScript could significantly speed up initial page loading and improve the user experience.
Why It Matters:
Your Turbo.js file has 85% unused code (25KB waste) causing forced reflows that delay rendering by 94ms.
How to Fix:
Configure your Rails asset pipeline to tree-shake unused Turbo modules. Use import maps with selective imports instead of the full bundle. Consider lazy-loading ActionCable if not needed on initial page load. Add webpack-bundle-analyzer to identify specific unused modules.
Why It Matters:
Turbo.js is causing 61ms of forced reflows that block the main thread and delay interactivity.
How to Fix:
Update to the latest Turbo version which has better performance optimizations. Use CSS transforms instead of layout-triggering properties in animations. Batch DOM reads and writes in custom JavaScript to avoid layout thrashing.
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 Ruby on Rails Speed Tests
Missing width and height attributes on images cause layout shifts that hurt CLS and user experience.
The LCP image (logo) lacks fetchpriority=high, preventing the browser from prioritizing its download.
Images account for over 4MB of payload and delay LCP by 13.9 seconds, representing the largest performance bottleneck.
Images are oversized by 161 KiB and could improve perceived load performance.