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.
(Click on any of the images for a larger version of the image.)
Step 1. Set General Settings
On "Advanced" tab:
- 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.
Step 3. Set Garbage Collection
Scroll down to "Expiry Time & Garbage Collection" and enter "3600" in the box, then select "Change Expiration"
Step 4. Set Rejected User Agents
Scroll down, remove entries in "Rejected User Agents" and select "Save UA Strings"
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
Removing the default entries here will cause bots and crawlers to use and/or generate cached pages and is recommended if not using legacy caching.
For more information, visit the WP Super Cache Plugin site