It is a well-known fact that fast-loading pages improve the user experience. Since the page loading speed is a major factor determining search rankings optimizing our pages for better speed must be a high priority thing. If you have been blogging for quite a while, you know that as your traffic increases, your blog’s loading time become slower and slower. This could be due to inefficient coding, too many images and advertisements or just that you have too many plugins that take up your valuable server resources. In this post I am sharing 10 steps I did to double my website speed.
1. Use Cache Plugins
This single step will help you to increase your page loading speed all most double. WordPress platform is built in PHP language. PHP files will usually take more execution time than static html files. Caching generates static html files from your dynamic WordPress blog. After an html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts.
The most popular cache plugins are W3 Total Cache and WP Super Cache. Between these two I prefer W3 Total Cache because it gives better performance. But unfortunately some web hosts support W3 Total Cache and in some rare cases it may break your theme. If that is the case then go for WP Super Cache.
Actually I am surprised by the fact that many bloggers are still not using any caching plugins in their blog. It is a must have plugin and it will boost your blog performance dramatically. The configuration of the plugin may cause slight confusion if you are using it for the first time. If that is the case please comment your problem or a drop a question and I will try to help you.
Related Reading: Speed up your WordPress blog using WP Super Cache
2. Optimize Images
An image is worth more than many words. Adding images to blog posts is a good practice to improve user experience. But images are the slowest loading element in a web page. Nowadays most themes are image oriented and use lots of pic such as thumbnails, gravatar, social sharing icons etc. We can’t reduce the number of images after a certain limit, so the best way is to optimize the images we have. A plugin which comes very useful in this context is WP Smush It.
WP Smush.it is a free WordPress plugin which will automatically optimize all images already uploaded or new images. It converts GIFs files to indexed JPGs, it strips unused space from the indexed images and make the images loading faster by reducing its size. Images sometimes have all sorts of metadata attached that aren’t needed, and sometimes they could just be smaller by compressing them in a smarter way without losing any quality. Yahoo’s Smush.it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a “lossless” tool, which means it optimizes the images without changing their look or visual quality. Smush.it offers an API that performs these optimizations (except for stripping JPEG meta data) automatically, and this plugin seamlessly integrates Smush.it with WordPress.
All you have to do is just install this plugin and then everything will run automatically. Whenever you upload a new image it will be automatically run through Smush.it behind the scenes. You don’t have to do anything different.
Use image heights and widths: Adding height and width tags to images helps a lot to improve the loading speed. If the browser knows the width and height size of the image, then it can let it load in the background. If those tags are not used, the browser has to wait until the image loads.
3. Optimize the database
Speed and performance of WordPress blogs highly depend on its database. Most of the cases, a WordPress blog is slowing down due to unnecessary WordPress post revisions, Orphan entries and Spam comments. Every time when you save a new post or pages, WordPress creates a revision of that post or page. If you edit a post 5 times you might have 4 copies of that post as revisions. Just imagine if your post or pages are long and big, it will be a huge number of bytes that is on your MySQL overhead.
a. Optimizing Database Tables
Wp- Optimize is a simple but effective plugin which allows you to clean up and optimize your WordPress database. This plugin helps in boosting your database performance by removing post revisions, removing auto draft posts and spam comments. It will help you to apply MySQL optimize commands on your database tables without phpMyAdmin. Make sure to regularly optimize your database to keep your MySQL database performance.
b. Remove Orphan Entries
Deactivating and removing of a plug-in doesn’t necessarily remove its table entries on WordPress database. These tables and record entries are cluttering your WordPress database and will effect to your WordPress blog, even if not much. Removing these unwanted orphan entries will reduce the database size and improve its performance.
One of the easiest ways to remove orphan entries is by using a small plugin called Clean Options which find and remove orphan entries from the wp_options table. It can help save you a few KBs or MBs depending on how many plug-ins you uninstalled before you installed “Clean Options” plug-in on your WordPress blog. I used this plugin yesterday and found 311 unwanted entries in my wp_options table.
4. Use a Content Delivery Network
Content Delivery Network or CDN is a distributed cluster for your content delivery. It is a system of computers containing copies of your data, placed at various geographical locations so as to maximize download speed and availability of the data.
There are a lot of CDN services available but my favorite is MaxCDN. They have got hundreds of servers throughout the globe and at a cost of 40$ for 1TB per year, I think it is a worthy investment. You can host multiple blogs and 1TB is more than enough to power 10 blogs of the size of this blog. In case if you not interested in spending money then there is a free alternative called SpeedyMirror, but there is a considerable difference in the performance.
5. Enabling Gzip Compression.
Gzip is the most popular and effective compression method supported by almost all browsers. Gzipping as many file types as possible is an easy way to reduce page weight and accelerate the user experience. By using GZIP Compression, the server takes the request from the client, then looks for the file and compresses it before returning to the client. The browser then will decompress the data and display it. This way will save times, decrease the bandwidth as well as the page size. There are two ways to enable Gzip compression.
a) Techie’s Way:
If you are brave enough to edit your .htaccess file then add the following line of code to it.
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
AddOutputFilterByType DEFLATE font/truetype font/opentype
b) Non Techie’s Way
This way is very simple; just install a Gzip plugin for your blog.
6. Remove all unwanted plugins and widgets
Plugins are the most attractive feature of the WordPress CMS, but it can cause some troubles also. Every plugin gets loaded and executed even if they are not in use. If you are a person who depends on plugin for everything then your blog performance will affect severely. Try to replace as much plugin with manual coding and keep your existing plugin updated.
This is same for widgets also. Many people fill their sidebar with a lot of unwanted widgets like live score, news etc. This can be look stylish, but increases a lot of you loading time.
7. Choose a good Webhost
One of the major factors affecting the page loading speed is the performance of your webhost. If you are using a free webhost then you may already trouble with slow speed. Opting for a local hosting company may looks like a bad idea when your blog is accessed from different parts of the world. Local hosting companies can be a good choice if you are having a country targeted static websites. But most blogs are dynamic and will have readers in many countries. So opting for the service of a reliable paid webhost like HostGator, GoDaddy, BlueHost etc. will be a good choice. Free webhosts have limited resources and so they put so many users in shared servers, which in effect slow down the servers. Also make sure to upgrade your hosting plans at each stage of your blogging. Once you reach a level of 7000 visitors per day, upgrade to a Virtual Private Server.
While it comes to web hosting HostGator is my personal favorite. The performance is very good and support is awesome. At a reasonable price of under 5$ per month I think they offer good value for money.
8. Use an optimized theme
One of the main reasons why I moved to this new design is that my previous theme was very slow in loading. Premium themes often have better loading speed than free ones because they are well coded. A complex CSS coding of a theme will certainly increase the page load time. The CSS coding should be as simple as it could. Free themes usually have many bugs in it because the developers may not spend much time for finding and fixing errors. So if possible go for a paid theme.
9. Reduce the advertisements and host affiliate banners yourself
Filling your page with lot of advertisements will affect user experience as well as slow down your website. So keep the number of ads to the minimum and try to avoid pop ups and pop unders. Inline advertisements like Infolinks can be an extra source of income, but such ads will affect your page loading speed.
If you are in the affiliate marketing then you will have affiliate banners in your blog. Many affiliate merchants provide banners or buttons that can be served from their site. However, for many banners and buttons, it will take time to load the images onto your own site and serve them from there. So it is a better idea to host the banners yourself and then use it in the code.
10. Keep everything updated
Last, but not the least make sure everything is up to date. If a new version of WordPress, plugins or themes are available then try to update it as soon as possible. Every new release comes with fix for the bugs in the previous release so make sure to keep your plugins and themes updated.
These are some of the steps I used to increase the page loading speed. Since it is a major factor determining search rankings and improving user experience I suggest you to spend some time on this. The steps and plugins described in this post may be a little confusing to non techie’s, if that is your case please leave a comment or ask a question (that is a new feature, hope you find it useful) and I will try to help you.