SimpleCache and canonical URLs

This is a tip I posted in GetSImple's forum in June 2011:

A quick hack to make SimpleCache plugin enforce canonical URLs. Edit simplecache.php, line 48, insert this:

if ($_SERVER['REQUEST_URI'] != find_url(return_page_slug(), get_parent(false), 'relative')) {
  redirect(find_url(return_page_slug(), get_parent(false)));

(Just after the if(!in_array(return_page_slug() ... line)

You will be redirected to the correct URL (structure defined in GS settings). Pages excluded from caching will not be checked/redirected.

Why choosing SimpleCache for this experiment? Because it has more or less the same problem with url parameters as canonical redirection.

PS I might have tried to do a mini-plugin that reads SimpleCache's config and does all this, instead of patching the plugin, but there's a problem: as it would have to be hooked to 'index-pretemplate', I'm not sure if it would always (or on any system) be fired before SimpleCache (or any other plugin that uses that hook).

blog comments powered by Disqus