I'm working with Drupal and I'm trying to improve the performance of a site. I'm particularly interested in understanding which areas I should check first, such as caching, image optimization, and unnecessary modules.

What would be a good starting point for diagnosing performance issues in Drupal, and are there any recommended Drupal.org resources for beginners?

Comments

ressa’s picture

Please share a link to your web site, and we'll take a look at it.

The web site on your profile seems to be built with WordPress, so that's probably not the one ...

sajibsaha334’s picture

Since there's no specific site to look at yet, here's a general order of operations that tends to catch the biggest wins first — happy to get more specific once there's a URL or a performance report to look at.

1. Diagnose before you optimize. Don't guess — measure first:

  • Drupal core's built-in Performance Report at /admin/reports/status and /admin/config/development/performance shows your current caching config.
  • Run the site through Google PageSpeed Insights / Lighthouse and GTmetrix — they'll separate front-end (JS/CSS/images) issues from back-end (TTFB/server) issues, which matters because the fixes are completely different.
  • If TTFB is slow, the bottleneck is usually server-side (uncached page rendering, slow queries, no opcode cache) rather than anything Drupal-config related.

2. The core caching layers, roughly in order of impact:

  • Internal Page Cache (for anonymous users) and Dynamic Page Cache (for authenticated users) — both core modules, enable them if they aren't already.
  • CSS/JS aggregation — /admin/config/development/performance, easy win, no reason not to have it on in production.
  • A reverse proxy / CDN (Varnish, Cloudflare, Fastly) in front of Drupal — this is usually the single biggest lever for anonymous traffic.
  • OPcache at the PHP level — not Drupal-specific, but huge, and often overlooked.

3. Image optimization — the Image Optimize module (or a CDN with automatic image optimization) plus making sure you're using responsive image styles rather than serving full-size originals everywhere.

4. Module audit — /admin/reports/status flags some of this, but also manually check for modules you're not actually using anymore (drush pm:list --status=enabled is a fast way to eyeball it), and watch out for anything doing heavy work on every page load (badly-configured Views, uncached blocks with #cache => ['max-age' => 0]).

5. Database — slow query log, and check you have reasonable indexes if you've got custom queries or large views.

Good general references:

If you can share the site (or at least the Drupal version, hosting setup, and whether it's mostly anonymous or logged-in traffic), it'll be a lot easier to point at the 1-2 things that'll actually move the needle for your case rather than a generic checklist.

asghar’s picture

Hi sulemankhan , 

I think you can use google Lighthouse to first identified the performances issues then you need to apply the fixes. If you share the site I can review it and provide the report. 

You can reach my via team asghar.khan5 or email: mr.asghar.khan@gmail.com

sajibsaha334’s picture

Hi sulemankhan,

The very basic starting point:

  1. Go to /admin/config/development/performance
  2. Under Bandwidth optimization, check Aggregate CSS files and Aggregate JavaScript files
  3. Save configuration
musaberulkhan’s picture

Diagnose first: Run Google PageSpeed Insights or Lighthouse to get a baseline. Check your hosting—half of Drupal is slow is just a weak server. Then use Devel + Webprofiler on staging to spot slow queries.

Priority order:

  • Enable core caching (Page Cache, Dynamic Page Cache) and CSS/JS aggregation
  • Fix hosting if it's underpowered
  • Resize images with Image Styles, serve WebP, lazy-load below the fold
  • Audit modules only if profiling shows they're actually adding overhead