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.

  1. Hover over Plugins in the left-hand menu, then click Add New.
    plugins-add-new
  2. In the Search box, type in w3 total cache and click on Search Plugins.
    click-search-plugins
  3. Under W3 Total Cache click on Install Now.
    click-install-now
  4. Click OK in the installation pop-up.
    click-ok
  5. Click Activate Plugin.
    click-activate-this-plugin
  6. You should now see Plugin activated.
    plugin-activated
  7. From the left-hand menu, you should now have a new Performance section, hover over this and click on General Settings.
    performance-general-settings
  8. Scroll down the general settings page ensuring that each main section is enabled.

    These would be:

    Page Cache
    w3tc-setting-page-cache

    Minify
    w3tc-setting-minify

    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.


    Database Cache
    w3tc-setting-database-cache

    Object Cache
    w3tc-setting-object-cache

    Browser Cache, after enabling this option click on Save all settings
    w3tc-setting-browser-cache
  9. Hover over Performance again in the left-hand menu, and click on Page Cache.
    performance-page-cache
  10. 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 yourdomain.com hostname

    Don't cache pages for logged in users

    performance-page-cache-save-all
  11. 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.
    w3tc-confirm-page-source

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.

Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve this article:
Email Address
Name

new! - Enter your name and email address above and we will post your feedback in the comments on this page!

Like this Article?

Comments

Post a comment
2014-06-08 4:31 pm
i followed the above instructions exactly and my site display was radically changed to not acceptable viewing. called tech support and michael logged into backend and discover an error message in the dashboard... he went to Minify and unchecked "CSS minify settings:" so do NOT enable and my site went back to normal. can you guys check to see if okay and/or update your instructions. thank you!!! wp 3.9.1 - W3 Total Cache .0.9.4
2014-07-02 11:30 pm
a few days after doing the Minify, the site CSS still got whacked and made the site unreadable, so there's more going on here. but then a few days later the site went back to good with no modifications and been good for about 2.5 weeks now. i have no idea.
Staff
9,521 Points
2014-07-03 5:14 am
Hello Rockit,

Sometime CSS minification can cause problems and you might need to leave it disabled. It might be working now because the cache has cleared since enabling it.

If you continue to have issues, you might want to try to clear the WordPress cache and also clear your web-browser cache

Let us know if you have any further problems.

- Jacob
n/a Points
2014-06-25 12:53 am

I'm wary of installing this on a news website that currently has over 30 thousands posts. Will the process of caching this much content over burden my vps in media temple?

Staff
15,308 Points
2014-06-25 8:09 am
Hello dtigs,

Caching takes place as a page is initially visited not the entire site at once. It should not have an adverse affect on the server. In fact, overall (after caching) it should decrease your load, making your site more efficient.

Kindest Regards,
Scott M
n/a Points
2014-07-06 10:19 am

W3 Total Cache is very powerful but I get high CPU usage after doing page's purge

I need to purge page's for refreshing the new pages after getting new posts of my wordpress

Could you please to advise ? Thanks

Staff
9,521 Points
2014-07-06 4:29 pm
Hello Jage,

You shouldn't need to purge the entire cache when just updating one post in WordPress. Typically when you update a post, it will automatically update the cache for that post. Are you not seeing this behavior?

Make sure that you update the WordPress plugin so that you're using the latest version which has this functionality.

Please let us know if you're still having issues.

- Jacob
n/a Points
2014-07-15 2:03 am

I installed the W3 plugin and followed these W3 total cache settings but still my account shows high resource usage, what is the problem that I am facing. How do I get rid of high resource usage?

Staff
15,308 Points
2014-07-15 8:40 am
Hello Aditya

If you have installed the plugin and still report high usage you will need to contact live support so they can take a deeper look at the specifics of your account.

Kindest Regards,
Scott M
Staff
9,521 Points
2014-07-17 7:35 pm
Hello Aditya,

You can always take a look at the CPU graphs in cPanel to keep an eye on your account's resource usage.

It looks like you had a very large usage spike on 6/27, but since then your CPU usage has been within the limits for the most part.

I'd recommend also taking a look at our optimize WordPress guide for further tips on how to tweak WordPress to use the least amount of resources possible.

- Jacob

Post a Comment

Name:
Email Address:
Phone Number:
Comment:
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

News / Announcements

WordPress wp-login.php brute force attack
Updated 2014-07-17 06:43 pm EST
Hits: 200996

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!
Ask a Question

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!