STATUS IS UPWEBSITE READINESS

Stack playbook · Snapshot 23 October 2026

Drupal on Cloudflare: readiness playbook

What 153 measured sites on this stack get right, where they fall short, and the Drupal on Cloudflare-specific steps that close each gap.

Sites measured
153

detected from homepage HTML and headers

Median readiness index
70/100

all sites: 64

Profiles on this stack
74

top-50K sites

Readiness by lane

Enable

85/100

All sites 77

Harden

64/100

All sites 56

Accelerate

69/100

All sites 64

Recover

7/100

All sites 10

The Drupal on Cloudflare playbook

Gaps ordered by impact, with the platform-specific step where one exists.

  1. HSTS kept for at least a year

    32% observed · all sites 34%

    Send Strict-Transport-Security on HTTPS responses. Start with a short max-age (for example 300 seconds), confirm every subdomain works over HTTPS, then raise it in steps to 31536000. Add includeSubDomains only when all subdomains are HTTPS. HSTS preload is optional and hard to undo; hstspreload.org itself does not recommend it by default.

    On Cloudflare: Enable HSTS under SSL/TLS > Edge Certificates > HTTP Strict Transport Security and raise max-age gradually.

  2. security.txt published

    9.3% observed · all sites 7.1%

    Publish /.well-known/security.txt with at least Contact and Expires fields, as RFC 9116 requires, and review it before it expires.

    On Cloudflare: Cloudflare Security Center can serve a security.txt file for the zone.

  3. No render-blocking scripts in <head>

    31% observed · all sites 48%

    Add defer to scripts that need the DOM, async to independent ones such as analytics, or move them to the end of the body.

  4. CAA records limit who can issue certificates

    22% observed · all sites 13%

    Publish CAA records naming every CA you actually use, including the CAs your CDN uses for managed certificates. Add an iodef contact if you want reports.

    On Cloudflare: Cloudflare documents which CAs its managed certificates need; include them in your CAA records.

  5. Modern image formats in use

    49% observed · all sites 40%

    Serve WebP or AVIF with a JPEG or PNG fallback, either through an image CDN or by generating both formats at build time.

    On Cloudflare: Cloudflare Polish can convert images to WebP.

  6. Static files cached for 30 days or more

    50% observed · all sites 51%

    Give versioned (fingerprinted) CSS, JavaScript, fonts and images Cache-Control: public, max-age=31536000, immutable, and change the file name whenever the content changes.

    On Cloudflare: Use Cache Rules to set edge and browser TTLs for static file paths.

  7. Content Security Policy present

    26% observed · all sites 32%

    Start with Content-Security-Policy-Report-Only to see what would break, tighten the policy over a few weeks, then enforce it.

    On Drupal: The Security Kit module includes CSP settings.

  8. DMARC policy enforces quarantine or reject

    51% observed · all sites 39%

    Publish DMARC with p=none and a reporting address first, fix any legitimate senders that fail SPF or DKIM alignment, then move to quarantine and finally reject.

Where Drupal on Cloudflare sites lead

  • Reachable over IPv692% observedall sites 48%
  • X-Content-Type-Options: nosniff90% observedall sites 48%
  • Framing restricted88% observedall sites 51%
  • Canonical URL declared93% observedall sites 68%

All 31 checks on Drupal on Cloudflare

High-readiness Drupal on Cloudflare sites

Related