Measuring website speed and reading the results

A website speed test is not just a number; correctly interpreting the result, understanding the difference between lab and field data, and prioritizing fixes is the key to truly improving user experience.

8 min Updated 21 Oct 2026

Why Does Your Website Speed Test Mislead You?

If you have ever seen the result of your website speed test in tools like PageSpeed Insights or GTmetrix, you have probably encountered this scenario: an excellent score in the lab, but real users still complain about the site being slow. Or the opposite: a low score in the testing tool, while the site appears fast in your browser. This contradiction stems from the fundamental difference between Lab Data and Field Data.

In this article, you will learn how to read your website speed test results, which numbers truly matter, and most importantly, how to prioritize fixes based on real data rather than guesswork. This guide is written for developers, technical managers, and site owners who want to improve actual speed instead of chasing meaningless scores.

Lab Data vs. Field Data: Two Different Worlds

Website speed testing tools usually provide two types of output. Understanding the difference between the two is half the path to correctly interpreting the result.

What is Lab Data?

Lab data is the result of running a test in a controlled environment. Tools like Lighthouse (used in PageSpeed Insights) load your site from a specific server, with a specific browser (usually headless Chrome), and a simulated network connection (e.g., Slow 4G). These tests:

  • Run from a fixed geographic location (usually the US or Europe).
  • Clear the browser cache and ignore cookies.
  • Report the result as a score from 0 to 100 and specific metrics (such as LCP and TBT).

The advantage of this method is repeatability and comparability. But its major drawback is its relative irrelevance to your real users' experience; a user in Tehran, opening your site on an Android phone with a 4G connection from Hamrah-e Aval, will never experience lab conditions.

What is Field Data or CrUX?

Field data is collected from real users' browsers. Google publishes this data through the Chrome User Experience Report (CrUX) for sites with sufficient traffic (roughly a few thousand visits per month). This data includes real metrics such as LCP, INP (the successor to FID), and CLS, derived from actual user interactions with your site.

Important note: CrUX shows data from the past 28 days and is reported as a percentage (P75). That means if your site's LCP in CrUX is 3.2 seconds, then 75% of your real users had an LCP of less than 3.2 seconds.

Quick Comparison

FeatureLab DataField Data
SourceSimulated testReal users' browsers
Geographic locationFixed (usually outside Iran)Actual location of your users
Network conditionsSimulated (e.g., 4G)Real carrier networks
RepeatabilityHighLow (depends on traffic)
Primary useFinding technical issuesMeasuring real experience

Key Metrics in Website Speed Test Results

When you open your website speed test results, you are faced with a flood of numbers. But only a few metrics truly matter and deserve your focus. These metrics are the Core Web Vitals, which Google considers the primary measure of user experience.

LCP (Largest Contentful Paint)

The loading time of the largest content element (usually the main image, video, or large text) within the viewport. This metric shows how long a user must wait to see the "most useful" part of the page. Desired threshold: less than 2.5 seconds.

INP (Interaction to Next Paint)

This metric replaces FID and measures the page's responsiveness to user interactions (click, touch, typing). INP calculates the time from the first interaction to the display of the next frame. Desired threshold: less than 200 milliseconds.

CLS (Cumulative Layout Shift)

The amount of unexpected movement of page elements during loading. If text gets pushed down when images load, CLS increases. Desired threshold: less than 0.1.

TBT (Total Blocking Time) — Lab Only

The total time during which the main thread is blocked during loading and cannot respond to user input. This metric only exists in lab data and helps predict INP. Desired threshold: less than 200 milliseconds.

Common Scenario: Good Lab Score, Bad Real Experience

Suppose your site scores 95 for mobile on PageSpeed Insights. The lab LCP is 1.8 seconds. But CrUX shows the real LCP is 4.5 seconds. Why this huge discrepancy?

The main reasons for this gap include:

  1. Test server geographic location: Google's tool tests from the US. If your server is in Iran, the physical distance and international internet routing increase round-trip time (RTT). An Iranian user connected to a server in Iran will have a better LCP than the lab test suggests.
  2. Real network conditions: The lab test uses simulated 4G, but real users might be on 3G or a network with severe fluctuations.
  3. Device hardware: Mid-range and low-end phones, which make up a large portion of Iranian users, have less processing power, and JavaScript execution is slower on them.
  4. Cache and CDN: Real users may have browser cache or a CDN enabled, which is not simulated in the lab test.

Real Example of Result Interpretation

Suppose your website speed test result shows these numbers:

LCP (Lab): 2.1s
LCP (CrUX - P75): 4.8s
INP (CrUX - P75): 350ms
CLS (CrUX - P75): 0.05

