seo: 9 ways to improve server response time of your website
The most important factor in Search Engine Optimization (SEO) is the overall page loading time. If you have a fast loading page, then you might be able to get away with a lot of other issues. As you might already know, most of the SEO optimizations are geared towards making the webpage load faster.
One of the performance bottleneck could be right at the source: the web server. You can measure the performance of the server by using the metric called Server Response Time.
Many search engines, especially Google computes the server response time for web pages to identify fast serving sites. The server response time is defined as the time it takes the server to serve the necessary HTML code from the server for the client or web browser to start rendering the page. This does not take into consideration the secondary files, such as images and audio/video files that are usually downloaded in parallel using the same or another server connection.
There is really no hard and fast rule on how fast is fast enough. There are several factors that influence the speed of the server, some of which might be outside your control depending on where your website is hosted. The first step in improving the response time is to understand why it is slow in the first place.
Let's look at some of the common issues that could slow down the web server. Some of the probable causes can be inter-connected which means you will need to tackle multiple issues to see an improvement. We will look at these issues assuming that you are using a Content Management System (CMS) to host to your website.
- Application/Business Logic: The logic that generates the web pages is usually slow to execute. This is especially true if you have a dynamic website. Try to find parts of the code that takes too long to execute and optimize them to reduce the response time. On CMS such as Wordpress or Blogger, plugin logic could play into this as well.
- Database Queries: Most dynamic websites do have some database queries that fetches content to generate webpages. Even a blog hosted with a CMS such WordPress executes back-end queries to a database to create webpages. You should optimize your database queries and also make sure that the database connections are fast and reliable.
- Third-party Frameworks and Libraries: Most modern day websites are created using many different frameworks and libraries. These could be third-party JavaScript libraries such as JQuery, Dojo, Node.js etc. Depending on the web technologies used for website, you could have other Java, PHP, or Perl libraries such as Spring, Struts, Stripe etc….and there are a whole lot more. Most popular ones are pretty efficient and fast, but they still do take time to execute so optimizing their usage is a good thing. A poorly designed and developed library could significantly affect the server performance.
- Content Management System: Most of the websites including blogs are hosted using some kind of back-end Content Management System (CMS) such as WordPress, Joomla, Drupal, Apache Roller etc. You should not only choose a CMS that works best for you and also provide it with enough hardware resources to ensure that it is running optimally. The choice of CMS will have an impact on how fast the server responds to queries and web requests.
- Plugins and Third-party Features: Most CMS comes with a whole of independently developed plugins or extensions that can be installed to enhance and implement additional features to your website. Using a whole lot of these plugins can severely impact performance of the website. In order to improve the server response time, use a minimal number of plugins. Also, poorly designed and implemented plugins should be avoided at all costs.
- Under-powered CPU: Websites that do not get a lot of traffic are usually hosted on cheaper plans where resources are shared. This works most of the time, but fails to scale when your traffic goes up occasionally. Your site could also starve for CPU resources when one of the other shared sites on the server experience a surge in traffic.
- Low Memory: As with the CPU, the memory is another hardware resource that is essential for a good response time. If your resources are shared then it could also affect the server response time. Even if you have dedicated server, it is important to ensure that you have enough memory to cater to traffic surges without compromising on response time.
- Host Provider/Service: The hosting provider and the service plan you choose to host your website probably has the most impact on the server response time. Different providers have different set of hardware and network connections which can impact server times. As alluded previously, it also matters if you have a shared server or a dedicated server. The actual hardware used as servers by the provider could also matter. Sometimes, switching to a different provider will be your only option.
- Other Peripheral Hardware (Routers/Switches etc.): In addition to the actual machine hardware, other hardware used by the provider for networking can also have an impact on how fast the web pages are loaded.
As I mentioned earlier, there is really no hard and fast rule as to how fast a server should be. It should be as fast as it can be given your constraints….such as expected traffic, revenue and budget for server maintenance etc. Different search engines, sites and experts specify different times as an acceptable value. What you should try to avoid is a server that is too slow. I would say that if you find your server response times to be more than 1 second consistently, then it is too high.
Google has implied in the past that the server response time should ideally be less 200 milliseconds. In my experience, it is really hard to get it down to something that low. I have static websites served by Google App Engine and Amazon Cloud which routinely clock in at around 400 milli-secs. So, your mileage will vary…