WordPress is definitely one of the most wide-spread CMSs.
However it’s pretty slow in default configuration. Especially if the site has a lot of visitors and heavy content. Moreover, since 2010 Google has used page load times as a factor in its search ranking algorithms.
Luckily, the flexibility of this CMS suggests numerous methods to speed up website loading time significantly. You can check your website with online tools such as Google Page Speed to track the website speed results after each step.
Below you can find a few ways to optimize and speed up WordPress. We recommend to use them when building your website.
Theme plays a key role in website load speed. If you plan to create a busy blog, we recommend to do the research and testing to find the lightest and the most optimized theme. Specialized threads on WordPress forums are the best places to check for that. Here are two examples:
WordPress › Support » Fast theme needed? WordPress › Support » Fast loading / low bandwidth theme: Appropedia’s 13
A number of plugins for reducing image size exists in the web. For example, EWWW Image Optimizer, WP Smush.it and so on. They all have different features and allow you to find the configuration you need.
We recommend using EWWW Image Optimizer plugin.
Once the plugin is installed and activated you need to go to Media -> Bulk Optimize to optimize your images
You will have an option to bulk optimize all images in Media library – Start Optimizing. Here you can also optimize all other images outside Media library such as graphical elements of the theme and so on - Scan and optimize.
NOTE: optimization procedure requires considerable resources so temporary hitting CPU resource limit is probable.
NOTE 2: the plugin allows to determine degree of image compression. For example, if you own photo blog, note that well-compressed pictures will lose the quality.
You can also set the plugin to conduct scheduled optimization in Advanced Settings. Scheduled optimization does not include Media Library images, because they are either already optimized or will be optimized on upload.
cPanel includes Optimize Website function. It uses Apache’s mod_deflate to compress content before sending it to the visitor’s browser.
Select Compress all content and click on Update Settings.
Using browser cache
ExpiresByType text/css “access plus 2 weeks” ExpiresByType image/x-icon “access plus 2 weeks”
ExpiresByType application/pdf “access plus 1 month” ExpiresByType audio/x-wav “access plus 1 month” ExpiresByType audio/mpeg “access plus 1 month” ExpiresByType video/mpeg “access plus 1 month” ExpiresByType video/mp4 “access plus 1 month” ExpiresByType video/quicktime “access plus 1 month” ExpiresByType video/x-ms-wmv “access plus 1 month” ExpiresByType application/x-shockwave-flash “access 1 month”
The values can be changed according to your specific requirements.
Using caching plugins
A number of WP caching plugins are in use and the vast majority of them drastically improve page load time. W3 Total Cache and WP Super Cache are the most popular ones. The main difference between them is that W3 Total Cache is more customizable.
Below are the guidelines for its initial setup and tweaking.
To configure plugin go to Plugins -> Installed Plugins -> find W3 Total Cache -> Settings
NOTE: if you are a shared hosting account user, remember that all available caches should *not* be enabled at the same time – avoid choosing “Toggle all caching types on or off (at once)”. The reason for this is that if Object caching and Database caching are on, they will trigger resource usage spike without any improvement of the page speed. These caches can be enabled if your WordPress website is hosted on VPS or Dedicated server only.
Scroll down the page and tick Enable next to the following options: 1. Page Cache 2. Minify 3. Browser Cache
Then click on Save All Settings button.
Below you can find some additional measures which do not have effect on page speed but may improve resource usage and user experience.
The first thing people see on the website is the homepage. It is very important to pay attention to its proper optimization:
1. Do not overload the page with widgets, e.g. social media sharing buttons. They are needed only in blog posts. 2. It is better to display excerpts on the homepage, not full posts. 3. Homepage should not show too many posts, five is fine.
Setting up LazyLoad
LazyLoad suggests loading only the images which are visible in the visitor’s browser window at the moment. When the reader scrolls down, the other images begin to load, just before they come into view. An example of such plugin is jQuery Image Lazy Load
Though this measure doesn’t have visible effect on page speed, it can make the website consume less resources by loading less data for users who don’t scroll your pages all the way down.
Enabling hotlink protection
If a direct link to an image hosted by you is put on some other website then resources of your account will be consumed, as requests to fetch the image will go to your server. Blocking such direct links is the solution. The best option is to use cPanel -> Hotlink Protection function
Optimizing database may also be useful for a WordPress blog. phpMyAdmin includes database optimization function. Go to cPanel -> phpMyAdmin and select the corresponding database
Then click on Check All so that all tables are checked
Then select Optimize table
Once this is done you should see the following output
Also, we recommend trying specialized plugins such as WP-DB Manager which are intended for similar purposes.
We would also like to remind you to backup the database before making any major adjustments especially with third-party plugins.
This is it!