Best Website Speed Test Tools for WordPress (and How to Read the Results)

A practical guide to field data, lab tests, waterfalls and repeatable comparisons.

Reviewed 8 min read

A speed test is useful when it helps you decide what to inspect next. PageSpeed Insights, Chrome DevTools, WebPageTest, and GTmetrix observe different parts of the same page, so their numbers should not be expected to match. Use field data to understand real visitors, lab data to reproduce a controlled load, and a waterfall or performance trace to connect a metric to the resource or task that caused it.

What to measure before choosing a tool

“How fast is this site?” is too broad for one number. Decide whether you are investigating the initial server response, when the main content becomes visible, visual stability, response to interaction, total transferred code, or a slow user journey. The useful evidence changes with the question.

Core Web Vitals currently focus on three aspects of experience. Largest Contentful Paint describes when the main visible content is rendered. Interaction to Next Paint measures responsiveness across user interactions. Cumulative Layout Shift describes unexpected visual movement. They are user-centred metrics, but they do not tell you by themselves which plugin, image, stylesheet, script, font, or server operation needs attention.

Two kinds of evidence commonly appear in test reports:

Field data

Aggregated measurements from eligible real visits. It reflects actual devices, networks, geography, cache states, and behaviour over a period of time. It is the better view of experienced outcomes, but it changes slowly and may be unavailable for low-traffic URLs.

Lab data

A synthetic load under defined conditions. It is useful for reproducing problems and comparing a change quickly. It remains one simulated environment, so it cannot represent every real visitor.

A score is a summary, not a diagnosis. Read the metric details and evidence below the score. A technically correct improvement may barely move a rounded score, while an unrelated variation can move a single run.

PageSpeed Insights: field context and a lab diagnostic

PageSpeed Insights is a sensible first stop because it places available Chrome User Experience Report data beside a Lighthouse lab analysis. Check whether the field section represents the exact URL or a broader origin. That scope matters: origin-level data can include templates and journeys very different from the page you entered.

Use the field section to see whether real users meet the Core Web Vitals thresholds and to compare mobile and desktop populations. Use the lab section to identify the element counted as LCP, render-blocking resources, long main-thread tasks, image opportunities, unused code signals, and request dependencies. Treat each opportunity as a lead to verify rather than an automatic instruction.

Lighthouse runs can vary because the page, server, network, third-party responses, and local test infrastructure vary. Run the same URL several times after warming or deliberately clearing the same cache layers, then compare the median. Do not compare a cached desktop run from one day with a cold mobile run from another and conclude that one code change caused the difference.

The familiar green, amber, and red bands are useful for orientation, but a boundary is not a cliff. Review the underlying value and its evidence. Moving a metric within the same colour can still help visitors, while crossing a colour boundary by a tiny amount does not prove that the whole page is now well optimised.

Chrome DevTools: investigate the exact problem

Chrome DevTools gives you direct access to what the browser saw. The Network panel shows request order, priority, size, timing, cache use, initiators, response headers, and dependency chains. Preserve the log when a navigation or redirect matters, disable the browser cache only when that matches the experiment, and throttle consistently if you are comparing runs.

The Performance panel records network activity, rendering, layout shifts, long tasks, and JavaScript execution on the main thread. Record the initial load for loading problems or record a specific interaction for responsiveness problems. Select the event or long task around the delay and work back to the script, style calculation, layout, or third-party callback involved.

DevTools is also the right place to verify that a proposed fix actually occurred. If you unloaded a stylesheet, confirm that its request and tag are absent. If you changed image priority, inspect when the browser discovered it. If you delayed a script, use the trace to check whether the interaction still works and whether the work moved to a more appropriate time.

The local Lighthouse panel is useful for development pages that a hosted service cannot reach. Keep in mind that extensions and other activity in your browser can affect a local run. An incognito profile or clean browser session makes comparisons more reliable.

WebPageTest: controlled runs, filmstrips, and waterfalls

WebPageTest is particularly helpful when location, connection profile, repeat visits, and visual progress matter. Choose a test location near the audience you want to simulate, a browser and connection that match the question, and multiple runs. Keep those choices unchanged for the before-and-after comparison.

