Netlify to Cloudflare
Note
12/18/2024 - Thank you to Robb Knight’s, creator of EchoFeed help, this post is updated below with information to skip blocking EchoFeed if you’re using it.
I had been contemplating the move to Cloudflare from Netlify for a host of reasons; their approach to keeping AI bots, etc., from your site was one of them. Then I got an email from Netlify telling me I had reached 50% of usage a week or so ago and pushing me to a different tiered plan. This site doesn’t get a ton of traffic and Cloudflare’s free plan has more robust features than Netlify’s, so the time had come.
It was relatively simple. If you, like me, did not use Netlify’s CLI to deploy to your site (i.e., you use the command npx @11ty/eleventy
to build) then all you need to do is go to Cloudflare’s docs on deploying an 11ty site and follow along. It is dead simple … sort of.
The “sort of” is if you use a custom domain. Cloudflare does mostly force you into using them as the primary DNS (at least on the free plan). For me this was fine.
Tip
Before you make the move from Netlify to Cloudflare, I would strongly encourage you to add your domain to Cloudflare first.
You’ll need to change the nameservers at your registrar and while activation for me happened pretty quickly, you want to make sure you’re not caught in limbo with your site deploying to Cloudflare and the domain down (I think I ran into this for a few minutes). Also, as you’re setting up the custom domain, Cloudflare has an Auto DNS feature that will search for your records. I ended up mostly setting them up manually but your mileage may vary.
If you’re using EchoFeed with your feed, you’ll also need to unblock it. Log in to Cloudflare, select Websites
from the menu and click on the one that you want to make changes to. Under Security
on the left menu, select WAF
. Then select the Custom Rules
tab and add your rule:
- Field =
User Agent
- Operator =
equals
- Value =
EchoFeed fetch bot; https://echofeed.app
- Under
Then take action
chooseSkip
. - Choose which WAF components to skip (there should be four checkboxes, I chose them all).
- Under
Place at
, select orderFirst
.
Now EchoFeed should no longer be blocked.
The last thing I have to do yet is set up scheduled builds via GitHub Actions to Cloudflare[1]. This isn’t as much of a priority for me now. It deploys automatically after pushing to my repository and I mostly had the action set up because I had webmentions on my site. Since removing those, I don’t have much of a need for it anymore.
Including the wait for the domain to activate on Cloudflare, the total process took me about an hour and a half and the only interaction I had to take with Netlify during it was to delete the site from Netlify once I was sure the DNS records were set and the domain was up and running on Cloudflare.
Footnotes
Jonas Brusman’s and Cassey Lottman’s posts on creating an action for this are excellent resources and I will refer back to them when I get around to setting it up. ↩︎
- ← Previous
Adding GitHub Style Alerts and Footnotes - Next →
Welcome to 2025