Stop WP-Cache From Caching Your Index
I recently ran across the issue after re-enabling WP-Cache on my blog of having my index.php being cached. This was an issue for me because I have my Twitter feed update on my front page and I wanted that to be current when I posted a new tweet. The solution to my problem was relatively simple, yet a bit of a hack job so if anyone knows of a better way to do this feel free to leave a comment.
The first thing you need to do is open your FTP client, connect to your server and navigate to wp-content -> plugins -> wp-cache now you want to download the file wp-cache-phase2.php locally, open your favorite editor and find this piece of code:
function wp_cache_is_rejected($uri) {
global $cache_rejected_uri;
if (strstr($uri, '/wp-admin/'))
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;
}
Replace that with:
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;
}
Obviously this can be applied to any page on your blog.
This worked for me I cannot make any guarantee’s it will work for you, but it should if done properly.