Full-time Available Part-time Available Book a slot
Performance

What a 90+ PageSpeed score actually takes

Published 17 August 2026 · 6 min read · by Galib

Speed work sounds like a dark art. It is mostly five things done properly. Do those and the score follows; skip one and no amount of caching plugins will save you.

The short answer

A 90+ score is five fixes: right-sized images in a modern format, a lean CSS and JavaScript payload, nothing render-blocking in the critical path, reserved space for anything that loads late so nothing jumps, and decent hosting. Everything else is polish worth a point or two.

Google's PageSpeed Insights score is a weighted blend of lab metrics. You do not chase the number directly; you fix what the number is made of. Here is what actually moves it.

What does PageSpeed actually measure?

The Performance score is mostly three things: Largest Contentful Paint (how long until the biggest thing on screen appears), Total Blocking Time (how long the main thread is frozen by JavaScript), and Cumulative Layout Shift (how much the page jumps around while loading). Speed Index and First Contentful Paint fill in the rest. Fix LCP, TBT and CLS and the score takes care of itself.

Which fixes give the biggest gain?

  • Images. The single most common problem. A hero photo exported at 3000px and served to a 400px phone is the reason most sites are slow. Right-size per breakpoint, compress, use WebP, and lazy-load anything below the fold. On one media-heavy build this alone was the difference between a 15-second mobile LCP and a green one.
  • Payload. Load a builder's CSS and JavaScript only where it is used, drop unused widgets, defer non-critical scripts. This is most of the gap between a heavy Elementor site and a fast one.
  • Render-blocking. Inline the critical CSS, load the rest asynchronously, self-host fonts and preload the two or three that matter.
  • Layout shift. Set explicit width and height on every image and iframe, reserve space for ad slots and embeds, and use font-display: swap with a matched fallback. A CLS of 0.15 on mobile, common on otherwise-fast sites, is almost always an unsized image or a late-loading widget.
  • Hosting. Slow server response time (TTFB) caps your score before the browser does anything. Managed WordPress hosting with server-level caching fixes it.

Why is mobile always lower than desktop?

PageSpeed emulates a mid-tier phone on a throttled connection, which is deliberately harsher than most real devices. A build like Talent Cleaning scores 98 desktop and 96 mobile; that is about as close as the two get. A gap of 10 to 20 points is normal and healthy. A gap of 30+ usually means a heavy hero image or a lot of third-party script that only bites under throttling.

Can any WordPress site hit 90+?

On desktop, almost always. Recent builds: MVP at 99, White Stripes at a flat 100, Fence Decks at 98. On mobile the honest answer is "usually, with work". Photography-forward sites and Divi builds need more image discipline to get there. I show the real mobile numbers on every project, including the ones still being tuned.

How do I keep the score after launch?

Scores drift. A new plugin adds scripts, an editor uploads a 4MB image, a marketing tag gets pasted into the header. A maintenance plan with PageSpeed monitoring catches the drop within days instead of months. If you do it yourself, re-run PageSpeed after any plugin change or bulk content upload.

In short

Key takeaways

  • Images are the number one cause of a low score. Right-size, compress, WebP, lazy-load.
  • Trim the CSS and JavaScript payload and defer what is not critical.
  • Reserve space for late-loading elements so Cumulative Layout Shift stays near zero.
  • A 10 to 20 point desktop-to-mobile gap is normal; 30+ points to a heavy hero or third-party script.
  • Scores drift after launch. Monitor, or re-test after every plugin and bulk upload.
FAQ

Common follow-up questions

Is a perfect 100 on PageSpeed realistic?

On desktop, often yes, for a well-built content site. On mobile, 90 to 100 is the realistic target; the throttling PageSpeed uses is harsher than most real phones, so a mobile 88 to 95 usually corresponds to a genuinely fast experience.

Does using a page builder stop me hitting 90?

No. Bricks and a tuned Elementor build both pass Core Web Vitals. Divi needs more image care to reach the same place. The builder sets your starting point; the build quality decides where you finish.

Do I need a caching plugin?

Page caching helps, but it is not a magic fix. A cached page still loads the same images, fonts and scripts. Caching without payload work usually adds only a few points.

Will a CDN fix a slow site?

A CDN shortens the distance to your assets, which helps distant visitors. It does nothing for oversized images or heavy JavaScript. Fix the payload first, then add a CDN.

My score dropped after installing a plugin. Why?

Most likely the plugin loads its own CSS and JavaScript on every page, not just where it is used. Limit its assets to the pages that need it, or replace it with something lighter.

Asadullah Al Galib
Asadullah Al Galib

WordPress and PHP developer. I build for a 90+ PageSpeed target and show the real numbers on every project.

More about me →
Start a project

Site scoring in the red?

Send me the URL on Upwork and I'll come back with what's holding the score down and what it costs to fix. Usually within one business day.