Enter your URL at gtmetrix.com, pick a test location near your visitors and run the test. Read the three Web Vitals first, then the Grade, then open the Waterfall tab to find the cause. Below we explain each step and what the numbers mean today.
What the GTmetrix Grade means
The Grade combines two scores, Performance and Structure, with Performance carrying more weight.
A is 90 to 100, B is 80 to 89, C is 70 to 79, and so on down to F below 50.
Performance is your Google Lighthouse performance score, measured in a real Chrome browser on GTmetrix hardware. Five metrics make it up:
- Total Blocking Time (TBT): 30%
- Largest Contentful Paint (LCP): 25%
- Cumulative Layout Shift (CLS): 25%
- First Contentful Paint (FCP): 10%
- Speed Index: 10%
Structure is GTmetrix's own scoring of the Lighthouse audits, plus four custom checks: Keep-Alive, CSS sprites, CDN use and avoiding CSS @import.
If you remember PageSpeed and YSlow scores, they were retired in November 2020. Anything that still describes them is out of date.
How to run a test
Without an account you get the defaults: Seattle, desktop Chrome at 1366 x 768, unthrottled connection. That is fine for a spot check.
A free account unlocks Analysis Options: two test regions, connection throttling, ad blocking, cookies for logged-in pages, one monitored URL (daily at most) and a small monthly test allowance.
PRO plans add mobile device testing, hourly monitoring and more locations. Lite has 5 locations, Core 10, and Advanced and Expert all 28.
For Indian sites: GTmetrix moved its Mumbai server to Pune in September 2025. Pune and Chennai are the India locations, and both need a PRO plan.
If most of your visitors are in India, test from Pune.
On the free plan, remember that a test from the US adds the round trip to India to your TTFB.
Keep the same location, device and connection between runs. Changing options changes results, so compare like with like.
Reading the scores and Web Vitals
The Summary tab shows three Web Vitals next to the Grade. GTmetrix colours them green at these marks:
- LCP 1.2 seconds or less
- TBT 150 milliseconds or less
- CLS 0.1 or less
Google's own pass marks for Core Web Vitals are looser on LCP: 2.5 seconds, measured on real users at the 75th percentile.
INP (200 ms) and CLS (0.1) complete Google's set.
GTmetrix cannot measure INP in a lab test because nobody clicks the page. It shows TBT as the proxy.
Real INP appears only in the CrUX tab, if your site has enough Chrome traffic.
Below the scores is the Speed Visualization, a filmstrip of your page loading.
Several blank frames at the start mean the server was slow to respond. Content that jumps between frames points to CLS.
Using the waterfall
The Waterfall tab lists every request in load order. The first row is your HTML page, and it is the one to read first.
Each bar has coloured segments. The purple segment is Backend Duration: the time your server spent building the response.
GTmetrix's TTFB is redirect time plus connection time plus this backend time.
A long purple bar on the first request is a slow server. Usual causes are no page cache, slow database queries, heavy plugins or a shared server under load.
A DYNAMIC status from your CDN means the HTML is not cached there either.
If the server itself is slow, our Managed WordPress plans tune PHP, caching and the database for you.
Large images show as long bars with big sizes in the Size column. Check the Structure tab for "Properly size images" and "Efficiently encode images".
Render-blocking scripts and styles sit between the HTML row and the First Paint line. The "Eliminate render-blocking resources" audit lists them.
Why results change between runs
Every GTmetrix test starts a fresh browser with no cache.
Network routing, a cache miss on your server or CDN, a slow third-party script or a busy test server can each move the score.
GTmetrix says small swings are normal. Only a consistent drop against your own history, or one large spike, needs investigating.
One WordPress support thread shows the pattern: reports alternated between cache HIT and MISS, and the MISS runs scored far lower. The fix was keeping pages cached longer.
Run three tests and compare them, or monitor the page so a trend line replaces single numbers.
Why PageSpeed Insights disagrees
One store owner asked why their site scored about 30 in PageSpeed Insights and about 90 in GTmetrix. The answer is the test setup, not the site.
GTmetrix loads the page in real Chrome, desktop view, unthrottled, from a location you choose, and reports what it observed.
PageSpeed Insights tests an emulated mobile phone with throttled CPU and network, applies Lighthouse's simulated throttling (Lantern), and lets you pick no location.
It also shows CrUX field data from real users.
GTmetrix's own advice is not to compare the two directly. Use PageSpeed Insights for what Google sees on mobile. Use GTmetrix for the waterfall, the filmstrip and location testing.
What to fix first
- TTFB above 800 ms. Google calls that "needs improvement". Add page caching, then look at the server.
- LCP above 2.5 seconds. Find the LCP element in the Structure tab, then shrink, preload or resize it.
- TBT above 200 ms. Defer or remove JavaScript that is not needed for the first screen.
- CLS above 0.1. Set width and height on images, videos and ad slots.
- Structure audits, in the order GTmetrix lists them. They are ranked by impact.
Retest from the same location after each change. One fix at a time tells you what worked.