Skip to main content
Home
GrN.dk

Main navigation

  • Articles
  • Cases
  • Services
  • Your Digital Project Manager
  • About Greg Nowak
  • Image Gallery
  • Contact
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

Cloudflare Page Rules Debt: How Quiet Configuration Drift Breaks Business Websites

Illustrated infographic summarizing: Cloudflare Page Rules Debt: How Quiet Configuration Drift Breaks Business Websites

By Greg Nowak. Reviewed 24 July 2026.

Cloudflare usually arrives for good reasons: faster delivery, managed SSL, stronger security, or a convenient place to handle redirects. The trouble begins after several launches, migrations, and agency handovers. A developer adds a cache exception, marketing redirects an expired campaign, a plugin changes another URL, and nobody removes the configuration that the new rule replaced.

The website may remain online while commercially important paths become unreliable. A form can behave differently for returning visitors, an old campaign URL can acquire three redirect hops, or a preview page can be served from cache. That is Cloudflare rules debt: individually reasonable decisions combining into a request path that nobody can confidently explain.

Why legacy Page Rules become operational debt

Cloudflare recommends its modern Rules products for new implementations. They do not share the old Page Rules execution model. Page Rules use the highest-priority matching rule, while modern rules can combine within defined product phases. Later matching rules generally override earlier non-terminating changes, but redirects are terminating actions: the first applicable redirect executes and evaluation stops.

Modern Rules products also take precedence when they overlap with Page Rules. A new Cache Rule can therefore override a legacy caching decision for the same path. This is useful during a deliberate migration and confusing when nobody realizes that both configurations still exist.

Caching deserves particular care. Cloudflare does not cache HTML or JSON by default, and its normal behavior excludes responses with directives such as private or no-store, responses containing Set-Cookie, and methods other than GET. However, choosing Eligible for cache in a Cache Rule enables cache-everything behavior. Edge TTL settings can also override instructions from the origin. That makes broad rules risky for authenticated, personalized, preview, quote, cart, and checkout routes.

Request path Expected treatment Evidence to capture
Old campaign URL One intentional redirect to a live, relevant page Status, each Location header, final URL
Public service page Stable canonical URL and an agreed cache policy Cache-Control, Age, CF-Cache-Status, canonical tag
Admin or preview route Explicitly excluded from shared caching Logged-out and authenticated responses
Form or account flow No stale or cross-session response Cookies, cache status, submission result
robots.txt and sitemap Reachable at the intended hostname with correct content Status, redirects, content type, final response
Test by business purpose. A dashboard inventory alone cannot show whether the complete request path works.

Start with ownership, not deletion

Before changing anything, list every layer capable of altering a request: Page Rules, Redirect Rules, Cache Rules, Origin Rules, Transform Rules, Workers, Snippets, web-server rewrites, application middleware, and CMS redirect or caching modules. Add DNS and hostname configuration where it affects whether traffic is proxied through Cloudflare.

Then assign one intended owner to each decision. Simple domain-wide redirects may belong at the edge. Redirects that editors genuinely need to manage may belong in the CMS. Application-aware access and session behavior usually belongs closer to the application. The important point is to avoid implementing the same redirect or bypass in Cloudflare, the web server, and a WordPress or Drupal module simultaneously.

A practical Cloudflare rules audit

  1. Build a commercially useful test set. Include the homepage on every live hostname, leading service pages, paid-campaign destinations, old URLs with backlinks, form and thank-you pages, login and account routes, admin and preview URLs, media files, robots.txt, and XML sitemaps. Include query-string variants where campaigns or application behavior depend on them.
  2. Write down the expected result first. For every URL, record the intended status, destination, cache treatment, canonical URL, and responsible configuration layer. Without an expected result, an audit merely describes the current confusion.
  3. Inspect real response headers. A browser can hide redirect hops and reuse locally cached responses. These commands make the response easier to compare:
curl -sS -D - -o /dev/null https://www.example.com/old-url
curl -sS -L -D - -o /dev/null https://www.example.com/old-url
curl -sS -D - -o /dev/null https://www.example.com/robots.txt
curl -sS -D - -o /dev/null \
  -H 'Cookie: session=REDACTED_TEST_VALUE' \
  https://www.example.com/account

These examples use GET rather than relying only on curl -I, which sends a HEAD request and may not follow exactly the same application path. Use a disposable test account for authenticated checks, keep credentials out of shared files and shell history, and test forms through a safe staging or controlled production workflow.

  1. Explain unexpected matches. Cloudflare Trace can simulate a request, show rule evaluation order, and test different conditions. It answers “what would Cloudflare do?” For evidence about real production requests, use the logging capability available on the account, such as Instant Logs, Log Explorer, or an existing Logpush destination.
  2. Change one responsibility at a time. Disable or replace an overlapping rule, repeat the test set, and retain a short rollback note. Do not remove a legacy Page Rule merely because a modern equivalent exists; confirm that redirects, caching, query strings, cookies, and origin behavior remain correct.

Redirects and status codes need business context

Use 301 or 308 when a move is genuinely permanent, and 302 or 307 when the original URL is expected to return. Google treats permanent redirects as stronger canonical signals than temporary redirects. Avoid unnecessary chains even though crawlers can follow several hops: every extra decision makes testing, handover, and incident diagnosis harder.

Do not conceal missing content with a blanket redirect to the homepage. A legitimate removed URL can return 404 or 410. Google does not index URLs returning 4xx responses, while persistent 5xx and 429 responses can slow crawling and eventually affect indexed URLs. Those codes should therefore appear in launch and monitoring checks, not only in infrastructure alerts.

