« Best Free Online Banking for Web ProfessionalsCSS Cross-Browser Compatibility Tip »
Prevent WP-Cache from Caching index
December 7th, 2007
Contents
A WordPress index page shouldn't be cached by wp-cache the same as posts or other pages not as frequently updated. This 30 second fix gives you control to not cache / or /index.php on your blog. You can use this hack to disable caching anything you want.
Disable caching specific URI's
First clear the cache from the WP-Cache Options Page. Then modify the wp_cache_is_rejected function.
- [ PRESS ] Delete cache on the WP-Cache Options Page
- [ OPEN ] wp-content/plugins/wp-cache/wp-cache-phase2.php
- [ FIND ] if (strstr($uri, '/wp-admin/'))
- [ REPLACE WITH ] if(strstr($uri,'/wp-admin/') || $uri==='/' || strstr($uri,'/index.php'))
NOTE: If anyone comes up with an improvement to this technique or a different/better implementation, please let me know so we can help with the development of an updated WP-Cache plugin!
WP-Cache Links
- WP-Cache on WordPress.org Home
- Installation
- FAQ
- Other Notes
- Other Versions
- Author Homepage
- Plugin Homepage
- Security Update - 2.1.1
Attached Files
- WP-Cache Version 2.1.1
- README.txt
- wp-cache.php
- wp-cache-config-sample.php
- wp-cache-phase1.php
- wp-cache-phase2.php
Modified wp_cache_is_rejected function
function wp_cache_is_rejected($uri) {
global $cache_rejected_uri;
if(strstr($uri,'/wp-admin/') || $uri==='/' || strstr($uri,'/index.php'))
return true; //we don't allow cacheing wp-admin for security
foreach ($cache_rejected_uri as $expr) {
if (strlen($expr) > 0 && strstr($uri, $expr))
return true;
}
return false;
}
About WP-Cache Caching Plugin
WP-Cache works by caching WordPress pages and storing them in a static file for serving future requests directly from the file rather than loading and compiling the whole PHP code and the building the page from the database...
Wp-Cache uses 2 phases
The first is called at the very begining wp-cache-phase1.php when just few code has been compiled. The second wp-cache-phase2.php after all plugins have been executed. The first phase checks if the requested URL is already cached, if so it serves from the static file and finishes. The second phase stores the generated page in a static file for further request.
Reader Comments
-
Nice. i looking for this solution.
-
Thank you! It's really funny because WP Super Cache (based on WP Cache) has an input field to accept rejected paths, but it's impossible to input / or index.php into it!
-
is this mod-rewrite safe? Since if using pretty urls are being used everything goes to index.php, will it really disable just a home page?
-
Thanks. Looking forward to the updated WP-Cache plugin.
-
Hey AA... I've been reading your material for several months --you've helped a lot with my various projects along the way. Thank you! I haven't tested this plugin yet, but I presume Wp-Cache would also affect the post comments? For example, 5 people have commented on post #39, but they're seeing a cached page, so the latest comments would not be shown. Is this correct?
