Skip to header Skip to main navigation Skip to main content Skip to footer
Cookies UI
Alaa Haddad Offers Exceptional Drupal Custom Theming and Modules in Austin TX Alaa Haddad - Drupal Expert
Main navigation
  • Professional Profile
  • Drupal Services
    • Drupal Development
    • Drupal Developer
    • Drupal Themer
    • Drupal Architect
    • Drupal Consultant
  • My Drupal Modules & Themes
      • Cloudflare Purge
      • Solo Copy Blocks
      • W3CSS Paragraphs
      • Paragraphs Bundles
      • Acquia Purge Varnish
      • Reference Blocked Users
      • Module Matrix
      • Paragraphs Bundles Import
      • Selectify
      • Solo Utilities
      • Utilikit
      • Solo
      • Amun
      • Anhur
      • Amunet
      • W3CSS Theme
      • 3D Carousel
      • 3D FlipBox
      • Accordion
      • Carousel
      • Hero
      • Lightbox
      • Parallax
      • Reveal
      • Slideshow
      • Tabs
  • Blog
  • Videos
  • Contact
  • Hire Me (opens in new tab)
Search form
User login
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
  • Reset your password
User account menu
  • Hire Me (opens in new tab)
  • Drupal Services
  • Blog
Site branding
Alaa Haddad - Drupal Expert
Consultant • Architect • Developer • Themer - Expert Drupal Solutions
Article Title Image - Block 1

Why Your Drupal Site Is Slow: Five Layers, in Order

Content Info - Article Info
 
  10:55 PM CDT, Sun September 13, 2026
Share

Breadcrumbs

Breadcrumb

  • Home
  • Website speed
  • Why Your Drupal Site Is Slow: Five Layers, in Order

Main page content

A slow Drupal site is almost always slow for one of four reasons — uncached pages, oversized images, unaggregated front-end assets, or a slow origin — and you can identify which before changing anything.

Generic speed advice sends people optimising the wrong layer. This page is Drupal-specific and ordered by impact, so you can stop when the numbers are good enough rather than working through a checklist.

Measure first, and measure the right thing

Google's Core Web Vitals are the three metrics that matter, and one of them changed. First Input Delay was retired and replaced by Interaction to Next Paint. Guidance still naming FID is out of date, and so is any audit built on it.

  • Largest Contentful Paint — good at 2.5 seconds or under.
  • Interaction to Next Paint — good at 200 milliseconds or under.
  • Cumulative Layout Shift — good at 0.1 or under.

Test the page as an anonymous visitor, not logged in. Logged-in users skip the anonymous page cache and carry extra toolbar and contextual-link assets, so their numbers are not comparable with what a visitor gets. Aggregation and the dynamic page cache do still apply to them — neither is switched off for authenticated users the way the internal page cache is. Use a private window or the command line.

1. Check page caching is actually on

This is first because it is the biggest single difference and it is frequently off. Drupal's page cache serves an anonymous visitor a stored response without building the page at all.

Drupal's internal page cache is a module, not a setting: check it is installed at Extend, under Internal Page Cache. Without it there is no stored response for an anonymous visitor and no X-Drupal-Cache header to look for, whatever the performance settings say. Separately, cache.page.max_age in the system.performance configuration object sets the max-age sent to browsers and proxies. Core ships it at 0, which means no browser or proxy caching until somebody changes it. Set it from the Performance page, or override it in settings.php for a value the interface does not offer.

Then verify rather than assume. Request a page as an anonymous visitor and look at the response headers for X-Drupal-Cache or X-Drupal-Dynamic-Cache. A MISS on every request means something is defeating the cache — commonly a block or a module attaching a per-user cache context to every page.

2. Turn on CSS and JavaScript aggregation

Also in system.performance: css.preprocess and js.preprocess. Both default to true in core's shipped configuration, but they are routinely switched off during development and left off.

Check the page source. Twenty separate stylesheet links means aggregation is off, and turning it back on is one setting.

3. Fix the images

Uploading a 4000-pixel photograph and letting CSS scale it down means every visitor downloads the full file. Drupal has two core modules for this and neither needs contrib:

  • Image styles, from the image module, generate derivatives at defined sizes. Configure the field's display to use a style rather than the original.
  • Responsive image styles, from the responsive_image module, output a <picture> element with a srcset, so the browser picks a size that fits the viewport.

