RankActive Blog

Site speed and performance as a ranking factor

11 August 2016 Kamila Zakrevskaya 1 Comment Uncategorized

The loading speed of a website has been considered as a ranking factor for a long time. In 2010 Google said that it would pay the closest attention to how fast pages load. Since that time there is a great need to create a very fast website.

Site speed and performance as a ranking factor
When you do everything to make loading speed less you get not only the loyalty of the search engines, but also improve users experience. The last thing is one of the important parameters for SEO and site building as well.

John Mueller said great words on this topic:

“So I guess there are two aspects here when you look at server speed. On the one hand, there’s the kind of perceived speed in the browser, in the time it takes to render a page, and that is something that is definitely a ranking factor, it’s probably not the biggest ranking factor. And usually, we try to differentiate between sites that are really slow and sites that are kind of normal. So just optimizing on a millisecond basis is not going to affect anything in the search results.

But obviously, the faster you make the site, the more people are going to stay on your site, the more they are going to do on your site, the more they tend to recommend it to other people, so indirectly it is a factor.

The other part of server speed is more in regards to crawling, so how quickly we can crawl pages from your website, and that’s not directly a ranking factor, but it does affect how quickly we can pick up new and changed content on your site.

So for example, if you are a news site and we can’t crawl the website quick enough, we might miss out on some of the news articles you put out, that could be something where you’d lose visibility compared to competitors who we can crawl a little bit faster. So that’s kind of something to keep in mind there.

On the other hand, if this is a static site that is going to remain the same for maybe a couple of years, it’s more informational site where the content will remain the same, but even if we can’t crawl it that quickly, that’s not going to affect anything in search because we aren’t going to miss any of the things you put out there.”

It means that if a website loads slowly – it is bad. And the slower its loading speed the worse it is for all the KPIs. If some of your website pages load too long Google won’t be able to index them properly. The fact that loading speed has the straight influence on the user experience is doubtless. How many time did you leave any website which pages load slowly? It’s like a domino effect – one thing causes another. Slow loading speed will lead to bad user experience, in its turn, it will influence conversions and such indicators like Bounce rate, page views amount and time spent on a website. All these factors may cause bad rankings.

The productivity of a website itself isn’t so closely linked with its ranking. Nevertheless, if it is bad it will have a great impact on a website work, it will be hard or even impossible for a visitor to use it. And this fact will cause drops in rankings. Productivity shows how a website is able to work “under the pressure”. For example, if 100K of users can access the website at once, download files, buy products, send messages and all these actions don’t have an affect on the speed of its work, it means that this website has good productivity.

These two terms – productivity and speed – correlate to each other. As usual, when you improve the loading speed of a website pages, you will also improve its productivity.

How to solve low-speed problem and bad pages productivity

1Gzip compression. When the files are compressed from the server side, their size is 5 times less while transferring.

2Minimizing JavaScript and CSS files. Minimization includes the deletion of the whitespaces, hard line breaks, tabulation and comments. It will help to minimize the size of the transferred files. Furthermore, you can decrease the amount of the files themselves by combining them all into the single one.

3Optimize images. Different types of images require the usage of the certain format:

  • GIF – is perfect for the images that have few colors, for example, logo, or animated images.
  • JPEG – is used for the detailed images that are multicolored, such as photos.
  • PNG – should be chosen when you need a high qualitative image with transparent background.

Besides that, for example, JPEG images can be saved at different quality level. The more qualitative image is, the more space it takes, and vice versa. The images with perfect quality (with high pixel density per unit of area) are not needed everywhere. In such cases, images can be compressed with the harm for quality for minimize the size of transferred files. Physical sizes of images should be optimized too: if the images with the size 600×300 pixels should be placed on the website, in fact, they must be exactly of that size. If you fake these parameters by setting tag as <img src=’#’ width=’300’ height=’200’> and the size of your file is bigger, you will just play a trick with yourself as the size won’t become less.

4Caching also helps to minimize the size of the data that is transferred.Cache is a special temporary storage space of a browser where some elements of the website are stored. All the files are uploaded when a page is opened for the first time but some of them can be added to the cache. So when you open the same page again they won’t be uploaded one more time. It helps to minimize the data amount that is sent from a server and also to increase the loading speed of a page.

5CSS files should be placed at the top of the page, and JavaScript ones – at the bottom. Any page is loaded successively, from the top to the bottom. First of all <head> tag content is loaded, and only after this all other content will be loaded as well. And if CSS files are at the bottom, a page will be viewed in some way and when a browser meets styles, it will ignore them and won’t redraw a page again. As for JavaScript, the problem is in the file size. If a user has to wait for files to be loaded and, in the meanwhile, can’t work with the page – it is not good. It is better to show part of the content and then continue loading scripts which will improve common impression of a page.

