WP Super Cache 0.9

WP Super Cache version 0.9 is now available. WP Super Cache is a page caching plugin for WordPress that will significantly speed up your website.

Update – if your blog is installed in a sub directory instead of at the root of your server, the .htaccess file might be wrong. Download and install the development version which corrects this. You’ll have to edit the .htaccess file (anyone want to volunteer to write an auto-upgrader?) and remove the rules between the lines # BEGIN WPSuperCache and # END WPSuperCache. Delete those lines too and visit your admin page. The plugin should do it’s stuff and spit out correct mod_rewrite rules for you. The dev version also has a few other bug fixes so if you’re adventurous have fun upgrading!
There’s no need to touch wp-content/cache/.htaccess

Are we nearing version 1? Possibly. In this release a number of bugs have been fixed and the following new features added:

  1. Mobile user agents are detected and a different cache page created for them. If you use a plugin that displays a different theme to these devices it will hopefully work now. The plugin changes to “half-on” mode because the detection is done by PHP. Thanks to Alex King‘s WordPress Mobile Edition plugin for the detection code.
  2. The number of cache files will be more than halved on a normal site with plenty of anonymous visitors. This should be a huge win for WordPress MU sites and very busy blogs.
  3. The last and next garbage collection times are displayed on the admin page now.
  4. In previous versions the newly generated page was delivered uncompressed to the first visitor even if the browser supported compression. I’ve fixed this but I’m not 100% certain it will work for everyone so it’s disabled by default. Edit wp-content/wp-cache-config.php and add “$wp_cache_gzip_first = 1;” to enable this. It’s enabled here.
  5. If expiry time is longer than 30 minutes, garbage collection will be done every 10 minutes, else it’ll be done 10 seconds after the expiry time.

Unfortunately wp-content/advanced-cache.php will have to be updated again and it’s not as simple as copying the file from the plugin directory. Full instructions are printed on the admin page and it should auto update in most cases.

PS. Test your upgraded blog on Is my blog working, a project by fellow Automattican Alex Shiels.
Here’s the page for this site. 102ms page generation time is rather fast!



