Speed up your Wordpress website

Speed up your Wordpress website with simple steps of a short instructables. If your page load is overreaching 1 second then you should continue to read. Specially, if you mind wi-fi (and) mobile users.

1. http/2 multiplexing and a faster server

See the difference of your website loaded via HTTP/2 protocol. Usually, Wordpress is powered by Apache (server) that is pretty slow and doesn't support HTTP/2. Fortunately, you can install Open Litespeed, Nginx, or H2o. Possibly, you can prefer Open Litespeed because it's free, less vulnerable than Nginx, supports HTTP/2 and Google's SPDY. Site loaded using SPDY has almost the same speed as website using newer HTTP/2. Basically, SPDY enables multiplexing within older HTTP/1.1 protocol.

2. VPS (even cheaper than shared web host), dedicated server, or cloud

You can see cheap VPS comparison of really fast VPS (virtual private server) providers. It can cost from 1 euro per month and sometimes can be twice faster than your current webhost. It's fully combinable with a CDN (see below). Don't be worried about technical things, while can use one click installation of Wordpress on VPS as well.

3. Use (free of charge) superfast DNS and CDN

Cloudflare DNS (in some zones) can cut off even 2 seconds (if your current DNS provider is that problem) and this is special case of websites on shared hosting when is common to see a CDN (content delivery network) making their page load of static content two times faster. Maybe, you mind that they protect your website from ddos and other attacks, plus offer you fresh analytics. Distance of servers to visitors is a SEO factor of search engines such as Google (it's not only about a speed). You can create your own CDN infrastructure, if you don't want profi CDNs.

4. Optimize image size

You can use this WP plugin, GIMP, Photoshop, or online optimizer. This can make a few seconds difference.

5. Ajax load

Ajax calls can significantly cut off some initial page load time especially if your pages include a lot of outline sources (as pictures, JavaScript...). Ironically, there's a good reason to choose a vanilla Javasript instead of widespread Jquery Libraries, because it increases a load time by itself (it must be downloaded as well, so it does make one extra request). However, rather of Wordpress Themes (we don't) are using Jquery anyway, so if you've got one them, then you don't need to make this decision (your developer already did).

6. Delete all dead links (including links to files such as images, or scipts)

Surprisingly, dead links slow down the page load speed even more significantly than requested files under download.

7. Set up browser caching of static files, cache php processing and optimize SQL database

There's a lot of WP plugins like W3 Total Cache making it simple. It's really worth to set up browser caching, but to be honest, this is no big jump with the other things. As a theme developer does, I've made a lot of speed benchmarks of the fastest and slowest themes whatsoever appeared on the internet and am sure that this can make difference of some milliseconds (it differs dependently of the amount of posts, pics and php calls and code, but if it's anyhow we speak about milliseconds).

8. Just upgrade WP version and get included PHP7

PHP7 is as twice so much fast as PHP5.6 (similar as HHVM released by Facebook developers) and Wordpress core with PHP7 code performs 30+% better. You should check your current version and upgrade. Again, it can really speed up (only in the difference of milliseconds, however... that difference can be greater if your webhost provides only very servers (mainly memory), cause that a memory consumption with PHP5.6 can be all the time jumping to 100%).

9. To serve files from an external domain?

At this point, there're two reason within HTTP/1.x protocol, but if your webhost is in the same city as visitors, so it could be very counter-productive. If you load from more than one domain then you need make more DNS lookups and make ssl/tls connections what can add between 10-2000 milliseconds (dependently of your DNS provider) of extra time (we didn't count download time from second domain, only DNS and SSL). If your DNS provider is enough fast, then it can really speed up your Wordpress websites, because of cookies (it's sent before any download of the content can start) and the limit of 2 downloaded sources (HTTP/1 doesn't support multiplexing).

10. Block bad robots (disallow them to download content of your website)

Accordingly to news from the Forbes: "Over 60% over website visits are bot traffic". I can show you how to block bad robots.

11. Decrease PHP calls and database queries

Just don't put too much widgets into sidebars

12. Don't install too much plugins

Deinstall any one plugin which you don't use actively. Otherwise, you'll become less vulnerable to cyber attacks.

13. Kick off, or use ajax load for embeded Widgets

It does mean ie "follow" and "like" buttons, Twitter posts... But I'm gonna use it either way.