The filmstrip and visual progress views show what a visitor would have seen at successive moments. The request waterfall shows when every resource began, how long connection and response phases took, what blocked discovery, and which requests competed. A late hero image may reveal a markup or priority issue. A chain of CSS imports may reveal delayed discovery. A third-party script may show a long connection followed by substantial execution work.

First-view and repeat-view results answer different questions. A repeat view may reuse browser-cached assets, while a first view represents a visitor without that cache. Page caching on the server is a different layer and may already be warm in both cases. Record which layer you intend to test rather than using “cached” as one ambiguous state.

GTmetrix: a readable report with waterfall detail

GTmetrix combines a Lighthouse-based analysis with its own report presentation, page details, history features, and waterfall. It can be convenient for sharing a result with a client or keeping comparable reports for the same URL. The structure audit groups possible improvements, while the waterfall lets you confirm whether an opportunity matters on that page.

Account level and selected region can affect which locations, devices, connection settings, monitoring, or retention features are available. Record the configuration shown in the report. Do not compare its headline grade directly with a PageSpeed Insights score as though both were the same test; even when both use Lighthouse components, their environments and report models can differ.

Tool Best first use Read beyond the headline
PageSpeed Insights Field context plus a quick lab audit Data scope, individual metrics, LCP element, diagnostics
Chrome DevTools Debugging a specific page or interaction Initiators, main-thread tasks, shifts, resource timing
WebPageTest Controlled remote tests and visual progress Run median, filmstrip, request chains, first/repeat view
GTmetrix Shareable Lighthouse-based reports Test configuration, structure details, waterfall

A repeatable WordPress testing method

  1. Choose representative URLs

    Include the homepage, a normal article, and an important dynamic or conversion page. Use the same exact URLs after the change.

  2. Define the environment

    Record mobile or desktop, location, connection, browser, login state, consent state, and whether each cache layer is warm or cold.

  3. Collect a baseline

    Run at least three comparable tests and keep the median. Save the waterfall or trace, not only the score.

  4. Change one logical cause

    Use staging or Test Mode, retain a rollback, and avoid combining unrelated caching, asset, image, and script changes in the same experiment.

  5. Verify the implementation

    Check the HTML, headers, Network panel, or trace to prove the intended technical change is present.

  6. Repeat the same runs

    Compare medians and detailed evidence. Then test real functionality on mobile and desktop while logged-in and logged-out.

Turn test results into useful actions

Translate each finding into a hypothesis you can test. “The LCP image starts late because it is introduced by a background style” is actionable. “The performance score is 71” is not. “A third-party chat bundle creates a long task before the first interaction” suggests a business and loading decision. “JavaScript is high” is only a category.

Prioritise issues that affect important templates, repeat across runs, and connect to a meaningful user outcome. Fix server response problems at the server or application layer, media problems in the media pipeline, and unnecessary plugin or asset work where it is introduced. The broader safe WordPress performance workflow explains how these layers fit together.

After release, watch field data over time and keep a small set of repeatable lab checks. A new plugin, campaign tag, font, hero image, or consent configuration can change the result. Testing becomes useful when it is part of maintenance rather than a one-time attempt to reach a particular grade.

From evidence to action

Find the resource before changing the rule

Asset CleanUp lets you inspect the CSS and JavaScript WordPress loads, test a narrow unload rule, and verify the result against the same performance baseline.

Read the asset cleanup guide
Get Asset CleanUp Lite

3 Comments

  1. Thanks for this awesome list you’ve made of tools that would help measure website speed. And to think there were free ones too.

    Reply
    • You’re welcome! There will be more posts about website speed definitely. I’m looking forward to release soon a free WordPress plugin to manage scripts and styles per page or all pages of the website to remove unused ones, thus having less HTTP requests which will make the website load faster and the HTML code will be cleaner and easier to read/scan 😉

      Reply
  2. Hi Gabe,

    Just wanted to say thank you for your amazing plugin. I’m not one to exaggerate, but on this occassion wish to show respect where it’s due. Anyone contemplating their next move on the optimization ladder need look no further than Asset CleanUp.

    Caching plugins can only take you so far before they run out of gas. Asset CleanUp takes the baton and runs with it, obliterating every benchmark that acts the tough guy.

    Overly dramatic? Well it would be if I weren’t simply telling the truth.

    Thanks once again, Gabe, you have a plugin that deserves every one of its glittering reviews.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.