107 Replies to “WP Super Cache 0.9”

  1. I have been having a few problems with download times of late. I am going to install your plugin to see if it helps. Do you have any other advice on increasing download time?

  2. NVM got that working, now i’ll just wait a day to see if it has any luck. Just letting you know I don’t use comments on my site, so it’s all 100 percent static. Just get;s 700k of page views a day . thanks for helping me out here.

  3. Vahid – you’re welcome! 700k visitors? I’d really appreciate a link here from your site. I can only imagine how busy your server is!

    Stephen – if you use a lot of plugins try disabling them and reloading your blog as you enable your plugins one-by-one. That’ll find any bottlenecks. Core WordPress is very efficient.

  4. Which set of .htaccess rules do I use? Do I use the ones in the readme or the ones that it suggests I put in in the admin panel? The ones in the readme has three extra lines on the end:

    `RewriteCond %{REQUEST_FILENAME} !-f`
    `RewriteCond %{REQUEST_FILENAME} !-d`
    `RewriteRule . /index.php [L]`

  5. Hi Donncha,

    It would really be appreciated if you could add the compatibility code for Bad Behavior to your own releases as I previously requested (and others have since concurred). The rapid development of WP Super Cache is much appreciated, but adding this compatibility code to every new release is becoming a bit of a chore. 🙂

  6. Thanks again for all your work on this, Donncha. Though I can’t imagine mobile traffic being terribly high at most blogs yet, especially mine, I think it’s important to prepare for a time when mobile access to the Internet is pervasive and ubiquitous. Yours and Alex King’s work will go a long ways towards making sure WordPress stays out ahead of the crowd in this area.

  7. Lee – eventually it’ll be included once I can come up with an elegant way of doing it.

    Dave – ‘fraid not. It’s a PITA to code as it’s so low level and even now it doesn’t work properly for some some people.

    Matthew – thank you. The mobile detection had to be one of the most requested features ever.

    Randy – it’ll get you most of the way, but visit the admin page to complete installation (create the wp-content/advanced-cache.php)

  8. Great plugin. But what does ismyblogworking.com mean when it says “Your blog application probably doesn’t support browser caching.” Is there a WordPress setting I have to enable for this?

  9. Hi. Really great work with this caching plugin Donncha!

    Since the latest upgrade from version 0.8.9 to 0.9 we’re getting a lot of errors/warnings in our logs.

    [27-Jan-2009 20:11:05] PHP Warning: unlink(/x/wp-content/cache/wp-cache-c9697e6033f0108d11066a1ba36a7189.html) [function.unlink]: No such file or directory in /x/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 305
    [27-Jan-2009 20:11:05] PHP Warning: rename(/x/wp-content/cache/547696244497f5c498ddec1.41438234.tmp,/x/wp-content/cache/wp-cache-c9697e6033f0108d11066a1ba36a7189.html) [function.rename]: No such file or directory in /x/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 306

    There is no such problem with version 0.8.9.
    The error is generated using 0.9, by an anonymous user visiting the site (wp-cache), registered users (wp-supercache) aren’t producing this warning.

  10. kaset – I think I found the error, download the plugin again in about 15 minutes and install and it should go away. I haven’t tagged version 0.9 yet which is why the zip file updates. It’s generally a bad idea to do this but I wanted to give it a day in case any minor bugs showed up.

  11. Jon – AFAIR, WordPress sends a “nocache” header so your browser always requests the newest version of the page. I think that’s it.
    Statically cached files are cached in your browser for a few minutes.

  12. I’m noticing one change from 0.8.9 to 0.9 and it’s that if supercache is turned on and I browse as an anonymous user that the supercache file keeps being re-created each time I refresh a page. I can tell it’s being re-created as the timestamp at the bottom of the page keeps changing and the file in the file system changes too.

    I’ve switched back and forth between versions, done clean installs, etc, and keep seeing the same problem. I’ve also grabbed the latest trunk version from SVN to pick up your fix for the warnings above but the problem remains.

    If I switch to half-on mode, refresh the page as the anonymous user then turn supercache back on again, then from that point on all is well and the supercache file doesn’t get recreated with every subsequent refresh (the difference being that the old wp-cache version of the file has now been created). Hope that helps!

  13. John – I visited your site and reloaded the front page and the timestamp stayed the same each time at 2009-01-27 21:05:49.

    If I refreshed after a few minutes, even 2 minutes, the timestamp did change. Do you have a short expiry time? Have you verified the supercache files are being generated?

  14. John – I see it now. Do you have the mod_rewrite rules in your .htaccess file? That’s the only reason I can see that the cached files wouldn’t be served each time.

  15. I do indeed have the mod_rewrite rules in my .htaccess and note that they’ve not changed since 0.8.9 (on which it works). Perhaps there’s something specific to my server that’s causing the problem if you’re not able to reproduce it yourself. Not to worry, half-on is good enough for me!

  16. I’ve improved the way page generation time is calculated on ismyblogworking.com, to discount the connection setup time (it measures the time from when the connection is established, to the time that the server started delivering data). ocaoimh.ie is now showing about twice as fast, around 50ms or so.

    Twice as many reasons to use WP Super Cache 🙂

  17. Everything seems to be working okay but I just have a couple minor questions when you get the chance.

    I auto-updated the plugin and then went to the SuperCache admin page looking for the instructions for “advanced-cache.php” and there was nothing to be found, only the usual instructions for uninstalling. I then checked “advanced-cache.php” on the server and it appears to have been automatically updated with the plugin. I’m taking it that just visiting the admin page does the trick?

    And I have been known to be dense at times…

    The other minor thing I noticed was that the garbage collection times are not the same as my time zone (UTC-5) but rather 2 hours behind and every time I refresh the SuperCache admin page the Last and Next times change (expire time is set to 1200 seconds). Not to sure if this is what I’m supposed to be seeing.

    Otherwise 0.9 seems to be running great. And as always, thanks for all your work on this plugin. It’s an absolute must for for folks running on shared servers.

  18. I’m really impressed with the constant development of super-cache. It’s a lifesaver for one of my blogs and I use it for all of my WordPress installs that get more than 500 visitors/day.

  19. 500 visitors a day should be okay without supercache. But sometimes, you can get unexpected thousands of hits a day (from social bookmarking sites). My blog went down last time because of this – that was before I knew about SuperCache 🙁

  20. Hi Donncha,

    Thanks for all your hard work on WP-Super-Cache. I really love the fact 0.9 is now mobile foolproof; you won’t know how excited I was when I read the new announcement 😀

    I have two questions though:
    – Does WPSP 0.9 account for the fact that I have two different mobile plugins to cater different mobile browsers? (iPhone/iPod/Android is served by wpTouch, all others are served by WordPress Mobile (Andy Moore’s one, not Alex King’s).
    – Do we still need to list all the mobile UA strings in the ‘Rejected User Agents’ textfield in Super Cache’s settings page?

    Thanks for answering!

  21. I’ve experimented with SuperCache on site with about 400 visitors a day. Fast load, but eventually site was down with “internal server error 500”. So, I had have to remove this plugin and error disappeared.

  22. Glad to see WP Super Cache coming along, it seems to have some great features and speed now. I’m still confused whether I should switch from WP Cache 2.1.2 on my WordPress 2.7. WP Cache hasn’t been updated for at least a year but it hasn’t broken anything for me.

    Is it inevitable that a new WordPress will break it? And should I switch to WP Super Cache because it seems to be moving forward in sync with the latest WordPress code/features?


  23. Jean-Paul – the mobile detection function returns a string identifying the device so iPhone will be returned for iPhone and iPod for an iPod, etc. It makes caching for these devices less efficient but more flexible and will suit your setup.

    You can remove the mobile UA strings from that textbox!

    defs – check the readme.txt, obviously something wrong on your server.

  24. Kirk – you’ll only get a message if there’s an error. That time difference is the time on your server.

    Alan – you should switch.

    Chris – it’s not normal. I don’t know why that happens to you except that your server is probably overloaded and can’t cope with the traffic regenerating the cache.

    David – you haven’t tried those plugins and the new plugin have you? They should be supported because of the way the detection is done.

  25. ismyblog says this: Your blog application doesn’t support gzip compression.
    wpsc says this:

    I’m not sure who to believe. I manually un and reinstalled, but no help. I know the server has no problem with gzip because compression on the SMF/mkportal forum works fine.

    There’s also this from IMBW: Page generation time: 320 ms, Page fetch time: 396 ms. That’s my SMF test forum with mkportal. Page generation time: 1822 ms, Page fetch time: 2048 ms (I once saw 4998ms!). That’s my blog, with wpsc full on with compression. With wpsc off and uninstalled, the generation/fetch speeds aren’t much faster.

    The forum and blog are on the same server, db is localhost for both – about the only difference is the db name and user. I am using the free velocix accellerator CDN service, but if that was the problem the forum would be affected too. WP is molasses slow with supercache on or off.

    I also see on the wpsc admin page source that there’s a missing before the sc compression fieldset.

  26. Gah, the html got stripped. wpsc says this: — Cached page generated by WP-Super-Cache on 2009-01-28 04:31:27 — — Compression = gzip —

    And I also see on the wpsc admin page source that there’s a (/p) missing before the sc compression fieldset.

  27. Thanks for the update.

    The mobile device detection is a good new feature, but I think it can be improved to allow the full on mode.
    The htaccess file can be used to detect whether or not the user-agent is mobile, with the HTTP_USER_AGENT variable. Then, the redirection to mobile content can be done without any PHP code.
    Do you think that’s possible ?

  28. Ghusse – it’s possible and I thought about it for about 10 seconds before I remembered what a pain it was interacting with the .htaccess file. Maybe sometime in the future.

  29. Hey Donncha,

    I suppose this is a feature request. How about having seperate buttons to delete supercached files and regular cache files.

    I make on average 50 new posts per day and I get 20,000 uniques ……about 25% of those folks leave comments.

    My DB is getting frightening to look at. About 800mb with 120,000 posts and 350,000+ comments. 🙁

  30. Donncha: First, thanks for your quick answers. I see what you mean and this is perfect for my needs.

    Re: Ghusse’s question: A very knowledgeable PHP friend once wrote me some patches for WP-Super-Cache to deal with the mobile themes on my website (also the reason why I’m still using Super Cache 0.6.5 :(, since I didn’t want to mess with his patches. Seeing your new improvements in regard to mobile browsers I’m definitely consider upgrading, but his patches also worked in Full Mode for mobile (and yes, it involved some extra .htaccess rules).

    If you want I can send you the patches and the specific changes to .htaccess for you to review and eventually incorporate? Please shoot me a email if you’d like to have them or let me know any other way how to get these to you. Thanks.

  31. Since upgrading to 0.9 from 0.8.7, I’m experiencing a strange problem.

    My main site is running perfectly with 0.9. However, I have a backup process that dumps the MySQL database, saves the plugin configuration and data files, and then reconstructs the website on my test server using subversion. When I try to access the copy of the website on the test server, I get the “White Screen of Death”. Death screen occurs everywhere: admin and blog pages.

    After playing with different things, I discovered that I could get the test instance running again if I comment out “define(‘WP-CACHE’, true);” in wp-config.php.

    But when I go to the wp-super-cache admin screen, it complains about the missing line and won’t allow me to configure super cache. But if I put back the WP-CACHE line, I get the death screen again.

    Any thoughts?

  32. I’ve been using this great plugin for a while, It helps me keep our website up and running on a shared service, we have around 40K pageviews a day. Since version 0.8.6 if I’m not wrong, I noticed that the garbage collection is not working, the expired pages keep piling up and I need to delete them manually from the admin page

    Did anyone run into this problem ? I appreciate your help in advance


  33. I did find a small error with 0.9. When you enable the “Cache Rebuild” feature it doesn’t all wordpress to email comments to the admin.

    Once I disabled the rebuild comments were emailed again but not ones made when the rebuild was active.

    I realize the rebuild is experimental but figured I would let you know what I found it doing wrong.

    Other than that, great job on 0.9 and thanks for your dedication to a wonderful plugin

  34. techseaport: requests to your blog are handled by a CDN (velocix.com). It’s possible that is interfering with HTTP headers or negating the benefits of WP Super Cache and/or gzip compression. (It might be the case that you don’t really need them).

    The “your blog probably doesn’t support browser caching” message might sometimes be inaccurate – I’ll improve that soon. But the gzip report is correct. From this side of the net, it looks like your blog isn’t using WP Super Cache or Gzip at all.

  35. this might be dumb question but here goes… I’m referring to the mod rewrite rules section of the plugin’s panel in wordpress where it says:

    Mod Rewrite Rules

    WP Super Cache mod rewrite rules were detected in your /home/rostam/public_html/.htaccess file.
    Click the following link to see the lines added to that file. If you have upgraded the plugin make sure these rules match.

    >View Mod_Rewrite Rules< (button)

    # BEGIN WPSuperCache

    RewriteEngine On
    RewriteBase /
    AddDefaultCharset UTF-8
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} !.*=.*
    RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
    RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]

    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} !.*=.*
    RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
    RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
    RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]

    # END WPSuperCache

    Rules must be added to /home/ABCD/public_html/wp-content/cache/.htaccess too:

    # BEGIN supercache

    AddEncoding gzip .gz
    AddType text/html .gz

    SetEnvIfNoCase Request_URI \.gz$ no-gzip

    Header set Cache-Control ‘max-age=300, must-revalidate’

    ExpiresActive On
    ExpiresByType text/html A300

    # END supercache

    I’ve checked the wp-content/cache/.htaccess file and it has this in it:

    # BEGIN supercache

    AddEncoding gzip .gz
    AddType text/html .gz

    SetEnvIfNoCase Request_URI \.gz$ no-gzip

    Header set Cache-Control ‘max-age=300, must-revalidate’

    ExpiresActive On
    ExpiresByType text/html A300

    # END supercache

    so is everything ok then? or should it also have the first section -which starts…

    # BEGIN WPSuperCache


    thank you so much for this plugin!!


  36. Tonight I finally made the jump, but I think there’s something wrong 🙁 I see cache files are being generated in /cache, but the admin page keeps reporting ‘0 Cached Pages, 0 Expired Pages’. I have made all necessary changes to both /.htaccess and /wp-content/cache/.htaccess, removed the old symlinked advanced-cache.php before upgrading and everything seems to look allright, except the server doesn’t seem to serve the cache files.

    I have unchecked the experimental ‘Rebuild Cache’ option for now and my setup is in ‘Half On’ mode for the mobile browser support (option: ‘Mobile Device Support’ is checked)

    Any input would be much appreciated!

  37. Further info: this is a highly visited website (+40K pageviews daily). There’s now 247 cache files in /wp-content/cache, with the admin page reporting 4 (and 0 expired).

    PS Does it still make sense to enable the ‘Rebuild Cache’ feature even though Super Cache needs to run in Half Mode because of the mobile browser support?

  38. Jean-Paul – there’s no point using the rebuild cache feature in half on mode as you’ve guessed. Did you remember to clear out the rejected user agents textfield?

  39. Hi Donncha,

    Yes, I certainly did 🙂 (I actually did a complete uninstall and removed my old wp-cache-config.php to start completely fresh). I was also wrong with my pageviews (wrong stats page), it’s actually 100+ pageviews daily. Cache file count is now at 411 files, with the admin page reporting 16 Cached Pages / 12 Expired Pages. Expire time is set to 600 seconds. Garbage Collection reports Last: 2009-01-29 08:26:43, Next: 2009-01-29 08:36:43

  40. I have no idea if the plug-in is working right or not, but I’m going to have faith that it is. So, for thank a plug-in developer day (a day late) I just wanted to say thanks for trying to help me delivery up my pages with the least stress possible. Thanks!

  41. I just installed super cache on 3 of my blogs because my host told me I was overloading the server/database. I also changed to pconnect for mysql.

    Two questions.

    1) I am told by the plugin that “mod_expires” is missing. Is this something my host needs to implement for me?

    2) I have a banner ad plugin (wpads) that rotates banners throughout the site. I’m guessing if a page is cached it is going to keep displaying the same banners rather than allowing wpads to randomly rotate content. If so, is there a way around this?

    Thanks for all your hard work!

  42. I am using a virtual dedicated hosting plan and it seems that supercache is using all my memory since I upgraded to 0.9 ==> my website is dead. I had to disable it. The last stable version for me was 0.8.5.

    Thanks anyway.

  43. List guy – yes, your host needs to install it. Banners might be the same, depends if it uses Javascript or not. The good ad rotation scripts use Javascript.

    Joshua – thanks!

    Tathy – see the FAQ, I recently updated it to cover this.

  44. Hi Donncha,

    Whether or not it’s me I can’t say, but seeing other users with the same problem with files not being cached or not being served from cache (wordpress.org/support) as I reported here I decided to revert back to 0.8.9 (from 0.6.5 > 0.9.0) with my friends custom mobile browser detection. Added benefit is that I’m able to use full mode again. Here’s hoping a future version will enable full mode in conjunction with mobile browser support.

    Thanks for your continuing development of WP-Super-Cache!

  45. Thanks. Just talked to my host and they said they were not willing to add “mod-expires” to my server but I could do it myself. I don’t have the ability/knowledge to add the mod so my followup question is… am I going to run into problems without this mod? Should I be concerned?


  46. Thanks for replying. I’m reading and reading, but I don’t understand…it’s that parte right?

    == Custom Caching ==
    It is now possible to hook into the caching process using the add_cacheaction() function.

    Three hooks are available:

    1. ‘wp_cache_get_cookies_values’ – modify the key used by WP Cache.
    2. ‘add_cacheaction’ – runs in phase2. Allows a plugin to add WordPress hooks.
    3. ‘cache_admin_page’ – runs in the admin page. Use it to modify that page, perhaps by adding new configuration options.

    There is one regular WordPress filter too. Use the “do_createsupercache” filter
    to customize the checks made before caching. The filter accepts one parameter.
    The output of WP-Cache’s wp_cache_get_cookies_values() function.

    But how I do that?

  47. List Guy – it may affect visitors who use IE, but if you use the plugin in half-on mode it’ll be ok.

    Tathy – See the question, “Why doesn’t Popularity Contest, WP Postratings or plugin X not work or update on my blog now?” The plugin really needs to use Javascript to count users.

  48. Donncha.

    I installed your development version today and followed all the steps to uninstall the old 0.8 version properly. My question is this. In IE, Chrome and Safari in full mode my website won’t even load at all. But it works in Firefox.

    Then I switched the plugin over to 1/2 mode, and all browsers work fine. Any clue as to what the problem could be?

    Thanks you can email me if you want…

  49. I really don’t know what to think now…

    The site loads fine in all browsers, BUT on my source code I’m only seeing

    on pages in the google chrome browser.

    All other pages I test I’m seeing

    No clue if this plugin is working right or not…and I wanted to add I installed the development plugin because my blog is installed in a sub directory instead of at the root of my server.

  50. Hi

    I’m on dreamhost PS and still trying to make it work. I had to revert back to version 0.8.9 because 0.9 seemed to use too much memory (I once the max memory set to 4000 mb and my site was down with internal server errors).

    The readme file says: Private Server users at Dreamhost should edit wp-content/wp-cache-config.php and set the cache dir to “/tmp/”…

    So i did this and now there is a folder named “tmp” in wp-content. I deleted the one name “cache”.

    My question is when you do that, do you have to change the rules in htaccess ? because there are a few lines mentioning the path to /wp-content/cache/supercache/ so should i change that to /wp-content/tmp/supercache/ ?

    Thank you

  51. Hi Donncha,

    I successfully installed the plugin on one blog but have been stymied on another that’s on the same server. I get the following message but when I implement it my blog crashes.

    Mod Rewrite rules cannot be updated!

    You must have BEGIN and END markers in /home/reviewme/public_html/.htaccess for the auto update to work. They look like this and surround the main WordPress mod_rewrite rules:

    # BEGIN WordPress RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

    This message did not come up on the other blog, and the .htaccess did not contain this code.

    Thanks for your help

  52. Hi, first off – thanks for the great work on this plugin – it continues to impress.

    Now a bug. With the latest 0.9 set to status ‘on’, my homepage (after a while) starts serving cached versions of my archive pages. The only way to fix this is to regularly dump the cache or turn on to ‘half’. This has only happened since upgrading to the latest version and making adjustments as required.

  53. Hi Donncha!
    I’ve installed WP Super Cache on my site, with aprox 20K user/day.
    After activate plugin, my server has cached the pages but my server slow down! The log errors show this messages (a hundred times):

    PHP Warning: preg_match() [function.preg-match]: Unknown modifier ‘a’ in /opt/wwwroot/website/wp-content/mu-plugins/wp-super-cache/wp-cache-phase2.php on line 651

    PHP Warning: unlink(/opt/wwwroot/website/wp-content/cache/meta/wp-cache-/maurobeting539aff27fb7f50a75dd69451ff18397c.meta) [function.unlink]: No such file or directory in /opt/wwwroot/website/wp-content/mu-plugins/wp-super-cache/wp-cache-phase2.php on line 558

    PHP Warning: rename(/opt/wwwroot/website/wp-content/cache/meta/5315633304989a4630fa0d7.44555295.tmp,/opt/wwwroot/website/wp-content/cache/meta/wp-cache-/maurobeting539aff27fb7f50a75dd69451ff18397c.meta) [function.rename]: No such file or directory in /opt/wwwroot/website/wp-content/mu-plugins/wp-super-cache/wp-cache-phase2.php on line 559

    Did anyone run into this problem ? I appreciate your help in advance


  54. Hi Donncha I installed supercache on my wpmu blog and it worked for a while but then I started to get 500 errors and had to disable it ….. thanks for a great plugin hopefully once I get time I can have deeper look…

  55. Vinny – I see you’re using MU, edit your wp-cache-config.php and add the following line at line 36, or anywhere after the if( defined( ‘VHOST’ ) ) {} section:

    $blogcacheid = str_replace( ‘/’, ”, $blogcacheid );

    I think the / in the filenames of your cache files is causing your problems.

  56. HI,
    I am trying to implement WP Super Cache. I added the MOD rewrite to the to the .htaccess file using the auto add/modify in the applaication setting page. I get a meesage syaing its all working ok.

    When I go back to the WP Super Cache settings page a few hours later no files have been cached as in the super cache. I left it a few hours and when i go back and there is a Mod rewirte error again.

    I would really like to use your app but having so many issue to get it to work correctly.

    Can you help?


  57. Can anyone help me with the problem i have ? Do I have to change the rules in htaccess ? How can i make this plugin work on a dreamhost Private Server. Please help…

  58. Donncha, thank you for your great plugin, once again. I love that WP-Super Cache now works together with WPtouch, however at least one thing is not working fine, I noticed. If you have an iPhone/iPod touch, please try it yourself in my site.

    On the bottom of the mobile page there’s a link so that the user can access the normal version of the site. THAT doesn’t work.

    Can you work on fixing that, please?!

  59. Rafael – I tried Alex King’s WordPress Mobile Edition plugin and it worked fine with the wp-super-cache once I added “iPhone” to the list of user agents in Alex’s plugin. Can you try to debug it yourself? I don’t have time to install wptouch as it’s a low priority for me.

  60. Donncha, there is no place in WPtouch I can add anything to the user agents’ list, however as the plugin was made mainly for iPhones/iPods touch, I think it already does that natively. Unfortunately I don’t have sufficient knowledge to debug it myself, I’ll have to count on you or the guys from BraveNewCode to fix that in a future version. 🙁

  61. How do I activate Super Cache within Windows platform. I’ve installed your plug-in and setup the configuration but to no avail, still no caching and check the ismyblogworking.com site and it shows no caching.
    • WordPress 2.7
    • PHP Version : 5.2.8
    • MYSQL Version : 5.1.30
    • Web Server: Microsoft-IIS/6.0
    • OS Server: Windows Server 2003
    Any suggestions?

  62. Hi Donncha,

    I have a suggestion for your plugin. If you add this htaccess rules, you can implement the “mobile mode” without disabling the WP-Super-Cache mode completely.

    RewriteCond %{HTTP_USER_AGENT} !^.*iPod.*$
    RewriteCond %{HTTP_USER_AGENT} !^.*iPhone.*$

    It might also need modification on the code in order to detect it’s an ipod and stop serving a normal WP-Cache page.

  63. Emilio – Thanks, that’ll solve for iPhone and iPod users but not all other mobile users. Maybe I’ll add that to the readme.txt or display it in an information message. Really, the user agent check should be the same as the list in wp-cache-config.php which is a lot bigger than the 2 above.

  64. Hi Donncha,

    I’m on dreamhost PS and still trying to make it work.

    The readme file says: Private Server users at Dreamhost should edit wp-content/wp-cache-config.php and set the cache dir to “/tmp/”…

    So i did this and now there is a folder named “tmp” in wp-content. I deleted the one name “cache”.

    My question is when you do that, do you have to change the rules in htaccess ? because there are a few lines mentioning the path to /wp-content/cache/supercache/ so should i change that to /wp-content/tmp/supercache/ ?

    Thank you

  65. Donncha, I use the iwPhone plugin, that’s why I just mentioned that Rules. But what I meant is, you should allow Full On mode + The mobile option, and not change it automatically to Half On

  66. Emilio – the plugin changes to half-on mode to avoid problems with people who don’t have those mod_rewrite rules which is basically everyone but if there are rules then that will have to change. The plugin *won’t* update the rewrite rules so if we go down this route, it will probably have to be manually done: I’ll remove the checkbox from the admin page and have a section in the readme explaining what to do.

    Teo – I think the cache dir should be “/tmp/” and the rules in the .htaccess obviously won’t work. Unfortunately Dreamhost use NFS for the web directory which is a bad idea when it comes to caching performance. You could also try symlinking /tmp/ to somewhere in your wp-content/. That might work.

    Louie – you need some sort of mod_rewrite module for IIS but I think the wp-cache caching should work.

    cfadmin – try enabling the debug feature in wp-cache-config.php, test with a browser with no cookies for your site.

  67. I’m having a problem. It doesn’t work at all, and I know the culprit. Apparently wp-ads a commonly used banner rotation plugin does causes every page to automatically expire, so no page can ever be cached. My only solution in the meantime was to directly cache the high-traffic pages (that got on the front page of digg) and only manually delete them when they needed to update now and then for comments.

    Is there any way to support the wp-ads plugin or is any other banner rotation plugin currently supported?

    Thank you for your time.

  68. I am running this on a windows server 2003 box and I upgraded and now my whole blog is down or something, not sure what is going on. Any help is appreciated. How can I just turn this thing off? I can’t access anything in any directory. Removing the files won’t do anything.

  69. One doubt here: I’m using the plugin in Half On mode with Mobile Support activated, but before I used it with Super Cache in ON mode. In this sutation I’m in now, don’t I need any rules added to my /blog/.htaccess file?! Because the plugin only says so if I change it to FULL ON mode.

  70. Can anyone assist with this error on my wp-super cache settings page?

    Warning: rename(/home/.sites/106/site15/web/blog/wp-content/cache/supercache/www.capperspicks.com.disabled,/home/.sites/106/site15/web/blog/wp-content/cache/supercache/www.capperspicks.com) [function.rename]: Directory not empty in /home/.sites/106/site15/web/blog/wp-content/plugins/wp-super-cache/wp-cache.php on line 820

  71. Great work Donncha.

    I wonder, would it be more useful if expiry is based on number of MRU (most recently used) entries rather than time? That was I can control how much I allow cache to grow at the same time, I can have indefinite expiry.


    1. Donncha, may be I was not clear. MRU scheme only applies to the garbage collection. Hence, it may not add complexity to the normal operation. I am somehow not very convinced with time based expiry of cache data and feel that MRU based scheme could be more effective. May be you will have better insight.


  72. Dear Donncha,

    I have a website with 3500 average visits. I wanted to enable Alex King’s WordPress Mobile Edition with WP Super Cache 0.9 perfectly.

    What is the best WP Super Sache 0.9 configuration for this condition?

    Best regards,


  73. Hello all,

    I’m using this plugin and have a question about expire time. I have a blog with about 17000 visits every day. I want to make server load as light as possible. So I set the expire time to 24 hours, I think the more cache files, the less server has to generate HTML files by PHP. Do I think right? Please give me an advice.

  74. Hi Donncha,
    thanks for producing such a great, necessary plugin.

    I’m having some trouble with the Mod Rewrite rules though. The admin page is saying that they cannot be updated, so I’ve tried to update them manually to what is suggested on the admin page but every time I refresh the wp-super-cache admin page it just deletes everything between #Begin WordPress and #End WordPress.


  75. Hi Donncha,
    I have some trouble with Expire Time Setting,
    I set Expire Time as 3600 seconds, but the html file generate frequently, no new comments added. I using wp-postview plugin.


Leave a Reply