← Back to Blog

How We Migrated Our 36-Page Website to Cloudflare Pages in 20 Minutes (And Why Netlify Had to Go)

The Problem: Netlify's Bandwidth Ceiling

We built a 36-page website on Netlify's free tier. It worked great for months. Then the bandwidth bill arrived. Or rather, the problem did: Netlify's free plan has a hard limit of 100GB per month. We hit it. Our site went offline for three days while we scrambled to fix it.

The frustration wasn't the bandwidth limit itself—it's that upgrading to Netlify Pro costs $19/month, and you're still paying for overages if you exceed the plan. For a bootstrapped company building in public, that tax adds up fast. Plus, it doesn't scale. If your site grows, you're constantly paying more.

The Real Problem: Cloud hosting shouldn't be a financial liability. If you're paying for bandwidth, your infrastructure is someone else's profit center. Cloudflare flipped the model.

Why Cloudflare Pages Won Out

We evaluated three options: Vercel, Netlify Pro, and Cloudflare Pages. Here's what we found:

Cloudflare Pages has no bandwidth limit on the free plan. Not 100GB. Not 200GB. Unlimited. That single feature made it the obvious choice.

But bandwidth was just the first win. Cloudflare also delivered:

All free. Forever. No credit card required.

The 20-Minute Migration Process

Here's exactly how we migrated our 36-page static website from Netlify to Cloudflare Pages in 20 minutes. This is a step-by-step guide you can follow for your own site.

Step 1: Create a Cloudflare Account and Add Your Domain (2 minutes)

⏱ 2 minutes

What we did: Signed up for Cloudflare (free tier), added our domain mewrcreate.com to the account. Cloudflare generates two nameservers: angela.ns.cloudflare.com and otto.ns.cloudflare.com. Note these down.

Cloudflare automatically scans your domain for existing DNS records and imports them. This is painless.

Step 2: Update Nameservers at Your Domain Registrar (2 minutes)

⏱ 2 minutes

What we did: Logged into Namecheap (our registrar), found the DNS settings, and updated nameservers from Netlify's to Cloudflare's.

This change doesn't take effect immediately—DNS propagation takes 5 minutes to 48 hours. We did this first to let it propagate while we set up Cloudflare Pages.

Step 3: Create a Cloudflare Pages Project (3 minutes)

⏱ 3 minutes

What we did: In Cloudflare Dashboard → Workers & Pages → Pages → Create a project. Selected "Direct upload" (since our site is static HTML, no build step). Named the project "mewrcreate."

Cloudflare offers both Git integration (auto-deploy from GitHub) and direct upload. We chose direct upload for speed.

Step 4: Upload Your Website Files (5 minutes)

⏱ 5 minutes

What we did: Compressed our website folder (36 HTML files, CSS, JavaScript, images) into a ZIP file. Dragged and dropped it into the Cloudflare Pages upload interface.

Cloudflare uploaded all files and deployed them instantly. The site was live on a temporary URL (mewrcreate.pages.dev) within seconds.

Step 5: Configure Custom Domains (3 minutes)

⏱ 3 minutes

What we did: In Cloudflare Pages project settings → Custom domains. Added mewrcreate.com and www.mewrcreate.com. Cloudflare auto-configured the DNS records.

Both domains were verified within seconds. HTTPS certificates were auto-provisioned (no manual steps).

Step 6: Wait for DNS Propagation (5 minutes)

⏱ 5 minutes

What we did: Waited for DNS nameserver changes to propagate globally. Checked DNS status using `nslookup mewrcreate.com` on terminal. Once Cloudflare nameservers showed up, the site was live.

In our case, propagation took about 5 minutes. Yours could be 2 minutes or 48 hours. We got lucky.

Total time: 20 minutes. Site live. Zero downtime.

Pro Tip: If DNS propagation is slow, you can test your site immediately using the temporary mewrcreate.pages.dev URL. By the time you finish testing, your custom domain will be live.

Cost Comparison: Netlify Pro vs Cloudflare Pages

Feature Netlify Pro Cloudflare Pages (Free)
Monthly Cost $19 $0
Bandwidth Included 400 GB/month Unlimited
Overage Cost $55/100GB over limit $0 (unlimited)
Global CDN Yes Yes (270+ locations)
HTTPS/SSL Yes Yes (auto-renewal)
Custom Domains Yes Yes (unlimited)
Git Integration Yes Yes
Build Minutes 300/month (shared pool) Unlimited
Analytics Premium only Included
Annual Cost (12 months) $228 $0

Bottom line: We save $228 per year by switching. That's $228 we can reinvest in content, tools, or paid advertising. For a bootstrapped startup, that's real money.

What We Learned: The Gotchas and Wins

Gotcha 1: DNS Propagation Timing

We changed nameservers at our registrar before Cloudflare was fully ready. For a few minutes, DNS resolved to neither Netlify nor Cloudflare. The site was unreachable. (It lasted only a few minutes, but it taught us: coordinate the timing.)

Lesson: Have Cloudflare project ready, custom domains configured, and DNS records added. Only then change nameservers at your registrar.

Gotcha 2: Netlify Deploy Keys

Our old Netlify deploy key didn't transfer. (Obviously.) We had to disconnect any GitHub automation that was pushing to Netlify and reconnect it to Cloudflare Pages.

Lesson: Update any CI/CD pipelines or GitHub Actions that reference your old hosting provider.

Win 1: Zero Downtime

By using the temporary pages.dev URL during setup, we tested everything before cutting over. Site never went offline.

Win 2: Analytics Out of the Box

Cloudflare's built-in analytics dashboard showed real-time traffic, bandwidth, and geography data. On Netlify, this feature required upgrading to Pro.

Win 3: Faster Deployments

Direct file upload to Cloudflare Pages deploys faster than Netlify's build queue. The site is live in seconds, not minutes.

Why This Matters for Bootstrap Founders

This migration represents a broader principle: infrastructure should scale with your success, not against it. Netlify's free tier works great until it doesn't. Then you're paying $19/month just to avoid downtime. Cloudflare's free tier has no artificial ceiling.

For bootstrapped companies, every dollar saved on infrastructure is a dollar invested in product. We're using our $228 annual savings on content tools and paid ads.

If you're on Netlify and wondering whether to upgrade or switch, the answer is clear: migrate to Cloudflare Pages. The process takes 20 minutes. The savings are real. The performance is identical or better.

Ready to Migrate to Cloudflare Pages?

Follow our step-by-step guide above. You can migrate any static website (HTML, CSS, JavaScript) in under 30 minutes. No downtime required. Free forever, with unlimited bandwidth.

Get Started with Cloudflare Pages Questions? Let's Talk

One More Thing: The Netlify Perspective

We don't hate Netlify. It's a solid platform. The free tier got us launched and validated our concept. The team is great. For projects that fit within 100GB/month, it's fine.

But if you're serious about scaling your site without paying hosting taxes, Cloudflare Pages is the move.


By Ethan Wilmoth, MEWR Creative Enterprises LLC
Build in public, save on infrastructure, invest in product. The Cloudflare Pages migration that saved us $228/year and gave us unlimited bandwidth, global CDN, and zero downtime.

← Back to Blog