Speed Up Your Drupal Website with Caching

When you purchase through links on our site, we may earn a commission. Here’s how it works.

Turtles on grassWhat is caching? A cache is a repository that saves a static version of a page, and loads it up when a user requests it. Websites, as well as browsers, use caching to reduce page load times and increase performance. By loading a static version of a page, there is all kinds of resource usage that can be saved – from database calls to loading images. Basically, a cached page is a saved version of a page that is loaded up when a user requests it. Caching is especially useful for pages that don’t change often. If a page doesn’t change, there’s no point for a website or browser to reload and recreate every aspect of a page, making calls to databases, etc. to grab content, every single time a user visits the page. Without caching, a server’s performance is impacted, bandwidth usage increases, and web page load times slow to a crawl.

What Caching Options Does Drupal Have?

With Drupal, you have several caching options at your disposal, especially if you have Drupal 6.x or later installed. The default Drupal installation comes with cache settings that you can access at /admin/settings/performance. Our recommended settings are as follows:

  • Caching mode: Normal
  • Minimum cache lifetime: 1 hour
  • Page compression: enabled
  • Block cache: enabled
  • Optimize CSS files: enabled
  • Optimize JavaScript files: enabled

The main thing to note here is the minimum cache lifetime. By setting the cache to 1 hour, you are storing pages in the cache for one hour before refreshing them. This means if there’s an update to a page an anonymous user will see it within the hour.

There’s also a clear cached data button that you can use to clear out all the caches at once. This is especially useful if you made a change to the site and are not seeing it, and are not sure where it may have been cached.

That brings us to an important distinction:

Drupal’s default page caching only applies to anonymous users

This means if you’re logged in, page caching will not be performed. This means page caching primarily benefits sites with a large amount of anonymous (not logged in) users. If your site is primarily affected by traffic from logged in users, you’ll want to consider some of the caching modules below, in addition to Drupal’s default caching options.

Turn off Caching for Development

If you’re working on your site layout, or anything to do with CSS, graphics, etc., ie. you’re developing or designing your website, you’ll want to turn caching off so you can see the changes immediately.

Additional Caching Modules for Drupal

In addition to Drupal’s default cache settings, there are quite a few useful modules you should consider to increase your website’s performance:

  • Boost – The Boost module provides static page caching for Drupal, which should result in a significant performance and scalability boost for sites that receive mostly anonymous traffic. Apache is fully supported, with Nginx, Lighttpd and IIS 7 semi-supported. Boost will cache & gzip compress html, xml, ajax, css, & javascript, and you can have different cache lifetimes for different parts of your site. Boost uses a built-in crawler that regenerates expired content for fast page loading.
  • Cache RouterCacheRouter provides a caching system that you can use to assign individual cache tables to different caching technologies – meaning you can use multiple caching mechanisms at once. CacheRouter also caters to anonymous users by allowing you to utilize Drupal’s page_fast_cache part option.

Drupal Caching via Cron

Caching modules typically rely on cron calls (scheduled commands performed on your database on a regular basis). If you’re not familiar with cron jobs, you’ll probably want to download and install Drupal’s PoorMansCron module.

Tagged With: ,

The information provided through this website should not be used to diagnose or treat a health problem or disease; it is not intended to offer any legal opinion or advice or a substitute for professional safety advice or professional care. Please consult your health care provider, attorney, or product manual for professional advice. Products and services reviewed are provided by third parties; we are not responsible in any way for them, nor do we guarantee their functionality, utility, safety, or reliability. Our content is for educational purposes only.

Notify of
Oldest Most voted
Inline Feedbacks
View all comments