Table of Contents

General Site Speed
Analysis Errors

Frequently Asked Questions

Here are some common questions regarding site speed issues and GTmetrix usage.

General Site Speed FAQ

1. Why should I be concerned with my site's speed?

Your users' experience in terms of navigating your site should be a great reason. Users have many options when it comes to consuming content on the internet, and a slow performing website will frustrate your users, sending them elsewhere. A faster and more responsive website will keep them more engaged and focused on your content, rather than waiting for scripts and images to load.

Another reason is for SEO. Google has announced they are using page speed in their ranking algorithm.

This means that faster performing sites may rank higher in search engine results. As developers and marketers look to optimize their sites, page speed should be among the top optimizations to consider.

2. My site loads pretty fast... why should I change it?

It's all about efficiency and optimization. Your site may be loading fast, but it could be faster if you take some of the best practices into consideration. You even might be able to reduce bandwidth and hosting costs by minimizing your footprint.

3. Now that I have my scores; What do I do now?

Start optimizing your site! GTmetrix provides explanations for each recommendation, and gives you actionable advice. The recommendations in the table you see are ordered in terms of which have the most impact on your site. Fixing items at the top of your list can have a bigger impact on your overall score.

Make sure you fully understand the recommendations before you begin though. Though many of them are applicable to your site, some are not. The recommendations are meant to be generic, best practices - you don't need to fix everything.

Need help? GTmetrix's developer,, can handle all of your speed optimization requirements.

Feel free to contact us if you have any questions.

4. My server code is optimized. Is this enough?

It's a start - but the code that really needs to be optimized is the user facing code. Front end optimization (of CSS, JavaScript, images, HTML, etc) is what's going to make the most impact on your users. Often we only concentrate on server side optimizations, making the code as efficient as possible there; but we forget that we can get an even bigger speed increase if we optimize the front end code as well.

5. Why are my PageSpeed and YSlow scores different?

PageSpeed and YSlow use different recommendations when analyzing URLs. Each service analyzes a page using a set of rules that they believe are most relevant to page speed and performance. Most of the rules overlap or are very similar to each other, but in general your scores should be comparable.

Visit our Recommendations page for a list of each service's best practices.

6. I have a _______ type of site. Why is it asking me to do X?

