Drupal has a 404 caching problem.
Drupal's page cache is a fantastic and simple way to improve performance in production. If an anonymous user goes to
http://yoursite.com/somepage twice, the second page load is a lot faster because Drupal doesn't spend time re-rendering it; it simply serves it from the cache.
But the problem is that pages are cached by their path. That means that the server has to do all the work to render the 404 page each time a new path is not found. This can be particularly noticeable if your 404 page is a node, view, or other rendered page.
This module takes over the caching process when a page is not found and makes it a little smarter. It's been tested with nodes, but it should work with any 404 page that is served through the menu system. It is compatible with multilingual sites. It caches the 404 once per language.
If you are already using Fast 404 (or Drupal 7's built-in version), you don't really need this module, and compatibility with those configurations hasn't been tested. It's a good alternative though when you need 404 pages with some dynamic content from your site and don't want to have to update HTML files when your site structure changes.
This module, if enabled, relies on the same setting as the page cache (http://yoursite.com/admin/config/development/performance, "Cache pages for anonymous users").
- Download and enable the module
- Ensure the page cache is enabled
To clear Reuse Cached 404s's own cache, clear the cache as normal. It uses the
cache_page table as well.
A slightly more technical explanation
Reuse Cached 404s intercepts the page delivery process using
If it detects a 404 response (in other words, if
MENU_NOT_FOUND), one of two things happen:
- If this is the first 404 in this language, it caches it in a place it will be able to find it later and in the normal Drupal location (so that it will still be served from cache normally if it's visited again)
- If it's a new path that is 404'ing but the module has a cached 404 in the same language, it copies that cached copy to the normal Drupal location and then serves it.
Cached 404s are keyed by language. The
Sponsored by Project Ricochet.
- Maintenance status: Seeking co-maintainer(s)
- Development status: Under active development
- Module categories: Content, Multilingual, Performance and Scalability
- Reported installs: 35 sites currently report using this module. View usage statistics.
- Downloads: 687
- Last modified: November 28, 2014
- Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.