<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Smirnoff</title>
    <description>The latest articles on DEV Community by Alex Smirnoff (@301st).</description>
    <link>https://dev.to/301st</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4043581%2F7aa0efe4-99b6-4dc7-b889-465c485a720c.png</url>
      <title>DEV Community: Alex Smirnoff</title>
      <link>https://dev.to/301st</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/301st"/>
    <language>en</language>
    <item>
      <title>Page Rules are deprecated. Here is where every setting went.</title>
      <dc:creator>Alex Smirnoff</dc:creator>
      <pubDate>Thu, 23 Jul 2026 16:04:43 +0000</pubDate>
      <link>https://dev.to/301st/page-rules-are-deprecated-here-is-where-every-setting-went-fno</link>
      <guid>https://dev.to/301st/page-rules-are-deprecated-here-is-where-every-setting-went-fno</guid>
      <description>&lt;p&gt;Cloudflare's documentation now titles the Page Rules section "&lt;a href="https://developers.cloudflare.com/rules/page-rules/" rel="noopener noreferrer"&gt;Page Rules (deprecated)&lt;/a&gt;". The page itself carries no banner, no date and no explanation. The replacement products exist, they are documented, and the mapping between old and new is published. What is missing is anyone telling you which of your rules will quietly stop doing anything.&lt;/p&gt;

&lt;p&gt;Thirty three settings, five destinations, and five settings that go nowhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  The five that go nowhere
&lt;/h2&gt;

&lt;p&gt;Start here, because this is the part that costs you something. Cloudflare's &lt;a href="https://developers.cloudflare.com/rules/reference/page-rules-migration/" rel="noopener noreferrer"&gt;migration reference&lt;/a&gt; lists these as settings that will not be migrated, each with its own reason:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Setting&lt;/th&gt;
&lt;th&gt;Cloudflare's reason&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Disable Performance&lt;/td&gt;
&lt;td&gt;this setting is deprecated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disable Railgun&lt;/td&gt;
&lt;td&gt;deprecated, since Railgun is no longer available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disable Security&lt;/td&gt;
&lt;td&gt;this setting is deprecated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Response Buffering&lt;/td&gt;
&lt;td&gt;this setting is deprecated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web Application Firewall&lt;/td&gt;
&lt;td&gt;deprecated, since the previous version of WAF managed rules is deprecated&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If one of your Page Rules turns off security or the old WAF for a path, that behaviour has no successor. The automatic migration will not warn you and will not recreate it. Whatever that rule was protecting you from, or letting through, changes without a deploy on your side.&lt;/p&gt;

&lt;p&gt;Go and look at your rules for these five before the migration reaches your zone.&lt;/p&gt;

&lt;h2&gt;
  
  
  The full map
&lt;/h2&gt;

&lt;p&gt;Everything else has somewhere to go. Read off the migration reference on 22 July 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Page Rules setting&lt;/th&gt;
&lt;th&gt;Replacement&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Always Use HTTPS&lt;/td&gt;
&lt;td&gt;Redirect Rules (Single Redirects)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Forwarding URL&lt;/td&gt;
&lt;td&gt;Redirect Rules (Single Redirects)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser Cache TTL&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bypass Cache on Cookie&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache By Device Type&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache Deception Armor&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache Level&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache on Cookie&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache TTL by status code&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom Cache Key&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edge Cache TTL&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Origin Cache Control&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Origin Error Page Pass-thru&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Query String Sort&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Respect Strong ETags&lt;/td&gt;
&lt;td&gt;Cache Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Browser Integrity Check&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disable Apps&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Disable Zaraz&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Email Obfuscation&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opportunistic Encryption&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Polish&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rocket Loader&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security Level&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSL&lt;/td&gt;
&lt;td&gt;Configuration Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Host Header Override&lt;/td&gt;
&lt;td&gt;Origin Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resolve Override&lt;/td&gt;
&lt;td&gt;Origin Rules&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IP Geolocation Header&lt;/td&gt;
&lt;td&gt;Transform Rules (Managed Transforms)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;True Client IP Header&lt;/td&gt;
&lt;td&gt;Transform Rules (Managed Transforms)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two things fall out of reading it as a whole.&lt;/p&gt;

&lt;p&gt;Most of Page Rules was caching. Thirteen of the thirty three settings became Cache Rules, and another nine became Configuration Rules. Redirects, the thing Page Rules is remembered for, account for two.&lt;/p&gt;

