By default WordPress is a dynamic CMS (Content Management System). This means that for every visitor request that WordPress has to process, it must first connect to the database to see if the requested page even exists.
In a lot of cases this might not be problematic on a site that doesn’t receive much traffic. However a sudden surge in traffic caused by search engine bots, or just a general increase in normal traffic can quickly cause your WordPress site to use up a lot of CPU resources from the server while trying to fulfill needless duplicate requests again and again.
You can counter this increase in CPU usage by implementing a caching plugin. What these do is cache the first visitor’s request of a new page to a plain HTML file on the server, then when another visitor comes through and requests the same page, so long as the page wasn’t updated in your administration section, or updated by a comment, the cached HTML page will be served.
This can greatly reduce CPU usage of your WordPress site very easily. As an example let’s say you had 100 views of your front page, without caching that would require the same database query to have to run 100 times and every time it’s just getting back the exact same data anyways.
With a caching plugin only the first user would have the database query run to generate the cached HTML file, then the next 99 visitors would get that cached HTML served to them right away, without having to wait for any database activity to complete.
This is just about always a win-win, because your visitors don’t have to wait as long for your pages to load, and you’re reducing the impact of WordPress’s requests on the server’s performance.
One of the simplest WordPress caching plugins to setup is WP Super Cache
which is discussed in a previous article of ours.
However if you need more advanced caching options such as the ability to serve a static 404 error page the steps below will walk you through installing and configuring the W3 Total Cache plugin for WordPress.
**Note: This will not work with WordPress Multisites.
Optimizing WordPress with W3 Total Cache plugin
- Hover over Plugins in the left-hand menu, then click Add New.
- In the Search box, type in w3 total cache and select Install Now.
- Click Activate.
- From the left-hand menu, you should now have a new Performance section. Hover over this and click on General Settings.
- Scroll down the general settings page ensuring that each main section is enabled.
These would be:
NOTE: If you are using minify, make sure to enable the option, save it and then immediately look at your WordPress site to make sure that the site looks normal. If you see problems with formatting, then it’s possible that a theme or plugin is causing issues due to the minification. You should then disable minification and not use this option with your website.
Browser Cache, after enabling this option click on Save all settings
- Hover over Performance again in the left-hand menu, and click on Page Cache.
- Ensure that these options have a checkmark beside them, then click on Save all settings:
Cache home page
Cache feeds: site, categories, tags, comments
Cache 404 (not found) pages
Cache requests only for example.com hostname
Don’t cache pages for logged in users
- Finally to confirm that you’ve setup everything correctly, in your web-browser open up your site and hit (Ctrl-U), or go to View -> Page source to view the source of the page. Scroll to the very bottom of the page and you should see the W3 Total Cache banner letting you know the page has been optimized.
Once you’ve confirmed that W3 Total Cache is up and running properly on your website you’re done. Now you can enjoy quicker page loads, and reduced resource usage from your WordPress site! For more information on this course please visit Recommended Plugins.