Speed Up Your Drupal Website with Caching

To sustain this free service, we receive affiliate commissions via some of our links. This doesn’t affect rankings. Our review process.

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.

About The Author:

Alex has been involved on the business side of the internet since the early 2000's. He holds both a Management Science degree from the University of California at San Diego as well as a Computer Science degree from NJIT.

We Rock Your Web had its roots back in 2004 as the tech blog for a web design and development company Alex founded that has grown and evolved into the parent company of We Rock Your Web.

While his foundation is rooted in web development, his expertise today lies in content and digital marketing, SEO, organic and paid search, analytics, and publishing. Alex is an avid tennis player, nature enthusiast, and hiker, and enjoys spending time with his wife, friends, and dogs.

Disclaimer: This website contains reviews, opinions and information regarding products and services manufactured or provided by third parties. We are not responsible in any way for such products and services, and nothing contained here should be construed as a guarantee of the functionality, utility, safety or reliability of any product or services reviewed or discussed. Please follow the directions provided by the manufacturer or service provider when using any product or service reviewed or discussed on this website.

Subscribe
Notify of
6 Comments
Inline Feedbacks
View all comments