&lt;p&gt;And the replacements are separate products. A single Page Rule that set a cache level, forced HTTPS and overrode the host header becomes three rules in three different places. There is no combined view of what a path does any more.&lt;/p&gt;

&lt;p&gt;They also carry their own quotas, which are not the ones Page Rules had, and on the free plan one of them may not even be the number the documentation states. Worth reading before you plan a migration around a limit: &lt;a href="https://301.sh/cloudflare-free-plan-redirect-limits/" rel="noopener noreferrer"&gt;the docs say 10,000 bulk redirects, your account may have 20&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Cloudflare does not say
&lt;/h2&gt;

&lt;p&gt;The migration reference is clear about the destination and vague about the schedule. Its words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This process is planned for late 2025 or beyond, with no action required on your part.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Written in the middle of 2026, "late 2025 or beyond" is doing a lot of work.&lt;/p&gt;

&lt;p&gt;There is also no published date for when creating new Page Rules stopped being possible. Third party write ups name one, Cloudflare's own documentation does not, and I am not going to repeat a date I cannot source. What the documentation does show is the feature being hollowed out on a schedule: the &lt;a href="https://developers.cloudflare.com/deprecations/" rel="noopener noreferrer"&gt;deprecations page&lt;/a&gt; records that on 3 November 2025 the Mirage parameter was removed from Page Rules settings and from the &lt;code&gt;POST&lt;/code&gt;, &lt;code&gt;PATCH&lt;/code&gt; and &lt;code&gt;PUT&lt;/code&gt; operations on &lt;code&gt;/zones/{zone_id}/pagerules&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So the honest summary is that Page Rules still exist, still work, are losing parameters one at a time, and will be migrated for you at an unspecified point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Migrating by hand, and checking you got it right
&lt;/h2&gt;

&lt;p&gt;Waiting for the automatic migration is a reasonable choice for most zones. Doing it yourself is worth it when you want the five dropped settings handled deliberately, or when you want the new rules named and ordered the way you would have written them.&lt;/p&gt;

&lt;p&gt;The order is the part people get wrong. Page Rules ran by priority within one list. The replacements are separate products, each evaluated at its own point in the request, so "which rule wins" is no longer a number you control in one place. After migrating, verify against the real request rather than against your expectation: &lt;a href="https://developers.cloudflare.com/rules/trace-request/" rel="noopener noreferrer"&gt;Cloudflare Trace&lt;/a&gt; replays a URL and reports which rules matched, which is the only check that answers the question directly.&lt;/p&gt;

&lt;p&gt;If any of the migrated rules sit on a path that receives advertising traffic, check the query string separately. Trace tells you which rule matched, not what survived the hop, and &lt;a href="https://301.sh/find-the-redirect-that-drops-your-gclid/" rel="noopener noreferrer"&gt;a redirect that quietly drops the click ID&lt;/a&gt; looks perfectly healthy in every other respect.&lt;/p&gt;

&lt;h2&gt;
  
  
  When this stops being a settings screen
&lt;/h2&gt;

&lt;p&gt;For one zone this is an afternoon. Read the list, note the five with no successor, recreate the rest in three products, trace a few URLs.&lt;/p&gt;

&lt;p&gt;The arithmetic changes with the number of zones. The same afternoon, repeated, with no way to see across domains whether you finished, and nothing recording which zone you already did. That is the shape of the work &lt;a href="https://301.st" rel="noopener noreferrer"&gt;301.st&lt;/a&gt; is built for. For a single domain, the settings screen is still the right tool.&lt;/p&gt;

</description>
      <category>pagerules</category>
      <category>redirects</category>
      <category>cloudflare</category>
      <category>webdev</category>
    </item>
    <item>
      <title>The docs say 10,000 bulk redirects. Your account may have 20.</title>
      <dc:creator>Alex Smirnoff</dc:creator>
      <pubDate>Thu, 23 Jul 2026 15:57:37 +0000</pubDate>
      <link>https://dev.to/301st/the-docs-say-10000-bulk-redirects-your-account-may-have-20-3i2a</link>
      <guid>https://dev.to/301st/the-docs-say-10000-bulk-redirects-your-account-may-have-20-3i2a</guid>
      <description>&lt;p&gt;You uploaded a list of redirects, and somewhere around item 21 Cloudflare stopped taking them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This account has reached the maximum number of items&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The documentation says your free plan holds ten thousand. The import stops at twenty. Both of those are true at the same time, and the reason is a migration that was supposed to finish in 2025.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the documentation says
