It's better when it's simple

User Tools

Site Tools


Smartcache Plugin

Compatible with DokuWiki


plugin Improve DokuWiki speed by smart usage of the browser cache

Last updated on

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Tagged with ajax, cache, javascript

This plugin enable the browser cache for users that are not logged in. The cache is automatically refreshed (and checked) using an AJAX call to the server. If the user log in, the plugin also refresh the browser cache.

You can see an example on how this plugin works here:

If you want to improve this plugin I would be very happy to add you as developer with read/write access on sourceforge. Please, contact me with your suggestions and comments.


Search and install the plugin using the Extension Manager or manually with the download from the SourceForge Mirror. Refer to Plugins on how to install plugins manually.

For some strange reason (anybody?), it is not possible to change the cache-headers using the event system. To get this plugin in to work you need to edit inc/actions.php: After the line : foreach ($headers as $hdr) header($hdr); insert:

if(!isset( $_SERVER['REMOTE_USER'])){
header('Cache-Control: public, max-age='.max($conf['cachetime'], 2000000));                          
header('Pragma: cache'); }

To speed up the AJAX code; you need to hardcode the 'datadir' path in the ajax.php script from the plugin folder. E.g., if your 'datadir' is '/var/www/data/pages/', you need to write:

print  date ("m/d/Y H:i:s",filemtime(('/var/www/data/pages/'.(str_replace(':','/',$_POST['id'])).'.txt')));  

Change Log

  • 2011-08-01
    • Initial release
  • 2011-10-10
    • Fixed an issue that gave warning during searches

Known bugs

Sometimes (after changing any preferences in administration panel or other), the screen can reload indefinitly and the page never appear. To solve it :

  • disable smartcache ; e. g. : touch lib/plugins/smartcache/disabled
  • empty cache ; e. g. : rm data/cache/*
  • clear the cache in your browser (or all browsers)
  • enable smartcache ; e. g. : rm lib/plugins/smartcache/disabled

Examples are unix commands, adapt them to your OS.


To uninstall smartcache plugin :

  • erase or disable smartcache plugin
  • delete or comment added lines in inc/actions.php
  • erase cache in data/cache (important)
  • eventually, erase cache of your browser


plugin/smartcache.txt · Last modified: 2014-12-01 14:32 by Klap-in