Both ship with core in Drupal 11.4.6. Add loading="lazy" for images below the fold, and leave it off the largest image above the fold — lazy-loading your LCP element makes that metric worse.

4. Look at the origin

If a cache MISS takes two seconds to generate, caching hides it from most visitors and does nothing for the first one. Two things dominate:

  • PHP version. Core 11.4.6 sets its minimum at PHP 8.3.0 and recommends 8.4. Older runtimes are measurably slower.
  • Views doing too much. An uncached View with several relationships and no pager limit is the most common single slow query on a Drupal site.

BigPipe is in core and enabled in the standard install. It streams the cacheable shell of the page immediately and fills in the personalised parts after, which improves perceived speed for authenticated users considerably. If it has been disabled, ask why before leaving it that way.

Once the origin is fast, a CDN in front of it is what turns fast into consistently fast everywhere — how long edge TTLs and purging fit together is the next step, and Drupal services covers the whole chain if you would rather not.

5. Remove what you are not using

The cheapest performance work is deletion. Uninstall modules nobody uses, remove tracking scripts from campaigns that ended, and cut web font weights you never call. Every one is bytes and execution time on every page load, forever.

Use the browser's Coverage tool to see how much of your CSS and JavaScript is actually used on a typical page. The number is usually uncomfortable.

Common questions

Why is my site fast when I test it and slow for visitors?

You are almost certainly testing while logged in, or testing a page already warm in cache. Test anonymously, and test a page you have not just visited.

Do I need a CDN?

Not to be fast. To be fast for people far from your server, yes. Fix caching and images first — a CDN in front of a slow origin just distributes the slowness.

Will a caching module fix a slow site?

Only if the slowness is repeated page builds. If a single uncached request is slow, caching hides the problem from most visitors and leaves it in place.

How much does hosting matter?

A lot for time to first byte, and not at all for image weight or unused JavaScript. Fix what is yours before paying more for hosting.

Does page speed really affect rankings?

Core Web Vitals are a ranking signal, but a small one next to content relevance. The stronger argument is behavioural: people leave slow pages.

Where to start tomorrow

Run one anonymous test, note the LCP, and then work down this list in order until it is under 2.5 seconds. Most Drupal sites get there at step two or three.

If the numbers do not move, the problem is usually in the render pipeline rather than the settings, and that needs someone to read the code — Drupal development services covers it, or send me the URL and I will tell you which of the five layers is costing you the most.

Website speed
Slide 1 of 27
Acquia Purge Varnish - API V2 (Drupal Module)
Slide 2 of 27
Amun - W3CSS Sub-Theme (Drupal Theme)
Slide 3 of 27
Amunet - W3CSS Sub-Theme (Drupal Theme)
Slide 4 of 27
Anhur - W3CSS Sub-Theme (Drupal Theme)
Slide 5 of 27
Cloudflare Purge (Drupal Module)
Slide 6 of 27
Module Matrix (Drupal Module)
Slide 7 of 27
Paragraphs Bundles (Drupal Module)
Slide 8 of 27
Paragraphs Bundles Import (Drupal Module)
Slide 9 of 27
Reference Blocked Users (Drupal Module)
Slide 10 of 27
Selectify (Drupal Module)
Slide 11 of 27
Solo (Drupal Theme)
Slide 12 of 27
Solo Copy Blocks (Drupal Module)
Slide 13 of 27
Solo Utilities (Drupal Module)
Slide 14 of 27
Utilikit (Drupal Module)
Slide 15 of 27
Views 3D Carousel (Drupal Module)
Slide 16 of 27
Views 3D FlipBox (Drupal Module)
Slide 17 of 27
Views Accordion (Drupal Module)
Slide 18 of 27
Views Carousel (Drupal Module)
Slide 19 of 27
Views Hero (Drupal Module)
Slide 20 of 27
Views Lightbox (Drupal Module)
Slide 21 of 27
Views Parallax (Drupal Module)
Slide 22 of 27
Views Reveal (Drupal Module)
Slide 23 of 27
Views Slideshow (Drupal Module)
Slide 24 of 27
Views Tabs (Drupal Module)
Slide 25 of 27
VVJ Core (Drupal Module)
Slide 26 of 27
W3CSS Paragraphs (Drupal Module)
Slide 27 of 27
W3CSS Theme (Drupal Theme)
1 of 27

Our mission is to make Drupal more accessible and user-friendly, empowering businesses of all sizes, especially small enterprises with powerful tools that streamline content customization and enhance digital experiences.

