Slow WordPress blogs suck.
Take the time to invest in reducing your loading time, and you’ll be rewarded with more readers, traffic, retention and all the good stuff.
1. Page caching is vital
Page caching stores your pages as static files that are super fast to deliver.
Every time some visits your WordPress blog, the PHP core that it’s built on, goes through multiple motions and calculates that output for the user.
Now, imagine you’ve probably got a theme, a bunch of plugins, and potentially more than one user. All of this needs generating, everything someone makes a request to your site.
Each request is something like, going to a new page, refreshing, navigating to a new article via the categories or tags. This becomes costly.
Caching loads the responses for common requests, like pages, and stores them as HTML. This way nothing needs generating upon request. Just the page needs sending.
Plugins like W3 total cache do this for you, and they’re seriously powerful tools to utilize when you’re looking to make WordPress faster.
There are multiple plugins that offer page caching, and generally most caching plugins will come with a variety of different utilties.
If you’re not to confident with the look of W3 Total cache–which, admittedly is pretty advanced–you could take a shot at a more user friendly plugin like Hummingbird or WP Super Cache.
2. Use your viewer’s browser cache
This can seriously reduce the request size, namely because when the user has your files cached, they aren’t downloaded again until they’re outdated.
There is no point in reloading the entirety of your site’s scripts and stylesheets everytime someone switches pages, so take advantage of this.
Again, most caching plugins offer browser caching too.
Personally, I prefer Hummingbird because it ties everything together in a really simple fashion.
3. Use GZip for seamless compression
Gzip compression increases page load speed because all the crap is simple sifted out of the request in an efficient, speed-conscious manner.
You can also use plugins such as Force gZip. Alternatively, most caching plugins such as W3 Total cache also offer this.
4. Serve your resources from a CDN
A CDN uses several servers around the world to better serve data to your viewers dependent on their location.
There are numerous CDNs out there, not just Cloudflare. Each has their own pros and cons.
Cached files are then served from these super-fast servers to your viewers to cut server strain and increase page-speed dramatically.
This is very easy to incorporate with WordPress when using services such as CloudFlare or FreeCDN.
W3 Total Cache also has a function to integrate with CDNs.
5. Minify your scripts, and rid yourself of junk
It removes redundant data such as link breaks and comments to serve a smaller and more efficient file.
Combining your CSS files and JS files will also cut the amount of connections a person’s browser is required to make.
Again, W3 Total Cache provides this service. CloudFlare CDN also offers the ability to combine both internal and external files too.
6. Kill off those old plugins
The more plugins that you have, the more strain that you server will undergo when your blog is viewed.
Regularly go through and make sure that any plugins that you aren’t using are deactivated. If you do not plan to use them again, then delete them too.
Not only do they make your site faster, but they also remove some potential security holes.
You can use plugins that detect and identify things for removal too.
7. Avoid overusing advertisements
Image-based and flash-based advertisements can put tremendous strain on load times so Keep these too a minimum.
While Google AdSense is served from fast servers, make sure that your ads are loaded asynchronously or use Lazy Loading (explained later).
8. Image compression, another vital improvement
Compressing your images doesn’t always lead to poorer quality.
There are two types of image compression:
- Lossy, where you lose image quality, and
- Loss-less, where you don’t lose image quality.
Wherever possible you should use lossy compression, but loss-less compression is suffice for larger images.
Use EWWW Image Optimizer to compress all the images on your site and all future uploads too.
9. Literally resize your image
There is no point serving super-large images to mobile phone and tablet users when their screen simply cannot fit in many pixels.
Making several different copies of your image in different sizes will cut server strain when necessary.
Hammy offers this function to automatically generate and serve the most appropriate image size
10. Lazy loading only loads what’s needed
This delays loading of images on your page. Images outside of your browsers – will not be loaded until a user scrolls to them. Plugins such as Hammy offer this by default.
A3 Lazy Load also offers support for lazy loading HTML5, Flash and Video Streaming services.
Take a look at a large post like this one, and scroll down. You will see that the images fade into view and aren’t loaded until you scroll to them. This is Lazy Loading.
11. Show less blog posts
Instead of forcing your visitor to load 10+ posts on your homepage you should cut this amount to a more practical amount.
Most themes use thumbnails on your homepage so you should try to serve as few images as possible. Aim to keep to less than 10 on your homepage. This obviously depends on your theme.
12. Clean and optimize your database
You should delete any lingering spam, old plugin debris and post data from your database.
Leaving this data can lead to unnecessary “passes” when your server is browsing through your database to find a specific piece of data.
You can use WP Optimizer for this task.