&lt;/h2&gt;

&lt;p&gt;Bulk Redirects quotas, read off Cloudflare's &lt;a href="https://developers.cloudflare.com/rules/url-forwarding/" rel="noopener noreferrer"&gt;availability table&lt;/a&gt; on 22 July 2026:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;URL redirects across lists&lt;/th&gt;
&lt;th&gt;Lists&lt;/th&gt;
&lt;th&gt;Rules&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;10,000&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;25,000&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business&lt;/td&gt;
&lt;td&gt;50,000&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;1,000,000&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Ten thousand on the free plan is a real number and it is current. It is simply not the number every account was actually given.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where twenty comes from
&lt;/h2&gt;

&lt;p&gt;Until February 2025 the free plan allowance was twenty. The &lt;a href="https://developers.cloudflare.com/changelog/post/2025-02-12-rules-upgraded-limits/" rel="noopener noreferrer"&gt;changelog entry that raised it&lt;/a&gt; is dated 12 February 2025, and it carries a note that turned out to matter more than the new figures:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Limits are updated gradually. Some customers may still see previous limits until the rollout is fully completed in the first half of 2025.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The rollout was expected to finish by the middle of 2025. Accounts were still reporting the old cap in July 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell which quota your account has
&lt;/h2&gt;

&lt;p&gt;Do not go looking for a number in the dashboard. The quota that governs the import is the one provisioned on the account, and the plan documentation is not a reading of it.&lt;/p&gt;

&lt;p&gt;The check that works is the one that fails. Add items to a Bulk Redirect List until it refuses. If item 21 comes back with &lt;code&gt;This account has reached the maximum number of items&lt;/code&gt;, your account is still on the old allowance no matter what the plan page says.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting it corrected
&lt;/h2&gt;

&lt;p&gt;This is fixed by asking, and the ask is small. Post on the Cloudflare Community with your domain and the exact error text, or open a ticket if your plan has one.&lt;/p&gt;

&lt;p&gt;What that gets you varies. On &lt;a href="https://community.cloudflare.com/t/bulk-redirects-on-free-plan-still-limited-to-20-items/876963" rel="noopener noreferrer"&gt;8 January 2026&lt;/a&gt; someone hit the cap while importing a list and was told:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is already a ticket on Cloudflare's side, in order to fix the underlying issue. There is no ETA. [...] I'm afraid you will have to wait, until the underlying issue has been fixed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On &lt;a href="https://community.cloudflare.com/t/free-plan-bulk-redirects-capped/937184" rel="noopener noreferrer"&gt;2 July 2026&lt;/a&gt; someone reported the same error, in the same words, and a Cloudflare engineer replied about forty five minutes later:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have corrected your Bulk Redirect limits.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Same problem, same year, two outcomes. The difference appears to be whether a staff member picks the thread up rather than anything you can control, so include the error text verbatim and name the domain. That is what the thread that got fixed did.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to use while you wait
&lt;/h2&gt;

&lt;p&gt;Here is the distinction that goes unexplained in every thread, and it solves part of the problem on its own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bulk Redirects live on the account.&lt;/strong&gt; Cloudflare's own wording: they "allow you to define a large number of URL redirects at the account level, which can apply across domains in your account". One list, every zone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Single Redirects live on the zone.&lt;/strong&gt; The free plan allowance is ten rules, and it is ten rules &lt;em&gt;per zone&lt;/em&gt;, not ten across the account. Six domains with four redirects each fit inside the free plan without touching Bulk Redirects at all.&lt;/p&gt;

&lt;p&gt;Two limits worth knowing before you lean on Single Redirects. Wildcards work on every plan, but regular expressions start at Business. And both kinds of rule need the DNS record to be proxied through Cloudflare, which is easy to forget on a domain you park rather than serve.&lt;/p&gt;

&lt;p&gt;One more thing to check if these redirects carry advertising click IDs: Bulk Redirects drop the incoming query string unless you say otherwise, and the setting that fixes it has a trap of its own. That is &lt;a href="https://301.sh/find-the-redirect-that-drops-your-gclid/" rel="noopener noreferrer"&gt;a separate test, and it takes a minute&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why searching did not help you
&lt;/h2&gt;

&lt;p&gt;The threads that get resolved end like the July one did: a single sentence from an engineer saying the limits have been corrected, and nothing after it. No cause, no scope, no note about who else is affected. Nothing that would rank, and nothing a search engine could show you when you went looking with the error message in hand.&lt;/p&gt;