Need help with your Drupal project? Hire Me through Flash Web Center, LLC.

Search

The Drupal 11 Module and Theme Stack, With Versions Checked

ARIA Live Regions in Drupal 11: What Core Does, What You Add

Drupal Architect: The Decisions Expensive to Reverse

Drupal Services: Development, Theming, Upgrades | Austin TX

Paragraphs Bundles

Drupal Module - Paragraphs Bundles

Drupal Theme - Solo

Drupal Theme - Solo

Drupal Work List - Drupal Work

Solo Utilities (Drupal Module)

Reference Blocked Users (Drupal Module)

Solo Copy Blocks (Drupal Module)

Views Hero (Drupal Module)

Amun - W3CSS Sub-Theme (Drupal Theme)

Drupal Theme - W3CSS Theme

Drupal Theme - W3CSS Theme

Drupal Module - W3CSS Paragraphs

Drupal Module - W3CSS Paragraphs

Inspiration

Inspiration is the fuel that powers our creative engine, often coming from our surroundings, experiences, or the works of others. It's that magical moment when something clicks inside your brain, and you suddenly see a path forward that you hadn't noticed before. Inspiration can strike at any time, providing the motivation and energy needed to explore new possibilities and bring your ideas to life.

Unique Ideas

Unique Ideas

Unique ideas are the seeds of innovation, representing original thoughts or concepts that stand out from the usual. They're the sparks that ignite the process of creating something new and different, often leading to unexpected and groundbreaking solutions or products. Whether in art, science, business, or technology, unique ideas challenge the status quo and pave the way for progress.

Brainstorming

Brainstorming

Brainstorming is a creative group activity designed to generate a large number of ideas or solutions to a problem. It's a free-flowing and open-ended discussion where every suggestion is welcomed and considered, no matter how outlandish it may seem. Brainstorming encourages thinking outside the box, fostering an environment where creativity and collaboration lead to innovative solutions.

Planning

Planning

Planning is the blueprint for turning your ideas into reality. It involves setting goals, outlining steps, and organizing resources in a way that makes achieving your objectives possible. Good planning considers potential challenges and opportunities, making it easier to navigate the journey from concept to completion. It's about preparing the groundwork so that your projects can grow and flourish.

Drupal Developer

A Drupal Developer stands as the technical powerhouse behind dynamic websites, wielding expertise in PHP, custom module development, and Drupal's sophisticated API ecosystem. This role transforms business requirements into functional, secure, and scalable web solutions that power everything from small business sites to enterprise platforms serving millions of users. A Drupal Developer's expertise spans the entire development lifecycle—from architecting custom modules and integrating third-party services to optimizing performance and ensuring security compliance. Discover the complete guide to Drupal Developer skills, career paths, and hiring strategies.

Drupal Themer

A Drupal Themer serves as the artistic craftsperson who transforms wireframes and design mockups into pixel-perfect, accessible, and responsive user experiences using Twig templates, CSS, and JavaScript. This specialized role bridges the gap between design vision and technical implementation, ensuring every website not only looks exceptional but performs flawlessly across all devices and meets WCAG accessibility standards. A Drupal Themer's work encompasses the entire front-end ecosystem—from creating custom theme architectures and optimizing Core Web Vitals to implementing complex responsive designs and ensuring seamless integration with Drupal's rendering system. Explore the comprehensive guide to Drupal Themer expertise, theming best practices, and career advancement.

Drupal Architect

A Drupal Architect emerges as the strategic visionary of web construction, armed with encyclopedic knowledge of enterprise architecture patterns, infrastructure design, and Drupal's extensive technological ecosystem. This senior role operates at the highest technical level, making critical decisions that determine whether complex implementations scale successfully or collapse under real-world demands. A Drupal Architect's responsibilities begin long before development starts—during strategic planning phases where the foundation for secure, performant, and maintainable systems is established through careful evaluation of technology stacks, integration strategies, and scalability requirements. Learn about Drupal Architect skills, enterprise architecture strategies, and career progression to principal roles.

Footer menu

  • Contact
  • Professional Resume
  • Resume Summary
  • Technical Skills
  • Privacy Policy
  • Terms & Conditions
  • Search
  • Login
  • Sitemap

Copyright © 2026 Flash Web Center, LLC - All rights reserved

Developed & Designed by Alaa Haddad