Written by Juan Pedro Catalá
Índice
It is well known that the response time of the server is a determining factor for the positioning of a website in search engines as I have discussed in previous articles. In this article, I am going to analyze the factors of page load speed that affect SEO and how to improve these factors in the WordPress content manager.
How does response time affect positioning?
There is a very good post on the Moz blog in which they do a study on several pages and look at the various values of the pages and how these affect their positioning.
Several conclusions can be drawn from this study. As we can see in graphs 1 and 2, average document load time, full page load time and image weights do not directly affect search engine rankingsThe values that affect the user’s perception the most.
However, there is a relationship between positions with server response time and page size as can be seen in graphs 3 and 4.
From this data, we can conclude that the faster the server sends the corresponding HTML to the browser and the more content our page has, the better it will rank in search engines.
Putting more content on a page is something that almost anyone can do through content management systems, but optimizing server response time requires more advanced technical knowledge, both in terms of programming and server administration.
How to improve the first byte time of a web page
There are several factors that affect the time of the first byte sent from the server, in some of them we can improve but not in others. These are listed below:
Domain resolution by querying the DNS server
It is the request made by the browser to know the IP of the server to which it has to request the web.
The browser will ask the DNS servers that each user has configured in their Internet connection, normally those of their Internet provider (Movistar, Vodafone, Ono…).
As this configuration is set at the level of each user’s computer we cannot optimize anything, it is a factor beyond our control.
Connection of the visitor’s browser to our web server
It is the connection made by the browser to our web server.
At this point, the distance the visitor is from our server comes into play: the further the distance, the higher the latency and therefore the longer it will take for the visitor to receive the response from our server.
Therefore, it is highly recommended to have our server in the same country where the majority of our target audience is located, in order to reduce the distance to be covered by the information sent between the browser and the web server.
Server response time
The server response time is the time it takes for the server to generate the page the visitor has requested.
To generate the page, several operations and queries are usually made to the database. The fewer operations and queries there are and the faster they are executed, the shorter the server response time.
In this regard, you can see an article to optimize database queries that my colleague Ramon has recently written.
WordPress response time optimization
For the not so expert and/or for those who do not have the resources or the strength to optimize the response time of their website, if your content management system is WordPress, you are in luck! There are a large number of cache plugins that will help us to reduce the response time of our server in a few clicks.
In this article I am going to test three of these WordPress cache plugins:
- WP Super Cache
- Quick Cache (Speed Without Compromise)
- W3 Total Cache
These cache plugins save a copy of the HTML generated by WordPress and the next time the same page is requested, the saved HTML is served directly. This saves the cost of processing and database queries and therefore improves response time.
To see the performance improvement that each one represents, we experimented by installing three WordPress with the default configuration on the same server, and measured the times for each of them.
Response times without cache plugin
We take an average of five times of the clean WordPress installation for reference and get the following results.
We obtain an average time for the first byte of 570 ms, broken down into 63 ms of DNS + 72 ms of connection + 434 ms of response time.
WP Super Cache
We install the WP Super Cache plugin, enable the cache with mod_rewrite and the compress option for better performance and get the following results.
As we can see the DNS and connection response time are practically the same as the ones we have obtained without cache, which is logical since they are external factors to the server, however, the server response time has dropped to 129 ms from the 434ms you had obtained without cache plugin. This is an improvement of more than 70% and leaves the first byte time at 267 ms.
Quick Cache (Speed Without Compromise)
We install the Quick Cache plugin, enable the cache and compress option for better performance and get the following results.
As in the previous case, the DNS and connection response time are the same, but the server response time has dropped to 82 ms which is an 81% improvement over the time without the cache plugin. This leaves the first byte time at 219 ms which is almost 18% better than with the WP Super cache plugin.
W3 Total Cache
We install the W3 Total Cache plugin, enable all the cache and the option to minify HTML, CSS and JS for better performance and get the following results.
DNS and connection response time is still maintained, but the server response time has dropped to 79 ms which is an 82% improvement over the time without the cache plugin. This leaves the first byte time at 214 ms which is almost 3% better than with the Quick cache plugin.
Conclusions
As can be seen from the data obtained, using a cache plugin in WordPress means a great improvement in the overall performance of the website, but especially in the response time of the server.
Improving server response time will help Google index more pages in less time and improve the browsing experience of your web visitors.
Of the plugins reviewed, perhaps W3 Total Cache has the most configuration options, but in the end it is best to test which one works best on your server and with your WordPress theme.
Do you use any cache plugin? Let us know how it went!