STATUS IS UPWEBSITE READINESS

Stack playbook · Snapshot 23 October 2026

WordPress on Cloudflare: readiness playbook

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

Sites measured
1,893

detected from homepage HTML and headers

Median readiness index
68/100

all sites: 64

Profiles on this stack
889

top-50K sites

Readiness by lane

Enable

92/100

All sites 77

Harden

54/100

All sites 56

Accelerate

73/100

All sites 64

Recover

1/100

All sites 10

The WordPress on Cloudflare playbook

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

  1. HSTS kept for at least a year

    24% 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. DMARC policy enforces quarantine or reject

    25% 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.

  3. security.txt published

    3.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.

  4. No render-blocking scripts in <head>

    32% 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.

    On WordPress: Since WordPress 6.3, scripts can be registered with a defer or async loading strategy.

  5. CAA records limit who can issue certificates

    16% 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.

  6. Content Security Policy present

    19% 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.

  7. Modern image formats in use

    48% 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 WordPress: WordPress has supported WebP uploads since 5.8 and AVIF since 6.5; image plugins or the host can convert existing images.

    On Cloudflare: Cloudflare Polish can convert images to WebP.

  8. DNSSEC signed

    5.3% observed · all sites 8%

    Enable DNSSEC at your DNS provider, then add the DS record at your registrar. Plan provider moves carefully: a stale DS record can make the domain fail to resolve.

    On Cloudflare: Enable DNSSEC in DNS > Settings and add the DS record at the registrar.

Where WordPress on Cloudflare sites lead

  • HTTP/3 advertised80% observedall sites 37%
  • Reachable over IPv689% observedall sites 48%
  • Structured data present86% observedall sites 51%
  • Certificate lifetime of 100 days or less97% observedall sites 67%

All 31 checks on WordPress on Cloudflare

CheckLaneObservedAll sitesMeasured
HTTP requests move to HTTPSHarden94%91%1,798
HSTS kept for at least a yearHarden24%34%1,893
TLS 1.3 negotiatedHarden98%91%1,893
Certificate has more than 14 days leftHarden100%99%1,893
Certificate lifetime of 100 days or lessHarden97%67%1,893
CAA records limit who can issue certificatesHarden16%13%1,891
DNSSEC signedHarden5.3%8%1,892
security.txt publishedHarden3.3%7.1%1,867
DMARC policy enforces quarantine or rejectHarden25%39%1,893
X-Content-Type-Options: nosniffHarden41%48%1,893
Framing restrictedHarden34%51%1,893
Content Security Policy presentHarden19%32%1,893
Referrer-Policy setHarden26%24%1,893
HTTP/2 negotiatedAccelerate>99%90%1,893
HTTP/3 advertisedAccelerate80%37%1,893
HTML compressedAccelerate100%93%1,893
Static files cached for 30 days or moreAccelerate67%51%1,777
Modern image formats in useAccelerate48%40%1,813
Offscreen images lazy-loadedAccelerate68%62%1,738
No render-blocking scripts in <head>Accelerate32%48%1,893
robots.txt publishedEnable97%76%1,870
XML sitemap discoverableEnable95%70%1,883
Reachable over IPv6Enable89%48%1,892
Canonical URL declaredEnable94%68%1,893
Meta description writtenEnable88%84%1,893
Mobile viewport configuredEnable>99%94%1,893
Structured data presentEnable86%51%1,893
Social preview image setEnable63%57%1,893
Page language declaredEnable98%90%1,893
At most one redirect to the homepageEnable99%98%1,893
Nameservers spread across providersRecover<1%10%1,892

High-readiness WordPress on Cloudflare sites

Related