Web Development

Website Speed Optimisation: How to Achieve a 90+ Google PageSpeed Score

A slow website costs you rankings and customers. This technical guide walks through the exact steps to get a 90+ PageSpeed score on both mobile and desktop — specific to SvelteKit, Next.js, and WordPress sites.

Team DevXAI Technologies · DevXAI Technologies April 18, 2026 2 min read
Website Speed Optimisation: How to Achieve a 90+ Google PageSpeed Score

Why PageSpeed Scores Matter in 2026

Google uses Core Web Vitals as a ranking signal. A site scoring below 50 on mobile PageSpeed is at a structural SEO disadvantage against competitors scoring 90+. Beyond rankings, every 100ms of load time improvement increases conversions by roughly 1% — meaningful at any volume. The good news: most speed improvements are one-time fixes, not ongoing work.

The Three Core Web Vitals

LCP (Largest Contentful Paint): How long until the main content is visible. Target: under 2.5 seconds. The most common culprit is an unoptimised hero image or render-blocking web font. Fix: preload the hero image, use WebP format, set explicit width/height attributes to prevent layout shift.

CLS (Cumulative Layout Shift): How much the page shifts while loading. Target: under 0.1. Caused by images without dimensions, dynamically injected content, and web fonts causing text reflow. Fix: set width and height on every image, use font-display: optional or swap.

INP (Interaction to Next Paint): How responsive the page is to clicks and taps. Target: under 200ms. Caused by heavy JavaScript on the main thread. Fix: defer non-critical JS, break up long tasks, use web workers for heavy computation.

Image Optimisation: The Biggest Win

Images typically account for 60–80% of page weight. Every image should: be in WebP or AVIF format (50–80% smaller than JPEG/PNG), be sized to the actual display dimensions (not 3000px wide when displayed at 800px), have loading="lazy" for below-the-fold images, and be served from a CDN. Tools: Squoosh (free online), Sharp (Node.js library), or Cloudflare Images.

JavaScript Bundle Optimisation

Run npm run build and check the bundle size. A production bundle above 500KB (gzipped) is a warning sign. Fixes: dynamic imports for code splitting, tree-shaking unused library code, replacing heavy libraries with lighter alternatives (date-fns instead of moment.js, Zod instead of Yup), and removing unused dependencies. Every website we build at DevXAI Technologies ships with a sub-200KB initial JavaScript bundle. Contact hello@devxaitechnologies.com for a performance audit.