As of [IMPORTANT] Page Rules Deprecation and [Rules] Update Page Rules references by pedrosousa · Pull Request #14566 · cloudflare/cloudflare-docs · GitHub, it seems Page Rules are now deprecated. This is a significant downgrade for customer experience, and I’d like to describe why.
The UX of Page Rules is still vastly superior to other Rules products, and some features are simply not reproducible anymore with any level of ease. They might be powerful, and that is awesome! But they suffer greatly with UX for things that were once trivial with Page Rules.
-
Simple stuff like
https://jross.dev/example.txt
becomes(ssl and http.host eq "jross.dev" and http.request.uri.path eq "/example.txt")
. Not the end of the world, but much more verbose, requires wayyy more understanding of ruleset syntax. A theme moving forward. -
https://jross.dev/test/*/*.zip
in page rules now becomes something likehttp.request.uri.path matches "^/test/[^/]+/.*\.zip$"
with other rules products. This is… awful UX. And is a direct loss of functionality for folks on free plans that don’t have access to regex. -
For simple redirects like
www.jross.dev/*
301-ing towww2.jross.dev/$1
, this now has to look something way more complex, matching onhttp.host eq "www.jross.dev"
and then a dynamic redirect withconcat("https://www2.jross.dev", http.request.uri.path)
. Do-able, but again, sooo much more understanding required. -
For more complex redirects, like
www.jross.dev/*/downloads/*.txt
redirecting todownloads.jross.dev/texts/$1/$2.txt
, I wouldn’t even know where to start with ruleset engine, and whatever output would support that would be sooooo much less maintainable than the previous page rules solution. And I’m a power user. And would almost certainly again require regex. -
Or
jross.dev/files/*/*
where I’d want to matchjross.dev/files/foo/bar.txt
, but notjross.dev/foo/baz/bar.txt
. Trivial in Page Rules, not in other Rules products. You could do it with regex I guess, if you’re on a plan that supports that, but with significantly more effort.
To be clear, the power and control you get with new rules products is great, but there has to be a better migration (and creation) path for rules like this that I would consider extremely common. These aren’t contrived examples - some of these are very similar to rules we use at my business every single day. Specifically, wildcard handling in Page Rules in trivial. Wildcard handling in other Rules products is anything but, and this really needs to be considered before you drop functionality.
This is an extremely critical concern I have both personally and professionally moving forward. How is it a product can be deprecated when the new product creates significantly worsened UX and in some cases, doesn’t even replicate the old behaviour depending on plan level?
Who can I ping to chat about this with further? As of right now, I am extremely disappointed with this deprecation announcement, and really hoped we’d see serious UX improvements to Rules products before this announcement came. cc @cloonan @mbullock @ncano