The correct interpretation is that your main problem lies in network and content delivery, not in front-end code. Because CLS is excellent and INP is relatively acceptable, but the real LCP is twice the acceptable limit. The first priority should be reducing the download time of critical resources, not optimizing JavaScript.

Prioritizing Fixes Based on Real Data

After interpreting your website speed test results, it's time to take action. But you shouldn't try to solve all problems at once. Prioritization is done based on impact on field data.

Step One: Check CrUX and Identify the Critical Metric

Go to PageSpeed Insights and check the "Field Data" section. If CrUX has no data (low-traffic site), use tools like Search Console (Core Web Vitals report). The metric that is in a "Poor" state is your first priority.

Step Two: Fix Network and Content Delivery Issues

If LCP is the main problem, take these actions in order:

  • Enable CDN: If your site has geographically dispersed users, a CDN can drastically reduce the delivery time of static resources. Consider services like Cloudflare or domestic Iranian CDNs.
  • Optimize images: Use WebP or AVIF formats, compress with tools like Squoosh, and use srcset for different sizes.
  • Preload critical resources: Use the <link rel="preload"> directive to guide the browser to download the main font or image earlier.
  • Check server and hosting: If your server is in Iran and you have international users (or vice versa), you may need to change server location or use a hosting service with better infrastructure. ServerNet, as a provider of web hosting services and cloud infrastructure, offers options to improve server response time.

Step Three: Optimize JavaScript and CSS

If INP or TBT is the main problem, take these actions:

  • Remove unnecessary JavaScript: Use the Coverage tool in DevTools to find unused code.
  • Defer and Async: Load non-critical scripts with defer so they execute after HTML parsing.
  • Code Splitting: Use dynamic imports in JavaScript to load only the code needed for each page.
  • Reduce main thread work: Move heavy operations to Web Workers.

Step Four: Fix CLS Issues

If CLS is high, the problem usually stems from:

  • Images and videos without specified dimensions (width and height).
  • Insertion of dynamic content (such as ads) after initial load.
  • Fonts that load with delay and cause text shifting (use font-display: swap).

Common Mistakes in Interpreting Website Speed Test Results

In this section, we review the most common mistakes seen when analyzing website speed test results.

Mistake 1: Chasing a Score of 100 in PageSpeed Insights

A score of 100 in Lighthouse does not mean "the fastest possible site." This score merely indicates that your site is optimized under specific lab conditions. Many very fast sites have a score of 80 because certain optimizations (like removing specific libraries) conflict with business needs. Don't aim for a score above 90; focus on CrUX metrics.

Mistake 2: Ignoring Geographic Differences

If your site's audience is Iranian, a test result from a US server is almost irrelevant. Always use tools that allow you to select the test server location (like GTmetrix with Tehran or Dubai as the location). Also, don't overlook CrUX, which shows real data from Iranian users.

Mistake 3: Optimizing for One Metric at the Expense of Another

A classic example: completely removing JavaScript might improve LCP but harm user interactions (INP). Or over-compressing images worsens CLS if you don't specify dimensions. Always re-check the entire set of Core Web Vitals after any change.

Mistake 4: Testing Only Once

Website speed test results fluctuate significantly. A single test can be affected by network traffic, server status, or even the time of day. Repeat the test at least 5 times and use the median of the results as your baseline. For field data, always check the 28-day CrUX window, not a single day.

Recommended Tools for Testing and Monitoring

To ensure your interpretation of website speed test results is accurate, use a combination of the following tools:

  • PageSpeed Insights: To view both lab and field data simultaneously (if CrUX is available).
  • GTmetrix: For testing from different geographic locations and analyzing the request waterfall.
  • WebPageTest: For advanced testing with simulation of specific devices and various connections.
  • Search Console: For continuous monitoring of Core Web Vitals at the domain level.
  • RUM (Real User Monitoring) tools: Such as Cloudflare Web Analytics or a custom script that collects real user data.

Conclusion: From Numbers to Action

A website speed test is a starting point, not the destination. Treat the result as a "diagnosis," not a "final judgment." Always prioritize field data (CrUX) over lab data, unless your site doesn't have enough traffic for CrUX (in which case, use RUM tools).

Determine the priority of fixes based on the metric that is in a critical state. If LCP is bad, focus on network and images. If INP is bad, optimize JavaScript. And if CLS is bad, specify element dimensions. After each change, wait at least a week for new field data to accumulate, then re-interpret.

Remember: speed is not a one-time project but an ongoing process. With regular monitoring and correct interpretation, you can build a fast and enjoyable experience for your users, regardless of what lab tools score you.

Was this page helpful?