Gotta go fast! WordPress is highly extensible, but every plugin you ad has the potential to hurt you in terms of site speed, particularly plugins that affect the user experience. It’s easy to load up a site with features, only to find it takes seconds to load. Page speed is important, perhaps more so than the features you so desire; it’s time to work on your speed.
Every plugin you use slows down your site. Some will have an incredibly minor, almost unnoticeable effect. Others will add hundreds of milliseconds to your load times.
Every six months, I recommend that you go through your plugins list. Delete any plugins that you don’t use or that are underperforming. Replace any plugins that are out of date, either with updated versions or with new replacements. Install new plugins if there’s a particular function you’re looking for.
Every now and then, you might want to restart everything with a fresh install of WordPress, just to make sure any files that were edited by plugins but never changed back don’t linger around as problems.
GZip is a type of compression WordPress can use. The idea is that it compresses the files on your server into these smaller archives, which are then much smaller, much easier and much faster to transfer to the reader’s computer. The user’s browser uncompresses the files automatically, which adds a little time to the loading process, but far less than the time saved on transferring the files to begin with. The best way to do this is with a plugin, like W3 Total Cache.
You can even add GZip compression to your site without a plugin. You just need to go to your .htaccess file and add “AddOutputFilterByType DEFLATE” and then the file paths you need to compress. You can find a snippet of code here.
For this, I don’t mean smaller in dimensions, although that can be useful too. I mean smaller in terms of file size. By downscaling your images and compressing them carefully, you can cut the size of each image file by half without losing any quality. You can use a plugin like Smush.it to do this for you, you can use a service like Image Optimizer, or you can do this manually with a tool like Gimp or Photoshop.
Caching is the process of adding a lifespan to the files a client downloads when they view your site. It’s a lot faster for them to download the files that don’t change per page only once, and check to see if they’ve changed every few hours, days or even weeks. You can read a complete guide to caching on WordPress here.
Did you know the order in which you put code in your site matters? If you’re front-loading scripts in your header, they can slow down the site load; they have to load and execute before the rest of the site can start to load. You can investigate asynchronous loading if you like; I prefer to just reorder the scripts. Put CSS code at the top of the page, and put scripts lower down, so more of the page loads before they’re called. The only exception is Google Analytics; it needs to be loaded as soon as possible to record as much about the visitor as possible.
The majority of your traffic is all lumped into a few high priority pages. These pages should be given extra attention to make them as speedy as possible. It doesn’t really matter if a subpage is fast if it’s loaded once a year; make the important pages load faster. Cut unnecessary scripts and content, remove poorly coded scripts, and compress your images more than usual.
WordPress does a lot of draft saving and caching, which takes up a lot of space and bogs down your site. The site by default clears a lot of this every 30 days, but you can edit it to manually do it every 7 days, or disable the saving feature entirely.
No one really cares about pingbacks and trackbacks these days, and they’re more often used by gray hat sites looking to eke out the tiny bits of SEO benefit they can get at the expense of a bit better user experience. Turn ‘em off entirely.
Once a post is written and posted, who cares what it looked like three revisions ago? Go into your wp-config.php file and find the WP_POST_REVSIONS line. Turn it to false. Otherwise, you’ll end up with a database full of old content full of typos you don’t care about.
When you open up a script or html page, you see a lot of nicely laid out and commented code. Fun fact; the browser doesn’t care what it looks like. You can remove virtually every bit of whitespace and the browser will load it just fine. Don’t do this manually, however; some scripts require spaces, for example. Use a tool like Better WordPress Minify to do this for you.
Old sites tend to accumulate data, and a lot of that data is not necessary to day to day operations. It’s often a good idea to create backup databases of older data and keep your current databases cleaner. This is of particular note with commerce pages using WooCommerce or a similar platform, where your old orders and product pages are all stored in the database where they aren’t needed all that often.
By external scripts, I don’t mean scripts you run that you’re serving via a CDN, as mentioned next. I mean scripts that pull from third party sites, like Facebook or YouTube. Every time you embed a video, use a social sharing plugin or use social comments, those scripts have to load and run. It’s better if you implement these in a non-script way or do away with them altogether.
A CDN, or Content Delivery Network, is a third party site with heavily reinforced servers and insane amounts of bandwidth available to them. Their entire purpose is to host your videos, your images, and even your scripts on their servers, so when a user needs to load them, they load independently of however fast your host might be. Only the raw text content, something that’s trivial to load, is loaded from your servers.
You can find a list of decent CDNs and their pros and cons here.
The Genesis Framework is an extension of WordPress specifically designed to enhance the speed of every aspect of the platform. It works with compatible themes and can make your site load so fast you’d think the whole thing was cached on the client’s computer already.
You’ll have to pay for the framework, and you might have to pay for the theme. Additionally, very rarely you’ll find a plugin that doesn’t work well with it. Always be careful of what plugins you’re using.
You had to know this one was on here somewhere. I like to think most people reading this post already know about host quality and have chosen something decent, but I also know it’s easy to fall for the promises of a cheap host and get something that’s just hurting you in the long run. If all else fails, upgrade your host to something better suited for a speedy WordPress blog.