Performance and monitoring
PageSpeed Insights: read the report and improve a website
PageSpeed Insights helps you identify loading and interaction problems on a URL. Use it to decide what to improve and to check results, without making 100/100 the goal above the website actually working.
Tell lab data from real users
The report combines a lab test with Lighthouse and, when there are enough samples, real data from the Chrome UX Report. Check whether the real data refers to the URL or to the whole origin: they are not interchangeable.
The lab test reflects specific device, network and runtime conditions. Real data summarises the last 28 days. A change made today may improve a new test without immediately changing the history. Google's explanation of PageSpeed Insights covers that difference in detail.
Core Web Vitals
| Metric | What it observes | Good experience threshold |
|---|---|---|
| LCP | When the main content appears | 2.5 seconds or less |
| INP | Visual response to interactions | 200 milliseconds or less |
| CLS | Unexpected layout shifts | 0.1 or less |
The thresholds are assessed on the 75th percentile of the experiences available. FCP, Speed Index and TBT help with diagnosis, but they are not the three Core Web Vitals. See the Web Vitals reference for how to interpret them.
A good lab score does not guarantee every real experience, and an SEO score does not certify indexing, rankings or sales.
Prepare a worked example in WordPress
Choose three representative pages, for example the home page, a category and a product. Save the mobile and desktop reports, note the date and configuration, and repeat the measurements to learn their normal variation.
Keep a backup you can restore and use a test copy for theme, plugin or database changes. If you work with LiteSpeed Cache, first check that the page cache works. You do not need to connect a CDN for that feature.
If the main content is slow to appear
Identify the LCP element in the report. If it is an image, check its size, dimensions and when it is downloaded. Do not lazy-load the main image visible when the page opens.
For large images, serve variants suited to the space shown and the screen density, with srcset and sizes where appropriate. Adding width and height attributes helps reserve space, but it does not resize the downloaded file.
If the HTML document is slow to arrive, check the page cache, the network, the hosting's resources and PHP execution. Minifying an image does not fix a slow SQL query: use PHP X-Ray to find costly server work.
If CSS or JavaScript block loading
In LiteSpeed Cache, try minification from Page Optimization. Combining files, deferring JavaScript and loading CSS asynchronously are different options: enable them one at a time and check their effects.
Check menus, forms, filters, consent and checkout. A resource that seems unused during the initial load may be needed when opening a menu or interacting. Do not automatically remove everything a coverage capture marks as not executed.
If the problem is third-party code, identify what it does and what it costs. Do not copy external scripts to the hosting without checking updates, compatibility and the provider's terms.
If the layout shifts
Reserve dimensions or an aspect ratio for images, ads and embeds. Also check fonts and blocks that appear after loading. Test several screen widths and the state before and after consent.
The option to add missing sizes can help reserve space, but on its own it does not fix every shift or reduce the weight of the images.
If resources are downloaded again and again
Check the browser cache headers. Files with a versioned name can have a long lifetime, because a change produces a different URL. If a file changes but keeps its name, you need a policy that lets you update it without leaving visitors on old versions.
Do not apply a long lifetime indiscriminately to personalised HTML. The headers of files served by third parties depend on them; decide whether you need that resource before trying to change how it behaves.
Optimise images and compression
The hosting automatically compresses compatible text content with Gzip or Brotli. Check Content-Encoding before adding compression from PHP.
For images, keep the originals and test a sample. LiteSpeed can use QUIC.cloud's online services for optimisation and modern formats: check the connection, quota, mode and task status. The QUIC.cloud guide explains the current connection, which is different from the old domain keys.
Check that the improvement is real
Change one thing, purge only the caches you need to and repeat the same tests. Compare the affected metric and how the site works, not just the colour of the report. A category with too many products may need pagination and fewer items, rather than more plugin settings.
After deploying, watch real experiences over their update window. Keep a change log and revert any change that improves a score at the cost of breaking features. To carry on, use the complete WordPress optimisation guide.
You may also find useful
- Analyse slow PHP requests with X-Ray Trace PHP requests with X-Ray to find slow SQL queries, functions, files or external calls, keeping...
- Interpret response time in PageSpeed, Pingdom and GTmetrix Tell apart TTFB, HTTP waiting time, latency and full load, and compare locations and caches before b...
- Setting up website monitoring Create availability, content and SSL monitors, set up email alerts and check response times, inciden...
- Site Quality Monitoring Analyse availability, performance, SEO, links, JavaScript and security, and understand which Site Qu...
Something wrong or out of date? Tell us and we will review it.