One way to optimize WordPress is to install WP Super Cache, which can be done from your WordPress Dashboard under Plugins.

Suggested Settings

Please complete all four (4) steps to use the suggested settings.

Step 1. Set General Settings

On "Advanced" tab:

wp-super-cache-configure options

  • Check box next to "Cache hits to this website..."
  • Select button next to "Use mod_rewrite to serve cache files"
  • Check box next to "Compress Pages"
  • Check box next to "304 Not Modified browser caching"
  • Check box next to "Don't cache pages for known users"
  • "Cache rebuild" & "Extra homepage checks" should already be checked, leave them that way.
  • Select "Update Status" button.

Step 2. Set Mod_Rewrite Rules

Then, scroll down and select "Update Mod_Rewrite Rules" in the yellow box.

wp-super-cache-update rewrite rules

Step 3. Set Garbage Collection

Scroll down to "Expiry Time & Garbage Collection" and enter "3600" in the box, then select "Change Expiration"

wp-super-cache-garbage collection-small

wp-super-cache-garbage collection-button

Step 4. Set Rejected User Agents

It is recommended that you do not remove the default user agents from the list, to prevent bots from caching content and pages not normally seen by your visitors.

wp-super-cache-update rewrite rules

Explanation of the Options Selected

Cache hits to this website...

Enables caching

Use mod_rewrite to serve cache files

Fastest caching method, uses mod_rewrite rules in client's .htaccess file

Compress Pages

Super Cache files are compressed and stored that way so the heavy compression is done only once. These files are generally much smaller and are sent to a visitor's browser much more quickly than uncompressed html. As a result, the server spends less time talking over the network which saves CPU time and bandwidth, and can also serve the next request much more quickly.

304 Not Modified browser caching

Indicates to the client's browser whether a requested file has been modified or not (see: http://www.addedbytes.com/for-beginners/http-status-codes/ or elsewhere for more info on that apache code)

Don't cache pages for known users

This prevents logged-in users from being served cached pages and is the default for almost every caching plugin out there.

Expiry Time & Garbage Collection

The default setting will allow cache files to age 1 hour (3600 seconds) prior to being removed which is ideal. This setting can be increased for sites that do not have many posts (1,000 or less ) if you do not update your content often. If you have a very large amount of posts ( 25,000+ ), a lower setting around 1800 may be more viable to prevent stat/CPU issues due to the amount of files being created.

Rejected User Agents

It is recommended that you do not remove the default user agents from the list, to prevent bots from caching content and pages not normally seen by your visitors. (For example, if you have a calendar, a real visitor may only browse months close to now, but a bot will index every month forever as if it is a different page. Caching these pages real visitors are unlikely to visit wastes resources.)