Skip to content
mulberryinteractive
AI & Modern Development

Why Your Drupal Site Is Slow: A Diagnostic Guide

Tim Abbott
Tim Abbott
9 March 2026
getty-images-l4BPmYdySD8-unsplash.jpg

The website is slow.

It's one of the most common complaints I hear, and one of the most frustrating. Your visitors are waiting too long, your team is getting complaints, and nobody can tell you exactly why.

The good news is that Drupal performance problems usually come from a handful of common causes. Once you identify which one you're dealing with, the solution is often straightforward.

Let me walk you through how to diagnose what's actually going on.

First: Measure the Problem

Before you fix anything, you need to know what "slow" actually means. It matters whether your pages take 3 seconds to load or 30 seconds, and whether it's slow for everyone or just some people.

Try these quick tests:

Use Your Browser's Developer Tools

  • Right-click anywhere on your site and choose "Inspect"
  • Click the "Network" tab
  • Refresh the page
  • Look at the "Load" time at the bottom

This tells you how long the page takes to load for you, right now.

Check From Different Locations Use a tool like GTmetrix or WebPageTest to test from different locations. If your site is fast from London but slow from New York, you're looking at a hosting or CDN issue, not a Drupal issue.

Test Anonymous vs Logged-In Load your homepage while logged out. Then log in and load it again. If it's significantly slower while logged in, your caching configuration is the culprit.

The Most Common Causes

Caching Isn't Configured Properly

This is the number one cause of slow Drupal sites, and often the easiest to fix.

Drupal generates pages dynamically—it runs PHP code, queries the database, and builds HTML every time someone requests a page. This is flexible but slow.

Caching stores the generated HTML so Drupal doesn't need to rebuild it every time. If caching isn't working, every single page request is doing all that work from scratch.

How to check:

  • Log out of your site
  • Load your homepage twice
  • If the second load isn't noticeably faster, caching probably isn't working

Common fixes:

  • Enable Drupal's internal page cache (it should be on by default, but check Configuration → Performance)
  • Install and configure a caching layer like Redis or Memcached
  • Use a CDN (Content Delivery Network) like Cloudflare

This can often turn a 3-second page load into a 0.5-second page load.

Too Many Modules Enabled

Every enabled module adds overhead. Drupal needs to load each module on every page request, even if that module isn't doing anything on that particular page.

I've seen sites with 100+ modules enabled, when they only actively use 30 of them.

How to check:

  • Go to Extend (admin/modules)
  • Count how many modules are enabled
  • Ask yourself: "Do we actually use all of these?"

What to do:

  • Disable modules you're not using (be careful—test on a development site first)
  • Remove modules you've disabled (just disabling doesn't remove the files)
  • Check for modules that run on every page load unnecessarily

Even 10-15 unnecessary modules can add noticeable overhead.

Inefficient Database Queries

Sometimes a view, a custom module, or a particularly complex page is running database queries that take too long.

This often happens when you have lots of content (thousands of nodes) and views or queries that don't use indexes properly.

Symptoms:

  • Specific pages are slow, but others are fine
  • The more content you add, the slower those pages get
  • Slow queries appear in your server logs

How to check: This one's more technical. You'll need to either:

  • Check your slow query log (if your hosting provides this)
  • Use the Devel module's query logging
  • Ask your hosting provider if they see slow queries

Fixes:

  • Add database indexes where needed
  • Optimize complex views (reduce the number of relationships, use caching)
  • Rewrite custom queries to be more efficient

This usually requires a developer, but it can have dramatic impact.

Large Images

This is less about Drupal and more about general web performance, but it's incredibly common.

If you're uploading 5MB photos straight from a camera and displaying them on pages, you're making visitors download huge files they don't need.

How to check:

  • Use your browser's Network tab (same as before)
  • Look for large image files (anything over 500KB is suspect)
  • Check if you're serving different image sizes for different contexts

Fixes:

  • Configure Drupal's image styles to automatically resize and compress images
  • Use WebP format for better compression
  • Lazy-load images that aren't immediately visible
  • Use a CDN to serve images

This is usually straightforward to fix and can dramatically improve load times, especially on mobile.

Hosting Infrastructure

Sometimes the problem isn't your Drupal configuration at all—it's that your hosting can't handle the traffic or doesn't have enough resources.

Symptoms:

  • Everything was fine, then suddenly got slow as traffic increased
  • Site is slow during business hours, fast at night
  • Server monitoring shows high CPU or memory usage

How to check:

  • Ask your host if they see resource constraints
  • Check your traffic analytics—has traffic increased significantly?
  • Use a tool like New Relic or Blackfire to profile server performance

Fixes:

  • Upgrade to a better hosting plan
  • Move to a Drupal-specialized host
  • Implement better caching (see #1) to reduce server load
  • Use a CDN to offload static assets

What You Can Fix Yourself

Some performance issues don't require a developer:

  • Compressing images before upload - Use a tool like TinyPNG
  • Enabling Drupal's performance settings - Configuration → Performance, turn on CSS/JS aggregation
  • Disabling obviously unused modules - If you can see you're not using it, you can safely disable it on a dev site first
  • Adding a CDN like Cloudflare - Their free tier can make a significant difference

When You Need a Developer

Other issues require someone who knows Drupal well:

  • Configuring Redis or Memcached
  • Optimizing database queries and indexes
  • Debugging caching issues (pages that should cache but don't)
  • Complex hosting configuration changes
  • Custom module performance issues

Don't Rebuild When You Can Optimize

Here's something important: slow doesn't mean broken.

I've talked to clients who were ready to rebuild their entire site because it was slow, when the actual problem was a single misconfigured view or a caching issue that took an hour to fix.

Always diagnose before you decide on a solution. A £500 optimization is better than a £30,000 rebuild if it solves the actual problem.

Getting Started

If your site is slow, start here:

  1. Measure it properly - Use tools to get real numbers
  2. Check the obvious things - Is caching enabled? Are you serving huge images? Do you have dozens of unnecessary modules?
  3. Test changes on a development site first - Never disable modules on a live site without testing
  4. Consider getting a professional diagnosis - A few hours of expert time can save you from expensive mistakes

Drupal can be extremely fast when properly configured. If your site is slow, there's usually a fixable reason.

 

Don't rebuild before you diagnose

Most slow Drupal sites have fixable problems, not fundamental ones. If yours is struggling, I'll tell you what's actually wrong - and what it'll realistically cost to fix.

Related Articles