In this post, we will be looking at some more ways to speed up Worpdress websites.
1. Optimize your database
The database is always something that people tend to ignore. Reason is that it is always working on the backend, quietly & steadily. Your website load speed is hugely dependent on your database. Thus, optimizing your database can show very good improvements for your website.
The plugin we have used is WP-Optimize.
[dropcap color=”#008040″ boxed=”yes” boxed_radius=”8px” class=”” id=””]T[/dropcap]his plugin helps you keep your database clean by removing the unwanted revisions & spam comments. Behind the scenes, WordPress stores every revision of every post, page & any other custom post type that is available on your WordPress setup. We had talked about Revisions in Part 1.
The popularity of the plugin & it’s wide usage can be verified from the fact that it has over 400,000+ active installs. That’s a huge number of WordPress websites using the plugin.
I ran this on a test website which has about 8 plugins installed. The WebPageTest.org results before using this plugin are:
Once the plugin is installed, it adds a “WP-Optimize” menu in the admin dashboard. It has 3 main sections which will help you to get a clue of what your database is like & how will the optimization take place.
This section allows you to set which all items you want the Optimizer to clean up from the database. It includes Revisions, Spam comments, Transient options, Unapproved comments, Pingbacks, Trackbacks, etc. It also shows the count of each of the items like how many revisions, or how many transients are found. This is very helpful as it gives an indication of the volume of such unwanted data.
It also has a setting for “Optimize database tables”, which runs the optimization for all other table types except InnoDB tables.
Once you click on the “PROCESS” button, it will show you how many items were cleaned.
This section shows a list of all your database tables. It shows the Table name, the number of records in it, the data size, the Index size, the type of the table & overheads, if any.
At the end of the table listing, it will show the total for each of the columns & also the total database size. In this case, the total database size is 2 MB, which is very low as it’s just a test site. On a live site, you can expect this to be anywhere between 200 MB to 2 GB or even higher in some cases.
This section allows you to set uptil how much time you want the old data for (Revisions, Spam comments, etc.). It also allows you to set an Auto Clean-up schedule, where it runs the cleanup scripts at regular intervals & sends an email notification to the email address specified there.
Configuring the above 3 tabs correctly will essentially keep your database to a limited size. As a result, the MySQL queries will run faster & it will yield in some improvements in the page load speed.
2. Optimize your homepage
The homepage is like a gateway to your website. This is where the user will land first. It’s imperative to get this one right, otherwise you will see a high bounce rate.
Some quick things that can be done to optimize your homepage are:
- Do not show full blog posts, only show their excerpts
- Show a limited number of most recent posts, around 5 to 10 maximum
- Try to remove or minimize the social sharing icons on the home page. Typically you would want users to share your posts, so it makes sense to have all the social sharing icons on the posts page.
- Do not bloat your homepage with widgets & other information. Keep it focussed, keep it limited. That will ensure it loads faster.
3. Add Lazyload to images
LazyLoad essentially loads only those images that are visible in the browser window. Then as the user scrolls down, it loads the other images.
There are many plugins that can do this. One of them is jQuery Image Lazy Load WP. It has over 10,000+ active installs, but the only problem with this plugin is that it was last updated more then 2 years back.
Another plugin for the same purpose is Rocket Lazy Load with over 3,000+ active installs.
This plugin does not have any options. You simply install it & it starts working.
It reduces the number of HTTP requests & thus improves the loading time. It will not try to load all the images unless the user scrolls down to see them. This is a very useful plugin as it does not even require jQuery. It’s size is less then 2KB, which is extremely lightweight.
The methods discussed above help reduce the number of HTTP requests, load only the required information and also remove all unwanted data in your database & optimizes the database.
This is like attacking the enemy from all sides!
After using the above techniques, these are the results of WebPageTest.org for the same website:
As you see, Load Time is reduced from 2.67 seconds to 1.59 seconds.
“Bytes In” is reduced from 500 KB to 411 KB. That is due to the Rocket Lazy Load plugin.
All the 3 methods are very effective & highly proven by the number of WordPress websites actively using them. These are a must to improve your WordPress website load times.