What a clean handover should contain

The useful deliverable is not an exported rule list. It is a short operating model: which layer owns redirects, which paths must bypass shared caching, how staging and legacy hostnames behave, who can approve changes, and which URLs must be retested after a launch.

For WordPress and Drupal teams, this is especially valuable because Cloudflare, the web server, the CMS, and installed modules can all make locally sensible decisions. Reducing overlapping ownership makes future releases safer and gives the next agency something better than institutional guesswork.

If your team has inherited legacy Page Rules, unexplained cache behavior, or redirects nobody wants to touch before a launch, Greg can map the request path and turn it into a maintainable operating plan. See how Greg supports digital projects and agency handovers.

Related on GrN.dk

  • AI Crawler Control for Business Websites: Protect Content Without Vanishing from Search
  • URL Parameter Sprawl: Where SEO, Caching, and Analytics Collide
  • AI disclosure rules belong in the CMS, not a spreadsheet

Need help with this kind of work?

Discuss your website operations with Greg Get in touch with Greg.

Sources

  • Cloudflare Page Rules migration guide
  • Cloudflare Cache: Default cache behavior
  • Cloudflare Rules: Trace a request
  • Google Search Central: Redirects and Google Search
  • Google Crawling Infrastructure: How HTTP status codes affect crawlers
Last modified
2026-08-07

Tags

  • Cloudflare
  • Website Operations
  • Technical SEO
  • wordpress
  • Drupal

Review Greg on Google

Greg Nowak Google Reviews

 

Written recommendations from Trafik og Veje, Aarhus Municipality (2011) and AgroTech (2010) — read them on LinkedIn.

Illustrated infographic summarizing: Search Console Can See TikTok Now. Your Reporting Has to Catch Up
Search Console Can See TikTok Now. Your Reporting Has to Catch Up
2026-08-23

Google can now report how social profiles appear in Search. Here is how to measure cross-channel discovery without mistaking visibility for business results.

Illustrated infographic summarizing: Your AI workflow has logs. Can they explain one bad decision?
Your AI workflow has logs. Can they explain one bad decision?
2026-08-22

Logs can show that every service worked while leaving a bad AI decision unexplained. See how connected traces and careful redaction close the gap.

Illustrated infographic summarizing: Security Questionnaires Eat Into Selling Time—Let AI Find the Evidence
Security Questionnaires Eat Into Selling Time—Let AI Find the Evidence
2026-08-21

NIS 2 is generating more supplier questionnaires. A controlled AI assistant can find approved answers and sources—and route uncertain cases for review.

Illustrated infographic summarizing: Locked out of your Apple developer account? Fix it before October 1
Locked out of your Apple developer account? Fix it before October 1
2026-08-20

Apple's updated developer agreement must be accepted by October 1, 2026, and many small app owners cannot even log in. Here is where Apple's two-factor codes really go, and how to fix your access before the deadline.

Illustrated infographic summarizing: Cloudflare Workflows Now Charges by the Step—Price the Outcome
Cloudflare Workflows Now Charges by the Step—Price the Outcome
2026-08-20

Cloudflare Workflows now bills paid plans for steps and stored state. Here is how to track cost per completed outcome without weakening reliability.

Illustrated infographic summarizing: Google’s AI Search Toggle Is a Publishing Decision, Not an SEO Setting
Google’s AI Search Toggle Is a Publishing Decision, Not an SEO Setting
2026-08-19

Google’s AI Search toggle forces a commercial choice about visibility, attribution and content use. Here’s how to make that choice responsibly.

Illustrated infographic summarizing: From Supplier Invoice to Bookkeeping: AI with a Control Checkpoint
From Supplier Invoice to Bookkeeping: AI with a Control Checkpoint
2026-08-18

AI can reduce the work involved in processing supplier invoices, but reliable bookkeeping requires validation, duplicate checks, approval and a clear audit trail.

Illustrated infographic summarizing: Nginx 1.30 Changed the Upstream Defaults—Test Before You Upgrade
Nginx 1.30 Changed the Upstream Defaults—Test Before You Upgrade
2026-08-17

Nginx 1.30 defaults upstream proxying to HTTP/1.1 with keepalive enabled. Here is what to inspect, model and test before upgrading.

Illustrated infographic summarizing: OpenAI’s Assistants API Shuts Down in Ten Days. Is Your App Ready?
OpenAI’s Assistants API Shuts Down in Ten Days. Is Your App Ready?
2026-08-16

OpenAI’s Assistants API shuts down on August 26, 2026. Learn what to inventory, how to preserve state and how to cut over without breaking the product.

Illustrated infographic summarizing: WordPress 7.1 Forces the Editor Into an iframe—Test Your Custom Blocks
WordPress 7.1 Forces the Editor Into an iframe—Test Your Custom Blocks
2026-08-15

WordPress 7.1 removes the non-iframe editor fallback. Learn how to audit custom blocks, test real workflows and fix compatibility issues before launch.

More articles

Built by AI — available for your business. The daily articles on this site are researched, written and illustrated by an autonomous AI pipeline. At nowa.dk I install the same kind of AI automation in businesses at fixed prices — site in Danish, English version here, and web/marketing agencies have a dedicated page.

RSS feed

Footer

  • All articles
  • Contact

GrN.dk — AI automation, web platforms, web optimization, data handling and logistics.

© 2026 GrN.dk · LinkedIn · Contact · AI automation in Danish: nowa.dk

Behind GrN.dk: Individual Entrepreneur Codecrafter · Tax ID 305669096 · Bakhtrioni St. 22, 0194 Tbilisi, Georgia · official business register