&lt;p&gt;That is why the first page of results for this error is documentation stating a number your account does not have.&lt;/p&gt;

&lt;h2&gt;
  
  
  When this stops being a support ticket
&lt;/h2&gt;

&lt;p&gt;If you run one domain and a handful of redirects, none of this needs a tool. Ten Single Redirect rules on the free plan cover it, and if you need the bulk list, one forum post gets your quota corrected.&lt;/p&gt;

&lt;p&gt;It changes shape when the redirects outlive your attention. Fifty parked domains pointing at one site, several people editing rules, a quota that depends on a support ticket, and no record of which domain was supposed to point where. That is the part &lt;a href="https://301.st" rel="noopener noreferrer"&gt;301.st&lt;/a&gt; exists for: redirects across many domains, with the history of who changed what. If your answer is still one list in the dashboard, keep the list.&lt;/p&gt;

</description>
      <category>bulkredirects</category>
      <category>limits</category>
      <category>cloudflare</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hi DEV, we're 301. Yes, like the status code</title>
      <dc:creator>Alex Smirnoff</dc:creator>
      <pubDate>Thu, 23 Jul 2026 14:48:42 +0000</pubDate>
      <link>https://dev.to/301st/hi-dev-were-301-yes-like-the-status-code-53dl</link>
      <guid>https://dev.to/301st/hi-dev-were-301-yes-like-the-status-code-53dl</guid>
      <description>&lt;p&gt;Every redirect on the internet ends in a status code. Ours is &lt;code&gt;301 Moved&lt;br&gt;
Permanently&lt;/code&gt;, so introducing ourselves by moving in here felt about right.&lt;/p&gt;

&lt;p&gt;We write about the least glamorous corner of the web: &lt;strong&gt;redirects, DNS, and&lt;br&gt;
HTTP on Cloudflare.&lt;/strong&gt; The stuff nobody thinks about until a domain that&lt;br&gt;
"definitely still redirects" quietly starts returning a &lt;code&gt;522&lt;/code&gt;, and a customer&lt;br&gt;
emails you the screenshot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why we exist:&lt;/strong&gt; we got tired of guides that were correct in 2021. Cloudflare&lt;br&gt;
changes limits and retires products faster than tutorials get rewritten. The&lt;br&gt;
docs promise 10,000 bulk redirects on the free plan; plenty of accounts open&lt;br&gt;
the dashboard and find 20. So we check every number against the live docs and&lt;br&gt;
stamp each article with the date we checked it. If a post doesn't say when it&lt;br&gt;
was verified, assume it's quietly lying to you. Ours say. We are, admittedly,&lt;br&gt;
a little paranoid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you'll get from us here:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why a redirect that looks perfectly configured still returns a &lt;code&gt;522&lt;/code&gt;, a
&lt;code&gt;525&lt;/code&gt;, or a registrar parking page — three different lies, one &lt;code&gt;curl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Which of your 300 domains still redirect, and what to fix first.&lt;/li&gt;
&lt;li&gt;How to count a click on a redirect that never runs a line of JavaScript.&lt;/li&gt;
&lt;li&gt;The occasional existential post, like the time an "AI readiness" scanner
scored our own docs site &lt;strong&gt;21 out of 100&lt;/strong&gt; and we had to agree with most of it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Full disclosure, because DEV is a place that likes it: this account is the&lt;br&gt;
blog behind &lt;strong&gt;&lt;a href="https://301.st" rel="noopener noreferrer"&gt;301.st&lt;/a&gt;&lt;/strong&gt;, a platform for managing redirects at&lt;br&gt;
scale. That's the thing that made us this strange about DNS. But every article&lt;br&gt;
solves your problem first and only mentions the product where Cloudflare's&lt;br&gt;
native path actually runs out. You get the working answer either way.&lt;/p&gt;

&lt;p&gt;Everything is also mirrored at &lt;a href="https://301.sh" rel="noopener noreferrer"&gt;301.sh&lt;/a&gt; with plain markdown&lt;br&gt;
versions for the LLMs, because it's 2026 and even the robots deserve readable&lt;br&gt;
docs.&lt;/p&gt;

&lt;p&gt;Say hi, and tell us your worst redirect story. We collect those. 👋&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. If this post ever 404s, we know, and we're deeply ashamed.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cloudflare</category>
      <category>dns</category>
      <category>welcome</category>
    </item>
  </channel>
</rss>
