Accurate assessment of website loading speed with Pingdom tool
Today we are going to take an in-depth look at one of the most popular online site speed testing tools, the Pingdom tool, and how to make better use of this tool. Of course, we mentioned the Pingdom site many times in various SEO training posts, and even briefly described this powerful tool in the article Online Top Tools for Testing Site Speed. With the Pingdom tool you can have a cascading analysis of your website. These analyzes will help you to identify the problems of your website performance and by solving them, you will have a website without any problem of site speed. It can be seen that some of our WordPress users who are not familiar with the information displayed in Pingdom, by manipulating the website, make the loading speed of the website even worse.
Pingdom is a Swedish web-based monitoring and performance management company. One of the things that every webmaster is familiar with is the tool for checking the loading speed of Pingdom website and it can be introduced as one of the most popular tools among WordPress users. Why? The first reason is that it is very easy to use, it does not require a very professional user to use it, and for ordinary WordPress users, it has a simple application that is rarely seen in alternative tools. Sometimes the capabilities of some tools are so low that it leaves no room for talk.
The Pingdom tool lets you test your website from 5 different locations, the list of which is as follows:
- Dallas, Texas, USA
- Melbourne, Australia
- New York City, New York, USA
- San Jose, California, USA
- Stockholm, Sweden
The physical location you choose is very important, because it actually relates to where your website is hosted. However, pay attention to the continuation of the article, we will refer to more details in the following.
Cascade analysis using Pingdom speed test tool
A web page generally consists of several structures such as HTML, SSCSS, JS, images and videos. Each of these sends a request when you want to view a web page. In general, the higher the number of requests for your website, the slower your website will be, but this is not always true. Sometimes, for example, in Lazy Load, as the number of requests increases, you will also see an increase in speed. Below we are going to review all the sections of the Pingdom tool, explain each section related to the overall performance of the website in full, and how to cascade the results.
A brief look at Pingdom
When you enter your WordPress website into Pingdom, Pingdom shows you a degree of performance, load time, total website volume and number of requests. It can be said to have a structure similar to the GTmetrix site. We also mentioned such features. For example, below we reviewed the perfmatters.io website. As you can see in the first test, the website scores 100 out of 100 and loads below 900 milliseconds. As you can see, this website is faster than 96% of the websites tested in this tool.
We did another experiment on this website which resulted in a load of 491 seconds. What happened to the website? This happens when you test a website several times in Pingdom because of a cache in the user’s browser, server and DNS. To better understand this, refer to the cascade analysis section.
Do you want to get better results in Pingdom tests? Depending on the type of website and its configuration, there is no guarantee that you will get a 100 out of 100 performance grade, but by spending several hours optimizing your website, you can start improving your ranking today. In some cases, the user experience may replace what you read, and you may not need to optimize the content in some areas. Never forget the user experience (UX). But rest assured that with the tutorial we give you below, you can learn all the steps to get the website to a result like the one above.
Pingdom Performance Insights
The Insights section of the Pingdom tool is one of the most important and helpful sections in this tool. All information contained in this section is in accordance with Google’s Insights. In general, if you can improve this part of your website, you should see a reduction in your website load time.
Leverage Browser Caching
One of the most common problems people experience when testing a website is Leverage Browser caching. This error is due to an HTTP Cache header problem on your server. To solve this problem, refer to the Leverage Browser Caching tutorial on the SEO teaching website.
Remove Query Strings
Another common issue in tests is Remove Query Strings. CSS and JS files also put links to their versions when loading in the HTML file of the website. For example: domain.com / file.min.css? Ver = 4.5.3. Some servers and proxies do not have the ability to cache these files when they are linked like this. So by removing the version from the links you can improve your website cache system. To solve this problem, you can use the free Query Strings Remover plugin in WordPress to automatically delete versions. Otherwise, to solve this problem, you can refer to the Remove Query Strings tutorial on the SEO teaching website.
Serve static content from a cookieless domain
We have published a comprehensive article on Serve static content from a cookieless domain on the SEO teaching website, which I suggest you read. Webmasters often ignore this error due to new protocols such as HTTP / 2. Adding a new connection will always cost you less than loading the entire structure into one connection. However, we have two ways to solve this problem, one is to use a CDN provider and the other is to add a domain or subdomain to the website.
Parallelize Downloads Across Hostnames
This problem is due to the limitation in HTTP / 1.1 and the simultaneous connection of the browser to the website, which in most servers is 6 connections. This warning appears more on the website of every popular and popular visitor. In the past, the only thing we could do was call Domain Sharding. However, if you are using a CDN service and your CDN service supports HTTP / 2, you can ignore this warning because your downloads are currently split across multiple servers.
Specify a Vary: Accept-Encoding header
We have included a comprehensive article on Specify a Vary: Accept-Encoding header on the SEO teaching website, which, in addition to defining this warning, also addresses it. This error is related to the HTTP header of your website and must be observed in the main server of your website, which sends a requested server to the user’s browser to see if that browser can view the optimized content or not !!!
Specify a cache validator
This warning applies to the HTTP header cache of the website, which must be applied to the validity and time cache of the website’s main server. If the headers are not loaded, the browser will send another request and it will not load until the final header of the website is received, which will increase the loading time of the website. These headers include last-modified, agETag, Cache-Control, and cache expiration. To solve this problem, check the Specify a cache validator article on the SEO teaching website.
The next part of the Pingdom speed test tool is the answer codes. Reply codes or HTTP status codes show you the status of the web page like a short note. Each code indicates the state that the server responds to when the request is sent by the browser. Here are some common codes:
Code 200: “Everything runs smoothly”, this code is displayed when the results are exactly the results expected from the website.
Code 301: “Requested section has been permanently moved”, this code is displayed when the requested page has been permanently moved to another section.
Code 404: “Requested page not found” is one of the most common response codes on the 404 error website. This error means that the requested page does not exist and the server is not aware of the existence of such a page.
Content volume and requests for each content
The next sections we are going to address are the volume of content based on their type as well as the requests based on the type of content. Using each section of this section, you can find out how big each structure of your website is and how many requests are related to a structure.
According to the latest HTTP Archive, we find that 64% of web pages are images. We usually see this in most places. But in the following case, you will notice that this is not always the case. In the following example, about 46% of the structure is assigned to the Other category, most of which are related to Google fonts and awesome fonts. Web fonts are in the other part of the Pingdom test.
To optimize images, I suggest you read the comprehensive article on how to optimize images in WordPress. There are many plugins and ways to optimize your image in that article to make sure your images are optimized. And another way you can use instead of images is to use icon fonts like Awesome fonts instead of images. This use can have a significant effect on the size of your website.
Content volume and domain requests
Content size by domain and Requests by domain is one of the best ways to find structures that load outside of your website.
In the example below you can see that we load the entire structure of our website from CDN. Then there is an HTML file of the website that is loaded from the website itself and an external link is attached to the Google Analytics website. Depending on the type of website, you may want to add various external services to your website, including Facebook, Instagram, Twitter, Telegram, Advertising, and more.
In general, the fewer external requests your website has, the better. Because any external request affects your latency, the browser should check its DNS, delay TLS, and so on. So it is better to shorten the requests as much as possible and load the structures from a physical server or CDN. One of the best examples is the Awesome font. Instead of coming and loading it from an external link, it is better to download it directly and load it from our own server, we covered this very thoroughly in the Reduce DNS lookups error fix article.
And finally, there are cascading charts made of each request, which you can see below. With this chart, you can see all the requests that have slowed down and caused problems in the performance of your website. This is exactly the cascade analysis we talked about earlier. Below is a comprehensive explanation of each of the colors in the cascade chart.
What is DNS? Well, I think we can say it like a phone book. In a network, it is called a domain name server (Domain Name Server) that stores all the information about the website server and the IP server. When you check your website in Pingdom, the website will first quickly start checking your website DNS and create queries for receiving your IP information. This check sometimes takes a long time, and this is called the DNS lookups process.
When you check your website multiple times with Pingdom, ابزار this tool crawls your DNS and no longer needs to check your DNS again because your IP is fixed. This is why you will see an increase in speed when you browse your website several times. As you can see in the image below, we no longer see DNS loading after the second test from the website, and the DNS loading time has changed to 0 milliseconds, which was previously 33 milliseconds. This is one of the cases where some people misinterpret and feel that DNS has not been loaded at all when it is not and DNS has been loaded cached.
There are other reasons why your website may load faster after several tests, one of which is to use CDN. For those users who are not familiar with CDN, it is recommended that you read our article on CDN. When you first browse the website with Pingdom, the data is scanned by the CDN, and then the CDN caches the data just like the DNS, and the second time the speed does not slow down due to the loading of the data within the CDN.
Another way to quickly load a website via DNS is to use the DNS prefetching method. This will load the DNS of your website in the background. You can enable this method by adding a few lines to the Header section of your WordPress theme. Note the following codes:
<!– Prefetch DNS for external assets –>
<link rel=”dns-prefetch” href=”//fonts.googleapis.com”>
<link rel=”dns-prefetch” href=”//www.google-analytics.com”>
<link rel=”dns-prefetch” href=”//cdn.domain.com”>
Or if you are using WordPress version 4.6, you can get help from published resource tricks. Developers using the wp_resource_hints method can load dns-prefetch, preconnect, prefetch or prerender in the WordPress background by adding new domains and links.
Purple status appears when you have used SSL / TLS handshake on your website. When you load a website with the HTTPS protocol, you will find that the website is SSL certified and takes the time to encrypt your information and protect your personal security. In the following test, we use the SSL certificate both on our server and on the CDN. Therefore, time is initially added to the page load time to encrypt your information on the server to prevent data theft.
In the past, if a website used to have an SSL certificate and we had to use the HTTPS protocol to log in, loading that website would be annoying, but now, fortunately, with the introduction of a new generation of protocol called HTTP / 2 protocol, the load time of HTTPS pages is less. . Most browsers currently support the HTTP / 2 protocol, and I think the number of users who do not use the latest version of browsers is small due to the increasing data, so this HTTP / 2 protocol helps to load your website effectively. You should also note that not all hosting and CDN providers support the HTTP / 2 protocol, and you should note that if you need HTTPS, you should look for providers that support the HTTP / 2 protocol. Fortunately, SEO teaching uses reputable servers to design your site, all of which fully support the HTTP / 2 protocol.
Note that the HTTP / 2 protocol has been enabled since Chrome version 49, and the Chrome version that Pingdom uses for testing is 39, so if you use this tool to check the loading speed of your website, you may see full display results. It does not show you the effects of the HTTP / 2 protocol, but rest assured, users will experience considerable speed if they use the Chrome update.
Connection – Content (turquoise)
The connection time in Pingdom is related to the TCP connection or the total time required to establish the TCP connection. You do not need to know much about this, but very simply this part is related to the speed of the user’s connection to your server.
Interrupt – TTFB (yellow)
The waiting time for the user’s browser to access the first byte of your page is also called the TTFB. (You can read very interesting information and tips about TTFB in the TTFB Time Improvement article.) TTFB is a measure of the responsiveness of a server or other network. In general, any time under 200 milliseconds is great for TTFB. If you reach over 800 milliseconds, you should go to your server configuration and update it and fix the problem because there is a 100% problem in configuring the server and this is an unusual result.
What is the best way to reduce TTFB time? One of the best ways to reduce TTFB time is to use a CDN. Below we checked the speed of the website by activating and deactivating the CDN to get the desired result.
TTFB without CDN
We first tested the website without connecting the CDN to the website, and as you can see the TTFB of the website takes 136 milliseconds and the website loads in 1.45 seconds.
TTFB with CDN
Then we connected the CDN and did the test again. You can see that the website load time is 788 seconds and the TTFB time is 37 milliseconds. What is TDFB and CDNs in the article CDN and the reasons for using CDN on the website are fully discussed and I suggest you take a look at this article if you are interested in reducing TTFBs with CDNs.
Of course, in addition to CDN, having a good host is also effective in reducing this time, and it is recommended that in addition to providing a CDN, you also provide a good host that does not have this problem.
Send (orange) and receive (green)
Given the above information, dear ones, I do not think that much explanation is needed to justify the two situations of receiving and sending. In general, the send status means the time required to send a request from the browser to the server. Receive is also the time required for the browser to receive information from the server. Both of these take very little time and do not affect your test much.
Request HTTP Headers
While browsing the cascade chart, you can check each of the table data relative to the HTTP header responses (or HTTP Headers request).
This section contains valuable information. In the example below you will find that the content is optimized by the gzip compression method, the cache is active on the website (HIT means active and Miss means inactive), the content type is html and Unicode is UTF-8 and so on. …
Website configuration information studied
Now that you have thoroughly reviewed my Pingdom cascade analysis article, now is the time to get started and solve your website problems. Most of the time, seeing the tutorials without considering the complete information about the product under study is annoying and is not observed in most sites. Therefore, below the website configuration information, we study this article, and by considering them, you can have a high-speed website.
- Website Study Website (perfmatters.io) is hosted on a server in the United States. The server supports HTTP / 2 protocol, Nginx web server and MariaDB database, all of which together create a high-speed website for the user.
- The web server uses the HHVM virtual machine. The combination of HHVM and PHP7 creates a powerful website for the user.
- The website does not use any kind of plugin, because all the information of the website is cached by the server.
Below you can see all the plugins used in this website, most of which can be downloaded for free from the WordPress repository.
- Free CDN Enabler plugin for CDN activation
- Free CAOS plugin to activate Google Analytics
- Free Disable Embeds plugin to prevent additional HTTP requests
- Free Disable Emojis plugin to prevent creating additional HTTP requests to load emojis
- Free Disqus Conditional Load plugin for lazy loading Comments section
- Imagify plugin for image compression
- Gonzalez Commercial Plugin for Disabling Scripts Website Loading Time
By now, you are more familiar with Pingdom and know what each part means in Pingdom cascade analysis and what to do to solve the problems. In waterfall analysis, it is very important that you know why each part happened and how to solve the problem.
If you encounter a new point in Pingdom or have a suggestion for providing comprehensive articles related to different sections of SEO and optimization, let us know through the comments section. You can also use the GTmetrix tool instead of using this site, we have put the complete GTmetrix tutorial on the SEO teaching site, and you can also download the comprehensive tutorial video to increase the site’s speed.