Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize staging.deployhq.com
The hero background image lacks fetchpriority=high directive, preventing optimal loading performance for the largest contentful paint element.
Add fetchpriority='high' attribute to the hero image in your Rails view template. Ensure the image is not lazy-loaded and include appropriate width/height attributes. Consider using Rails' image_tag helper with loading: 'eager' and fetchpriority: 'high' options.
A score of 70 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 poor performance with a score of 70/100, struggling with extremely slow loading times. The biggest problem is an excessive 10.3-second Largest Contentful Paint, caused by a combination of unused JavaScript (145 KiB from Google Analytics and tracking scripts), unused CSS (85 KiB), and inefficient image delivery. The site is also doing 2.8 seconds of unnecessary main-thread work, primarily from unoptimized JavaScript parsing and execution. Removing unused code, minifying assets, optimizing images, and adding priority hints to key images could dramatically improve performance and user experience.
Why It Matters:
Unused JavaScript consumes 145KB and delays LCP by 750ms with blocking scripts from Google Analytics and consent management.
How to Fix:
Configure Rails asset pipeline to code-split JavaScript using dynamic imports. Move Google Tag Manager and Usercentrics to load asynchronously after page interactive. Use Rails' javascript_include_tag with defer: true for non-critical scripts.
Why It Matters:
91% of CSS rules are unused (85KB waste) and files lack minification, adding 300ms to LCP and 250ms to FCP.
How to Fix:
Enable CSS minification in Rails production environment by setting config.assets.css_compressor = :sass. Use PurgeCSS gem to remove unused styles automatically. Split CSS into critical above-the-fold styles and defer non-critical CSS loading.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Ruby on Rails Speed Tests
2.2MB of unused JavaScript and 485KB unused CSS waste bandwidth and slow parsing.
Layout shifts score of 1.03 severely impacts user experience and Core Web Vitals.
Missing width/height attributes cause layout shifts during load, hurting CLS and user experience.
Images are oversized and poorly compressed, wasting 25KB of bandwidth and slowing page load.
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.