The post-analysis recommendations are not always relevant to your site (EG. You do not need a CDN if you're running a small website or blog). This is why it's important to truly understand the recommendations and how they can affect your site. Not everything will apply to your site.

Visit our Recommendations page to learn more about each recommendation.

7. I don't have control over X, why is it asking me to fix it?

Most sites include code for services like ads, analytics or other widgets. These bits of code may fetch JavaScript or CSS from other sources. Of course, since you have no control over these resources, there's nothing you can (or need to) do.

8. Do I have to fix everything?

No, not at all! Start with the recommendations at the top. The report organizes recommendations in order of what has the most impact on your score.

Realize that 100% is not realistic, and a green score generally means your site is speed optimized. Remember that these tools are meant to be used for a wide variety of site types, and so some recommendations may not apply to your site.

9. How much of an impact will doing this have on my search engine ranking?

In general, there is no definitive answer one way or the other. Google has indicated they want a faster web, and to be able to "flip through sites" visually (like a magazine), which requires sites rendering fast and caching well. Google has also stated:

"While site speed is a new signal, it doesn't carry as much weight as the relevance of a page."

But don't do it for SEO, do it for your users!

10. My PageSpeed Insights scores are different from my GTmetrix scores; Why is that?

To answer this question, we need to clarify the background of PageSpeed in general.

PageSpeed Insights SDK is the open source library that was used with the Chrome/Firefox browser extensions and shared code with mod_pagespeed. This library was the basis of the PageSpeed scores you see on GTmetrix reports and the PageSpeed Insights online tool.

Unfortunately, it's been a long time since Google updated the PageSpeed Insights SDK; mod_pagespeed doesn't use it directly, and PageSpeed Insights (online version) maintains its own non-open sourced version of it for use in their service.

Essentially, the PageSpeed versions in GTmetrix and PageSpeed Insights (online version) share the same base code, but have different recommendations and algorithms because the PageSpeed version we have access to is older. This is the reason why a URL will get differing scores from each service.

There are also rule/recommendation differences from GTmetrix and PageSpeed Insights; Why is that?

Along with scoring algorithm changes, Google has also simplified things by removing rules in their PageSpeed Insights online tool. We at GTmetrix however, feel that some of those rules are still important to consider when it comes to your website performance. This is why you'll see differing rules from each service. Read more from our changes to the recommendations.

GTmetrix FAQ

1. Why won't GTmetrix analyze my URL?

Check to see if your URL is in the proper format (eg. Another reason may be that the URL you entered requires you to be logged in first, and or it is being redirected to another URL.

Some URLs might not work for any number of reasons. For example, sites that are all flash will not yield a proper score; this is a limitation in YSlow & PageSpeed, which do not take flash components into consideration when scoring. Here are the errors that might prevent your URL from being analyzed:

  • Invalid URL
  • Didn't return a 200/300 status response
  • Didn't return an html page
  • Internal Server Error
  • Unable to analyze with PageSpeed
  • Unable to analyze with YSlow
  • Unable to get screen capture
  • Timed out

If you have a URL that won't analyze that you believe should, please contact us and let us know.

2. Why would I want to monitor my URL and how can I do it?

Monitoring your URL allows you to keep track of performance over time and see any changes when they occur. Combined with our monitored alerts, you can know when your website is performing poorly right away, and take steps to correct it.

Once you've analyzed a URL, you'll arrive at its report page. Click on "Monitor" on the right hand side to open the menu where there's a dropdown that allows for different monitoring schedules. Choose your desired schedule and save your settings.

GTmetrix will now monitor the specified URL.

3. How many URLs can I monitor?

We're experimenting with the scalability of GTmetrix, so at the moment you can only monitor 3 URLs. Upgrading to GTmetrix PRO can allow you to monitor more URLs.

4. How do I save reports and how many reports can I save?

To save a report: On a report page, click on "Page Settings" , Check "Save this page", "Save Settings". You must be logged in to save reports.

At the moment you can only save 20 reports on a GTmetrix Basic account. If you need to save more than 20 reports, you can always upgrade to a GTmetrix PRO account.

5. What's the difference between a URL being "Saved" and a URL being "Monitored"?

Saving a URL means that the report and its history is kept from being purged after 30 days. This is great if you want to do a before and after comparison when your optimizations are complete and keep track of the performance over time.

Monitoring a URL means that you have GTmetrix running scheduled reports (daily, weekly, monthly) on the speed performance of your site. This works well for developers who are doing ongoing upgrades and optimizations. A monitored page is also kept from being purged after 30 days. By upgrading to GTmetrix PRO you can increase your monitored URLs cap, along with being able to monitor URLs every hour.

6. Are there any privacy settings?

Yes - If you don't want anybody to see a particular report for your URL, click on "Page Settings" on the right hand side. Under the "Privacy" heading you can choose whether or not to make the report private, or allow anybody to see it.

Keep in mind that though a private report is protected from public view, anybody can create a report for any URL. If you can load the URL in your browser, you can analyze it in GTmetrix.

7. My graphs don't seem to be changing. Why?

A good reason could be that there haven't been major changes or optimizations done to that URL. GTmetrix tracks the speed performance of URLs, but unless any development or improvements have been done, the graphs will keep a straight line.

Monitoring is good for developers who are doing ongoing testing or optimizations for their site and want to track it over time.

8. What is the GTmetrix Bookmarklet and how do I use it?

Test with GTmetrix

The GTmetrix bookmarklet is a snippet of JavaScript tool that allows you to analyze the performance of the current page with a single click.

Firefox, Safari, Chrome users: Drag the button onto your bookmarks toolbar and click on it when you're at a site you want to analyze.

Internet Explorer users: Right click on the button and click "Add to Favourites". GTmetrix's bookmarklet contains JavaScript, so you will receive a security warning; click "Yes" to continue.

For easier access, move your bookmarklet to the IE Favourites Toolbar and click on it when you're at a site you want to analyze.

9. How do I compare URLs?

After having generated a report for a URL, click "Compare" in the top right. An menu will appear where you can enter the URL you wish to compare with the report. You will then be taken to the Compare screen with the comparison results.

If you would like to compare more URLs, click the "Add another URL" button - you are able to add up to 4 different URLs.

Note: The report from which you clicked "Compare" will be the base report. All additional reports will be compared against this report.

10. When I compare URLs, what are the + or - percentages in the YSlow/PageSpeed grades?

The percentages represent the difference from the base report you've generated. The report from which you clicked "Compare" will be the base report. All additional reports will be compared against this report.

This is especially useful for comparing the same URLs after speed optimizations, since you can see how each compare to a base or starting point.

11. Can I compare an existing report with another report?

Yes! View the report that you want to be the base, and copy the URL of the report you want to compare it to. Click "Compare" and paste the URL. GTmetrix will recognize the URL structure and pull the report data for comparison.

12. What do the arrows on the right of my YSlow/PageSpeed scores, page details and rules mean?

These arrows indicate your performance relative to the other sites that GTmetrix has analyzed in the past 30 days.

  • The green arrow pointing up indicates that your result is better than average.
  • The red arrow pointing down indicates that your result is worse than the average.
  • The orange diamond icon indicates that your result is within +/- 5% of the average.

This is useful because you can see which attributes of your site might require more attention than others.

In particular, you can determine which PageSpeed/YSlow recommendations make sense for you to tackle. For example, if you scored an F (0) for YSlow's "Use a Content Delivery Network (CDN)" rule, you can rest assured knowing that thousands of other sites have the roughly same score; Don't worry about it if you're running a smaller site, and don't want to pay/can't afford a CDN.

13. How do I read the Waterfall Charts?

GTmetrix's waterfall chart is generated using Honza's HTTP Archive Viewer, which closely resembles what you would see in the Net panel of the Firebug extension.

Reading and understanding a waterfall chart is a bit more involved than what we can get into here, so here are a few links that can get you started:

14. I have a page that requires HTTP Authentication. Can GTmetrix analyze it?

Yes! Log into your GTmetrix account and under the URL field there will be an "Analysis Options" button.

Enter in the credentials and click "Analyze". GTmetrix will pass in the credentials and analyze the page.

You can also enter the username and password using the syntax, but usernames or passwords containing @, :, or / must be URI encoded.

The login details will not be displayed in the report (and will also be stripped from the HAR file), but will be saved for future use - you will be able to re-analyze the page without entering the login details.

Note: this feature only works for HTTP Authenticated webpages (eg, pages protected using an .htpasswd file) - this is different from a cookie based session (see the next FAQ item for more details).

15. How can I analyze a page that requires a login?

Session cookies can be entered to allow GTmetrix to analyze pages which use cookies to store your login state. This will also work for sites that use cookies to save other user information like user preferences.

To do this, login to your GTmetrix account, go to the "Analysis Options" dropdown and enter the cookie session information, enter the associated URL and click "Analyze".

GTmetrix will analyze the page and send the supplied cookies with the request.

Cookie information should be entered as follows (one per line):

cookie option(s) cookie(s)

cookie option(s) = zero or more cookie options (format: name=value [values should be URL encoded]), separated with spaces. Available cookie options: host, path, httponly. If no host or path is supplied, the cookie will default to using the analyzed URL's domain for host and / for path.
cookie(s) = one or more cookies (format: name=value) separated with semi-colons.


A single cookie:

Allow cookie to be used on sub-domains: metrix_session=QadlvUk3h

More than one cookie (with the same options): metrix_session=QadlvUk3h; username=gtmetrix

Same as the previous, but on multiple lines: metrix_session=QadlvUk3h username=gtmetrix

Please use a test account. While cookie information is stripped from the report, it's still best to use a test account for security purposes. To avoid having to update the cookie information every time, we recommend using a cookie from a permanent session.

If you'd like any more information on cookies, please feel free to ask us a question!

16. How can I get my session cookies?

First visit the site on your own computer. Log in, or do whatever you need to make the site generate the cookie(s). If you wish to monitor this page, make sure you log in with a permanent session. Depending on your browser, do one of the following to view the cookies:

Firefox users: Click the "Hamburger" menu button, then "Preferences", "Privacy", then "remove individual cookies".

Chrome users: Click the "Three Stacked Dots" menu button, then "Settings", "Show advanced settings...", "Content Settings...", then "All cookies and site data...".

Internet Explorer users: Unfortunately, viewing cookies in IE can be difficult; we recommend downloading a program like IECookiesView to view cookies.

Using the cookie viewer's search filter, search for the domain of the site. Click on the cookies you wish GTmetrix to send with the request. If you're not sure which ones, there's no harm in sending them all. Using the format outlined in the previous question, enter the cookies into the GTmetrix Cookies option text area.

17. How can I see the impact ads have on my site?

Log into your GTmetrix account and under the URL field there will be an "Analysis Options" button.

Tick the "Adblock Plus" option. Your URL will be scanned with the ads blocked. You can also enable this option in the "Page Settings" button on the Report page sidebar.

Blocking ads is helpful if you want to see the impact the ads are having on your page load times.

For example, here is a comparison of Smashing Magazine's homepage with and without ads blocked:

Currently, GTmetrix only offers the ability to enable and disable the usage of Adblock Plus. The Easylist English filter subscription is used as the default filter set.

18. How can I test a site from a different location?

GTmetrix has numerous test servers located worldwide which you are able to use for testing your site's speed. You can specify which test server to use by selecting a test server in the "Analysis Options" button, on the dashboard page.

19. How can I test my mobile performance?

GTmetrix offers page analysis through an actual Android device (Galaxy Nexus). On your Dashboard, click "Analysis Options" and select "Chrome (Android, Galaxy Nexus)" in the Test Format setting. If you wish to re-test from a Report page, click on "Page Settings" and change your Test Format settings there. Re-test!

20. How is the mobile analysis performed?

GTmetrix sends a request directly to our suite of mobile devices and requests your URL via a WiFi connection. We use Chrome to load the page and send the data back to GTmetrix for report generations. The ruleset used is slightly changed - we use Google's PageSpeed rules with prioritization for mobile devices. This results in a very accurate representation of your mobile page load performance.

21. What are the devices and versions you use for your mobile tests?

Currently, we use Chrome v1.4.3 and Android 4.2 Jellybean on a Samsung Galaxy Nexus.

22. Do you use a different ruleset for PageSpeed/YSlow for mobile analyses?

Yes we do! We use Google's PageSpeed rules with their prioritization for mobile devices. This ensures that characteristics of mobile devices and their connections are considered first in the recommendations. Google changes these rules often however and some are experimental at the moment.

YSlow does not have a specific ruleset for mobile devices, so your score will remain similar to the desktop analysis.

23. How can the filmstrip help me?

Basically, the filmstrip is another way to visualize your site load. By offering snapshots of the page loading in real time, you can figure out where any issues or blocks occur.

This is especially useful in Comparison mode (coming soon), where you can assess site load progressions side-by-side and note differences.

24. What can connection throttling tell me?

By simulating a particular connection speed, you can identify any potential loading issues for your target audiences. For example, if a large percentage of your users are coming through mobile devices, it would be good to see how your site performs under a 3G/2G connection to ensure a speedy load time for that user base.

25. How does GTmetrix throttle connections?

GTmetrix utilizes specially customized software to simulate any kind of connection. We do this by putting limits on our fibre connection's download speed, upload speed and latency. We throttle both IPv4 and IPv6 traffic when analyzing your page to ensure that report data is accurate.

26. Why isn't my CDN being recognized?

YSlow's default list of CDNs that it detects are limited to CDNs that Yahoo! uses. We've added detection for a few of the more popular CDNs, but it still may not detect your CDN by default.

For CloudFlare users, YSlow should automatically detect the CDN usage if it's set up correctly and you've given it enough time for the DNS to propagate (typically takes up to 2 days).

If YSlow isn't detecting your CDN, then you can add your own CDN hostnames so that they aren't penalized by the CDN recommendation. Visit your User Settings page and then input your CDN hostnames under the "YSlow CDN Hostnames" field. GTmetrix should then recognize your CDNs in your future tests.

27. How does PageSpeed optimize my images?

Depending on the filetype, PageSpeed will either attempt to optimize the images on your page with libjpeg-turbo or OptiPNG.

28. How do I use the Resource Usage Graph?

The Resource Usage Graph is meant to be a companion to the Waterfall Chart. When used together, it can provide more insight on breaks in the Waterfall Chart, long download times of elements and other potential issues.

It is not meant to be a stand-alone metric, and there is no "score" related to it; rather it gives a view of what the browser is going through while loading your website.

29. What does the CPU Usage Graph mean?

This graph indicates the level of processing resources needed by the browser to render your page at any given point. Websites with complex layouts, high interactivity, and demanding extensions (e.g. Flash) are more demanding on a computer, resulting in a higher CPU utilization. In addition, inefficiently written scripts (e.g. JavaScript) might cause stalls in page loads. There might be cases where the CPU utilization is pegged at 100%, meaning the browser is trying its best to process a script - and in doing so, blocks other page elements from being loaded or rendered (look for gaps in the Waterfall Chart).

30. What does the Memory Usage Graph mean?

Similar to the CPU usage graph, the memory usage graph shows the amount of memory required by your browser to render the page. It also can be used to get a heads up on inefficient or buggy code (e.g. memory leaks) and can give you a starting point on where to look if your website is performing slowly.

31. What does the Bandwidth Usage Graph mean?

This graph shows you how much data your site transfers when it is requested. Use it together with our throttling feature in order to better understand how your page loads on slower connection speeds, like 3G connection or DSL connection. If your site maxes out bandwidth on desired connections types, you may see long bars in your Waterfall Chart.

32. Why can't I see my Resource Usage Graphs?

There are a number of reasons why the Resource Usage Graph may be unavailable to you:

  • It is an old GTmetrix report (generated before the release of Resource Usage Graphs).
  • The browser option selected to test the URL doesn't generate Resource Usage data (e.g. Chrome - Android/mobile).
  • The page loaded too quickly for any data to be collected (<100ms).

33. In Alerts, what happened to HTML Download Time?

With the release of perfomance timings, we dropped HTML Download Time in favour of Time to First Byte (TTFB). TTFB is a more relevant metric when it comes to page performance; any alerts using HTML Download Time will be switched to use TTFB. In most cases this change should have minimal effect since the two timings are typically very close.

34. What is the difference between "duration" and "time"?

A "duration" is a period or how long something took (e.g. X processed for 3 seconds).

Durations: Redirect, Connect, Backend, DOM content loaded, Page loaded

A "time" is the point an event occurred in relation to the start of the test (e.g. X occurred at 2.1 seconds).

Times: Time to first byte (TTFB), First paint, DOM interactive, DOM content loaded, Page loaded, Fully loaded

Note that Page loaded and DOM content loaded have both a time and duration. The duration is how long the JavaScript for that event ran for, while the time is when those events fired.

35. What is the difference between Onload time and Fully loaded time?

  • Onload time - is when the processing of the page is complete and all the resources on the page (images, CSS, etc.) have finished downloading.

    • This used to be the point where GTmetrix would stop the test and mark as the Page Load Time in the GTmetrix report.
    • Issues with using this event: Some elements of the page load may not make it in before this event fires - like JavaScript based image carousels - causing inconsistent page load times and inaccurate screenshots.
    • When should I use Onload time? In general, there's no real definitive case to prefer Onload time (which is why we defaulted to Fully loaded time), though certain specialized cases might call for it.
  • Fully loaded time - is the point after the Onload event fires and there has been no network activity for 2 seconds.

    • Essentially, GTmetrix is now waiting until your page stops transferring data before completing a test, resulting in more consistent page load times
    • The test will be stopped if the page is still loading 30 seconds after Onload
    • Possible issues with using this event: This event fires only when a page completely stops loading content, including ads and below the fold elements. Your site might have loaded fast above the fold and be usable, however since the analysis is now waiting for the entire site to stop loading data, your reported Page Load Time might be longer.

36. GTmetrix says my site is taking longer to load! (as of Feb 8th, 2017)

We switched over our Page Load Time metric to Fully loaded time on Feb 8th, 2017. Previously, GTmetrix was using Onload time to determine the Page Load Time number.

Here's why this number is larger or "longer" than Onload time:

Previously, GTmetrix used Onload time as the point at which to stop the test. However, due to network variances or the way the page was designed to load (eg. asynchronous loading), resources loaded after the Onload time and not make it into the report. The result is a GTmetrix report with fewer requests for resources, smaller total page size, and as a result, a faster page load time. This was the key reason why some screenshots were incomplete or page sizes and requests were inconsistent.

To make things more consistent, we have switched to using Fully loaded time, which waits for 2 seconds of network inactivity before stopping the test.

37. How do I change the time to stop test?

You can change your time to stop test to Onload time by enabling the "Stop test onload" option in the Analsys Options (log in required) or changing the setting on an existing report in the Page Settings. You can also change your default from the User Settings page.

However, we do recommend sticking with using Fully loaded time unless you have a specific use case for it.

38. What is Speed Index / RUM Speed Index?

Speed Index is a page load performance metric that shows you how quickly the page was visibly populated. Essentially, the concept is to analyze the viewport of a browser (ie. above the fold) and assess how fast the content become visible for the user. An algorithm for "visual completeness" over time is used to generate a final Speed Index score, using video analysis to calculate the value.

RUM Speed Index is based on the same concept as Speed Index, but uses JavaScript to estimate paint/render times of elements, looking at when images were loaded. This is different than Speed Index, which normally uses video analysis to calculate the value.

Both Speed Index and RUM Speed Index are dependent on screen resolution, so depending on the size of the viewport, the score will vary (e.g. testing with a mobile browser vs a desktop browser). Currently, GTmetrix analyzes sites with a 1024x768 resolution.

Currently, our RUM Speed Index implementation is in beta. We're collecting and analyzing the data it gives us to see if we can potentially expand on its insights in the future.

Read more about Speed Index here

GTmetrix Analysis Errors

1. Network connectivity errors

There may be a connectivity issue between your server and the GTmetrix test server if you get errors like "Read timeout", "Write failed", "Broken pipe" or "Connection reset by peer".

You can try again later, or try testing from another one of our test locations (requires log in). If it fails from multiple locations, it usually means that it's a problem on your end and your users are experiencing similar issues. Contact your hosting provider to get the issue resolved.

2. Server status errors

GTmetrix only analyzes pages that return a success HTTP status code. If you get this error, your page has returned an error HTTP status code.

The most common reasons for this include:

  • Your web application generating the page is incorrectly returning an error HTTP status code, but is returning page content that does not indicate an error.
  • Your web application is blocking GTmetrix from accessing the page. With WordPress, it could be due to plugins like Bad Behaviour or Wordfence. With e-commerce software, it's common that the access is blocked based on the IP.
  • You are using a reverse proxy (eg. CloudFlare) and it's blocking GTmetrix from accessing the page.

In all these cases, you'll need to fix or configure your web application to return a success HTTP status code or allow GTmetrix access to your page. Your web server's error log may provide insight into why it's returning an error.

3. SSL certificate errors

GTmetrix only analyzes HTTPS sites that have a valid, trusted SSL certificate (ie. not self-signed, non-expired, matching common name).

A common problem with HTTPS sites is that the intermediate/chain certificates aren't installed correctly. If you don't have the intermediate certificates installed properly, some users (including GTmetrix) will get an SSL certificate error while viewing your page. For instructions on how to properly install your SSL certificate and to test your SSL certificate visit SSLShopper.

4. DNS errors

If GTmetrix has problems resolving your site's domain, then you may have DNS configuration issues. You can get a report on your DNS configuration at intoDNS - be sure to look into the items that are marked as red.

However, if your site has recently changed name servers or changed its DNS configuration (eg. moved servers), then the issue might be that your DNS records have been cached. Depending on your configuration, this may take up to 24 hours (at most 48 hours) to propagate. Try re-testing your page at a later time.

5. Your page took too long to load

The maximum time GTmetrix will wait for a page to load (time it takes for the window.onload event to fire) is 2 minutes.

The most common reasons for this error are:

  • An extremely slow loading page or resource or lots of slow loading resources.
  • JavaScript that's preventing the window.onload event from firing.

For slow loading pages or resources, testing from a closer test location (requires log in) may help speed things up.

6. The URL did not appear to be an HTML page

GTmetrix only analyzes HTML pages. To ensure that your page is a HTML page, GTmetrix checks to the Content-Type header for text/html.

You also may get this error if the Content-Type header is missing or the value is empty. The problem is likely an issue with the web application and not the web server.

7. JavaScript redirect or meta refresh

Unfortunately, GTmetrix currently does not handle pages that perform meta refreshes or use JavaScript to redirect the page. However, you can work around this issue by visiting the page in your own browser to find the final redirected URL - this is the URL to use with GTmetrix.

You also may erroneously get this message if your page opens a popup that evades the browser's popup blocker. Unfortunately, there is currently no fix for this other than to ensure that your page does not open the popup (the URL blacklist option may also help work around this issue).