Largest Contentful Paint
Good: < 2.5s
Measures how long it takes for the main content to appear on screen
How to optimize joalexander.co.uk
CSS and font files block initial render for 1.72 seconds, severely delaying First Contentful Paint.
Inline critical CSS for above-the-fold content directly in the HTML head. Use preload hints for Google Fonts with font-display: swap. Defer non-critical CSS using media='print' onload technique. Move the merged CSS file to load asynchronously after critical styles.
A score of 79 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 website has moderate performance issues with a score of 79/100, but several key problems are slowing down the user experience. The biggest issue is oversized images that are much larger than needed for their display size, wasting 244 KB and causing the main content to appear slowly at 4.1 seconds (LCP). Additionally, the site is loading 86 KB of unused CSS that blocks the page from rendering quickly, and there's 56 KB of unnecessary JavaScript from Facebook tracking and Swiper carousel libraries that isn't being used. Optimizing image sizes, removing unused code, and improving caching could easily boost the performance score above 90 and make the site feel much faster for visitors.
Why It Matters:
Oversized images waste 244 KiB and delay LCP by 450ms, particularly the hero banner image.
How to Fix:
Implement responsive images using srcset attributes for different screen sizes. Resize the hero banner from 1600x900 to 412x232 for mobile display. Add fetchpriority='high' to the LCP hero image. Use CSS aspect-ratio to maintain layout during loading.
Why It Matters:
Unused CSS (87 KiB) and JavaScript (57 KiB) increase load times and block main thread execution.
How to Fix:
Audit the merged CSS file to remove 92% unused styles by splitting into page-specific stylesheets. Remove or defer Facebook Pixel and Klaviyo scripts until after page load. Replace legacy JavaScript polyfills targeting modern browsers only. Use tree-shaking to eliminate dead code from Swiper.js library.
Get AI-powered performance insights with actionable fixes in 30 seconds
More Generic Speed Tests
Google Tag Manager scripts contain 139KB of unused code, slowing LCP by 600ms and wasting processing time.
17MB of video content has zero cache lifetime, forcing full re-downloads on every visit and wasting 69MB of bandwidth.
JavaScript files are blocking initial page render, delaying FCP by 750ms and preventing users from seeing content.
136KB of unused JavaScript and 63KB of unused CSS waste bandwidth and slow down page parsing.
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.