6Use CDN. CDN is a set of servers that are geographically scattered. They store content. When saying “content” I mean those static resources that are used at the website: JavaScript libraries, cascading style sheets (CSS), images (PNG, JPEG, GIF), flash files (SWF), archives (ZIP, RAR, etc.), documents and any binary files. Such system makes the file delivery process much faster.

7Use CSS sprites. Every time when a browser needs to display an image, it sends a request about it to the server. If there are hundreds of them then hundreds of request must be sent. After that, a browser waits for the response and accept the requested file. Only a few requests can be processed by a browser at once. To reduce the number of requests it is recommended to combine all small images and icons into a single one, transfer it for only one time and then using positioning, one of the CSS properties, set the images on the page.

8Data URI also helps to reduce the amount of the requests to the server and doesn’t make a CSS file size bigger. Thanks to this scheme the number of external resources is less so a browser needs less space in its cache.

9Reduce the number of redirects. Redirects create additional HTTP requests which makes loading of the page slower. For example, if a website has the mobile version, while redirecting from the main version, mobile one’s loading can slow down. In such cases, it is better to use responsive design as it helps to avoid extra redirects. It is even worse when there are redirects chains like “example.com -> www.example.com -> m.example.com -> m.example.com/home”. Each redirect makes loading speed slower.

10Optimize the productivity of your CMS. When you use CMS the development process is easier, as well as managing of a website. But it can have an impact on loading speed and productivity of your website.

  • Too many of plugins will slow down website’s work. Ensure that only the necessary for your work plugins are connected.
  • Make sure that you are not in the “debugging mode”.
  • If your CMS uses interpretive language it is important to find a way to modify it into absolute code before sending it to the server. It will make the time of the data transfer accomplishment less. All you need for this is a language processor. With its help, you can modify PHP to C code for faster execution.
  • If you don’t change pages content too often it will be effective to use local cache for the quick generation of dynamic pages. It is very helpful way to improve productivity and reduce the website loading time.

11Clean server and website logs. Ensure the logs that are generated by server software or site’s platform are not created, unless it is a necessity.

12Switch to HTTP/2. The new protocol version was launched last year. It solved a lot of problems that webmasters have faced. So it was worth it to wait for almost 20 years))) Here are some of the benefits that you will get if choosing the new protocol:

  • Multiplexing – when you use HTTP/1.1 each request requires establishing of TCP connection. If you choose HTTP/2 you can forget about it. Static elements will be loaded simultaneously which helps to improve the productivity a lot. Unfortunately, most browsers that exist today have limits for simultaneous TCP connections that’s why pages with the big amount of static content don’t load as fast as everyone wants. But, anyways, it is the first step made to the truly high-speed websites.
  • HTTP/2 has prioritization. Here you can customize the protocol, for example, tell it to load the certain element of page’s content in a certain way. For example, CSS files can be loaded firstly and then JavaScript ones, or vice versa. Please note, that without prioritization the multiplexing won’t work. So this function is an obligatory one for the settings.
  • HTTP/1.1 has a limit on open connections. To get to windward of this limit, static resources have to be loaded from few subdomains of one domain. Such technique is called domain sharding, it is often used, for example, for the pages with the great amount of the images. Thanks to it the loading speed grows but you can face some issues as well. When switching to HTTP/2 there is no need in the domain sharding. You can request as many resources as you need. Furthermore, sharding won’t improve the productivity if you use HTTP/2, it will have the adverse effect as there will be additional TCP connections which interferes with the prioritization.
  • Compression of HTTP headers. Nowadays a web page consists of huge amount of the elements: images, JS, CSS, etc. In its request for loading each of those elements, a browser will send an HTTP header. While sending requested elements, a server will also add headers to them. All of it involves with excessive expenditure of the resources. In HTTP/2 headers are compressed while sending. Thanks to it the amount of the information exchanged between a server and browser is less. HPACK is used instead of the gzip/deflate algorithms which makes the possibility of intrusion and vulnerability lower.

Just a few words about security while using HTTP/2. In general, this kind of protocol can function by itself. Nevertheless, browsers developers decided to launch new protocol only for TLS-connections (HTTPS). That’s why those who want to switch to HTTP/2 should first of all think about HTTPS. Above there are the main benefits of HTTP/2. But it will help you to solve a lot of issues with the loading speed and productivity.

Improvement of the productivity and loading speed of a page is an important factor not only for the search engines but also for users. While earning a great reputation for your website among users you will also get a loyal attitude from the search engines as well.

Embed This Image On Your Site (copy code below):


Like this article? There’s more where that came from.

mautic is open source marketing automation