Probably you’re reading this article because your website is not as fast as you wish it would be. Fear not, speeding up your website involves some actions from you, but it’s easier than you might think.
There are few easy tricks to make your website running with a light speed (for free!). You may ask why would you want to do that? There are several important reasons, I have chosen two.
First of all, most likely you don’t appreciate slow loading websites yourself and you can expect the same from users of your website. If your website is loading slower than other websites, it can cause irritation among those who check your website and you’re especially unlucky if it’s your potential customer or important client. People’s attention span is getting shorter and shorter. We live in the world where information must be instantaneous, 17% of internet users spend less than 4 seconds per page (!). Average attention span in 2015 was only 8.25 seconds (source) – you can’t ignore it if you care about your website’s conversion rate.
It’s not only that you can lose customer who is already loading your website, but also something effectively worse – you could get fewer visitors in general. Why? The reason behind it is, in fact, one of the most important factors of SEO ( Search Engine Optimisation ). Everyone knows the biggest and most popular search engine, Google, but you might not know that it is extremely impatient and clever search engine. If Googlebot (a bot responsible for checking websites and adding them to Google’s index) crawls your website and notices it works very slow – it won’t be good for you. Google will penalise your website for being a slug and will rank it lower than similar website with the similar content matching user’s search query. Engineers behind the most popular search engine know importance of information and how customers want it served – fast. Your website is not fast? Be punished.
My name is Artur Kraft, I am an e-commerce specialist with over 8 years of digital experience and I would like to share with you how to easily speed up your WordPress website in a very simple way. I used to code website myself as well as Content Management Systems to simplify processes of creating content on websites, until I have discovered that WordPress can make both things much faster and easier. The problem is, that if WordPress is used not the right way it can affect your website’s speed. It’s a very complicated topic, but for sake of this article I have chosen a few most essential bits on how to make your website fast without going into too much detail.
Please remember, before making any important changes on your website you should always make a backup of both websites’ files and database. Step 5 involves making important changes to the server configuration so make sure you know what you’re doing or if you can get support from someone should anything go wrong. You can get in touch with me if you want to make sure everything goes smoothly.
Are you ready? Below I give my suggestions of speeding up your WordPress website in 5 easy-to-follow steps.
0. Check your current website speed.
You should test your website speed first. One of the best and most comprehensive tools to check your website performance for free is GTmetrix. Please visit gtmetrix.com, put link to your website in the textbox and click ‘Analyze’. After few seconds you will receive 2 scores – one for PageSpeed and one for YSlow, these two tests check different possible issues on your website but both score from 0 to 100, where 100 is the best result. At the time of writing this article my website (arturkraft.com on GTMetrix) scores 95% for PageSpeed, 82% for YSlow. You may say, that is not perfect, and you’d be right, but the fact is that this result is above internet average (71% and 68% respectively) and I am not able to improve it just now because of some behind-the-scenes developments I am undertaking at the moment.
GTMetrix will give you suggestions why your website might not perform the best and it’s vital to take its suggestion seriously. Getting higher scores is not an easy process, but there are few things that can fix your score straightaway. If your website scores better than mine already, then I would appreciate your advise :).
- Check your hosting provider.It might seem obvious that it should have been done long before website went live, but there might be some issue that crops up after a while of using current hosting provider. I have been using dozens of different hosting providers in the past (not to mention that at some point I was setting up my own server). What I have learnt during that process was very vital to my websites’ performance. There are many different factors that you have consider in terms of page speed. For this article purposes I will skip many other important other factors (backups, tools, server software etc.).If you’re using a shared hosting, consider getting a dedicated hosting with dedicated IP address. When you have dedicated resources for your website it’s easier to figure out when it’s hosting affecting your website speed as opposed to your own actions. Shared hosting is usually much cheaper than dedicated hosting and it’s not hard to guess why. When your website is on a shared hosting and some other website which is sharing the same resources is generating a lot of traffic, it can affect adversely your website speed. Simply because CPU, RAM or hard drive of the server will not be fast enough to respond to your website’s visitor query.The other important factor to check (even if you decide to stay with shared hosting provider) is CPU and RAM dedicated to your website. If it’s not given in description, you can always ask seller. Based on my experience, hosting providers who offer SSD (Solid State Drive) for both website files and database instead of traditional HDD (Hard Disk Drive), are the fastest and most up-to-speed. HDD uses old technology of spinning platters to store data. An SSD on the other hand uses flash memory and has no moving parts, therefore tends to be much faster.There are many different factors to look at while choosing hosting, e.g. type of databases and software used, but one thing is always easy to remember and easy to check – always make sure that your hosting provider uses the newest PHP available (newer than PHP 7.0), then you can be sure that the hosting provider is keeping their servers up-to-date. If most of your customers are based in UK, make sure to get UK hosting provider – that will reduce server’s response time for your customers. Otherwise, please use Content Delivery Networks (explained in step 4).
- Reduce size of images, serve scaled.The next thing you should check is how big are the images that you use on your pages. Images tend to be the toughest for your server. You might think that 300 KiB image shouldn’t affect your server much, but imagine you’ve got 100 of 300 KiB images on homepage, which would give around 30 MiB and then if you have 1,000 visitors per day on your website, it equals almost 30 GiB of requests per day! That’s a huge bandwidth usage.Plugins that are available on WordPress directory, depending on how do you compress your images initially, can decrease size of library by 80% and that’s an amazing relief to your server. Most of the plugins have some free allowance. Some allow you to compress only up to 100 MB for free and after you have used it up, you will be prompted to buy premium version, some have monthly rolling allowance of up to 5 images compressed per month. You can also use several plugins one after another – just make sure not to compress images that have been already compressed by other plugin so you don’t waste your allowance. Some other premium plugins like The Fastest Cache which is meant primarily for caching your website (explained in step 5) come with 1000 credits to reduce sizes of your images.
- Minify your CSS, HTML and JS.
After you have reduced size of your images it is important to make sure other website’s resources take as little space as possible. It might not seem that important because that code:
<div id="site-info" class="site-footer__info pht-box container-a container-a--alt-h"><div class="pht-wrapper"><p class="site-footer__copy pht-layout"> <span class="pht-layout__item u-1-of-2-desk js-pht-waypoint pht-waypoint pht-b2t">© 2017 Artur Kraft - ecommerce specialist</span><span class="site-footer__author pht-layout__item u-1-of-2-desk js-pht-waypoint pht-waypoint pht-b2t">
might not seem much lighter than this one:
<div id="site-info" class="site-footer__info pht-box container-a container-a--alt-h">
<p class="site-footer__copy pht-layout">
<span class="pht-layout__item u-1-of-2-desk js-pht-waypoint pht-waypoint pht-b2t">© 2017 Artur Kraft – ecommerce specialist
<span class=”site-footer__author pht-layout__item u-1-of-2-desk js-pht-waypoint pht-waypoint pht-b2t”>
Thank you for visiting my website!
If your website doesn’t use too much CSS you can even put it in the main website file as opposed to having CSS files as a separate resource that require extra time to load. There are many different plugins that can do that hard work for you for free, including WP Fastest Cache mentioned in previous step and Autoptimize.
- Use CDN if possible.
It is highly recommended that you store your images and other big size resources on external servers. When a user goes into your website, (s)he requests from your server all the information necessary to render the website. Resources that take the biggest space are images, java scripts and style sheets – they not only slow down the process of loading the website if downloaded from the same server, but also use your server’s CPU and hard drive. You would want to reduce that unnecessary waste of server’s and user’s time. You can do it half-way for free and instantaneously by installing and activating Jetpack plugin (you would need to create free wordpress.com account for that). Then, in settings activate Photon. It uploads all your images to wordpress.com servers and it works straightaway, you don’t have to set it up.
It’s not only that your website will load faster because your heaviest resources are stored on different server, but also your CDN’s server location might be closer to end-user than your main hosting server.Unfortunately there is not many free CDNs as they are standalone servers that use a lot of resources to deliver required content. At the time of writing this the only full CDN solutions that is free is offered by Amazon Web Services. They offer their servers to use for free for 1 year as long as you stay within Free Tier usage conditions. It might be difficult for beginners to set this up, so if you require help, I am happy to help you with it.
- Cache your website.WordPress is creating dynamic content for your website and as such requires constant communication with your server for every single user’s query. It means that if 10 people load your home page at the moment, WordPress has to ask your server to give them files that are used on that certain page. If one of those users later goes to your contact page, WordPress has to respond to that query as well requesting again all the files from the server and sending them to end-user. This can be heavy on your server if you have hundreds of visitors and your website isn’t very optimised. What helps a lot in that case is saving most of the content that repeats itself for most of the users and serve it to them from static files – thanks to that your server will not have to be asked each time one page is loaded, WordPress will just serve static files. This is called caching. There is many very good free plugins that will do that job for you – WP Fastest Cache, W3 Total Cache, Comet Cache just to mention few. What you must remember is that some of these plugins don’t recognise when you make important changes to your website (like changing some colours or moving some elements) so you would need to clear the cache from time to time to make sure your users get the latest version of your website.
There is much more that I could have covered to make sure your website is as fast as possible but I tried to be concise. These 5 steps will make sure that your scoring in GTMterix improves drastically, but if you want to improve it even more, please don’t hesitate to get in touch with me so I can help you even more. Thank you for your time.
Do you have anything to add or do you share different opinion about some of these steps? Please do let me know in Comments section below!