Digital Solutions
Site Optimization
A live events staffing company’s WordPress site was bleeding performance — render-blocking resources, unoptimized assets, zero CDN. The goal: a surgically clean audit and implementation that pushed Lighthouse from 75 to a perfect 100, without touching the theme or breaking the build.
Bar width is proportional to time cost. Grey = before. Green = after.
Why the site was slow
- Render-blocking JavaScript and CSS holding up the critical path
- Large unoptimized hero images inflating the LCP metric
- No CDN — assets serving from a single origin on every request
- Unused CSS and JS being loaded on every page load
- Lighthouse score of 75 signalling real user experience impact
Before touching anything
- Ran a full Lighthouse audit — desktop and mobile — to baseline every metric
- Used PageSpeed Insights to identify real-field data vs lab data gaps
- Traced render-blocking resources in the waterfall to find the actual bottleneck
- Profiled CSS coverage to quantify unused stylesheet weight
- Identified LCP element and measured its delivery chain end-to-end
LiteSpeed Cache — configured, not just installed
Most sites install LiteSpeed and leave defaults. I tuned cache TTLs, excluded dynamic pages, enabled object cache, and configured browser caching rules per asset type. Cache warming was also set up to avoid cold-start penalties after deploys.
Render-blocking JS deferred at the resource level
Identified every script holding up the parser. Non-critical JavaScript was deferred or loaded asynchronously. Scripts with DOM dependencies were moved to after DOMContentLoaded — no guesswork, traced through the waterfall.
CSS delivery optimised — critical path inlined
Above-the-fold CSS was inlined to eliminate a render-blocking stylesheet request. Unused CSS was identified via coverage tools and pruned. Non-critical styles were loaded asynchronously using media attribute swapping.
LiteSpeed CDN enabled for global asset delivery
Configured CDN rules to serve static assets from edge nodes, cutting origin round-trips. Image, font, and script delivery was routed through the CDN with appropriate cache headers set per content type.
LCP image optimised at the source
The hero image — the LCP element — was resized, re-encoded as WebP, and preloaded via <link rel=”preload”> in the document head. This alone dropped LCP from 2.7s to under 1s before further tuning.
Accessibility — heading structure and contrast fixes
Corrected the heading hierarchy (non-sequential h tags were breaking screen reader navigation) and fixed colour contrast issues flagged by Lighthouse. These changes pushed the accessibility score from 84 to 90 without any design changes.
What a perfect score actually means
A 100 Lighthouse score isn’t a trophy — it’s evidence of a site that loads fast enough to stop losing visitors before the page even renders. For a service business, every second of LCP is a potential enquiry that never happened.
- LCP of 0.6s places the site firmly in Google’s “Good” threshold — directly tied to Core Web Vitals ranking signals
- Zero Total Blocking Time means users can interact with the page the instant it loads, reducing bounce from frustration
- CDN delivery reduces server load, meaning the same hosting plan handles more concurrent traffic without degradation
- Improved accessibility score extends the site’s reach and contributes to SEO signals Google factors into rankings
- Optimized asset delivery lowers bandwidth costs and reduces origin server requests long-term
Google requires 75% of page loads to meet “Good” thresholds for a site to pass Core Web Vitals assessment. This site passes all three.