From SiteGround CDN to Cloudflare: Setup Guide and Gotchas

From SiteGround CDN to Cloudflare: Setup Guide and Gotchas
I run a portfolio of small content and game sites, most of them hosted on SiteGround. For a long time I used SiteGround's built-in CDN — it ships in the control panel, it's one toggle to enable, and for a while it worked fine.
Then it didn't.
Over a few weeks I started seeing intermittent "Not Secure" warnings on my sites. A page would load normally, refresh, and suddenly the browser would warn about an insecure connection. Refresh again and it would be fine. Not every user hit it, not every page, not every time — but often enough that I couldn't ignore it.
After some diagnosis, I decided to stop trying to fix the behavior of a black box and migrate to Cloudflare. I tested the process on one site first (idognames.com) and then rolled it out across the rest of my portfolio.
This post walks through the setup, the configuration decisions that matter, and the real gotchas I ran into — so if you're doing the same migration, you don't have to learn them the hard way.
Why leave SiteGround's CDN?
SiteGround's CDN is convenient, but it's also opaque. When it works, it works. When it doesn't, you're mostly at the mercy of support tickets.
My specific trigger was intermittent HTTPS issues. But the broader reasons Cloudflare is worth considering:
Global edge network — Cloudflare has 300+ points of presence worldwide; SiteGround's CDN is far smaller
Free tier covers real-world needs — unlimited bandwidth, free SSL, basic DDoS protection
Granular cache control — cache rules, page rules, purge-by-URL, all on free plan
One dashboard for multiple sites — useful if you, like me, run a portfolio
Better ecosystem — R2, Workers, Pages, Images, Zaraz are all one click away if you need them later
Cloudflare also hides your origin server IP, which is a nice-to-have if you're paranoid about being targeted directly.
Pre-migration checklist
Before touching anything, do this:
1. Confirm your SSL certificate is active on SiteGround. Go to Site Tools → Security → SSL Manager. You should see an active Let's Encrypt (or other) certificate. This is important because after the migration, SiteGround still serves the origin — the certificate stays where it is.
2. Note your server IP. Site Tools → Site → Site Information. Write down the "Site IP" value. You'll need it to verify DNS records later.
3. Document any custom .htaccess rules. If you have custom redirects, force-HTTPS rules, or security headers, screenshot them. They'll still work after the migration, but it's worth having a reference.
4. Pick a test site. Don't migrate all your sites at once. Pick one you can tolerate being offline briefly — ideally not your highest-traffic one. I used a mid-traffic niche content site as my test bed.
Step 1: Add your site to Cloudflare
Sign up for a free Cloudflare account. Click "Add a site", enter your domain, and pick the Free plan — for most small to medium sites this is genuinely enough.
Cloudflare will then scan your domain's DNS records and show you what it found. This is where the first gotcha shows up — see the next section.
Step 2: DNS records review (the real gotcha section)
When Cloudflare scans your DNS, it pulls from multiple sources — including historical DNS databases. That means the list you're shown may include records that haven't been live in years.
You need to manually check every record before proceeding.
Things to look for:
All your main A records should point to your current server IP. If you see an A record pointing to a different IP, investigate before keeping it. It might be a legitimate separate service, or it might be a ghost from an old setup.
Subdomains you don't use can be deleted. I had
autoconfig,autodiscover,ftp,mail, andsshsubdomains imported automatically. If you don't use these services under your domain, delete the records — they're noise.MX records for email should stay as "DNS only" (gray cloud). Cloudflare's proxy doesn't handle SMTP; if you proxy mail records, email breaks.
TXT records for SPF, DKIM, DMARC stay as "DNS only" too.
Web-serving A and CNAME records should be set to "Proxied" (orange cloud) — this is what actually routes traffic through Cloudflare's CDN.
Tip: Cloudflare's auto-scan is a starting point, not the final answer. Treat it like a pull request from a stranger: review every line before merging.
Step 3: Change nameservers
Cloudflare gives you two nameserver addresses, something like west.ns.cloudflare.com and desi.ns.cloudflare.com.
Go to your domain registrar (wherever you bought the domain — Namecheap, GoDaddy, Porkbun, etc.) and replace the existing nameservers with the two Cloudflare gave you.
Save, and wait.
DNS propagation can take anywhere from 15 minutes to a few hours, occasionally up to 24. You can check progress with:
dig yourdomain.com NS +short
When you see the two Cloudflare nameservers in the output, propagation is complete for your current DNS resolver. Cloudflare will also email you when it detects that the nameserver change is live and your site is fully active.
Step 4: SSL/TLS configuration
This is the part most people get wrong. Open Cloudflare → SSL/TLS → Overview.
You'll see four modes: Off, Flexible, Full, Full (strict). Here's what each actually does:
Off — no HTTPS. Don't.
Flexible — browser to Cloudflare is HTTPS, Cloudflare to your origin is plain HTTP. This will break your site if your origin redirects HTTP to HTTPS (which most do), because you'll end up in a redirect loop.
Full — both legs are HTTPS, but Cloudflare doesn't strictly verify your origin certificate. Tolerant of self-signed or expired certificates.
Full (strict) — both legs HTTPS, and Cloudflare verifies your origin certificate is valid and not expired.
Set it to Full (strict). Your SiteGround-managed Let's Encrypt certificate is a valid, publicly-trusted certificate, so strict mode works out of the box. This is the most secure option, and there's no reason to accept less if your origin certificate is good.
Then go to SSL/TLS → Edge Certificates and configure:
Minimum TLS Version: TLS 1.2 — The default is TLS 1.0, which has been deprecated for years. Raise it to 1.2.
TLS 1.3: On — Modern, faster, more secure.
Always Use HTTPS: On — Any HTTP request gets 301-redirected to HTTPS at the edge, before it even reaches your origin.
Automatic HTTPS Rewrites: On — If any of your pages have
http://links in them (old content, for example), this rewrites them on the fly tohttps://, avoiding mixed content warnings.
These five settings are the minimum I'd consider "correct" for a modern site in 2026.
Step 5: Caching
Cloudflare's free tier caches static assets by default — images, CSS, JS, fonts. HTML pages are not cached by default.
For most content-heavy sites, you want HTML cached too. The simplest way:
Go to Caching → Configuration
Make sure "Caching Level" is set to Standard
Create a Cache Rule under Rules → Cache Rules: match
yourdomain.com/*, action: "Cache eligible for cache", with an edge TTL of 2 hours (or whatever fits your update cadence)
If you update content frequently, you can shorten the TTL, or use Cloudflare's "Purge Everything" button after publishing.
Things I ran into
A few smaller gotchas worth mentioning:
SiteGround's HTTPS Enforce and Cloudflare's "Always Use HTTPS" are not the same layer. SiteGround enforces HTTPS at the origin server. Cloudflare enforces it at the edge. Having both on is fine — they don't conflict, they stack. Cloudflare gets the request first and redirects before the origin is touched.
SSL certificates are still managed by SiteGround. A common confusion: "if I'm behind Cloudflare, do I still need a certificate on my origin?" Yes. Your origin still needs a valid certificate — that's what Full (strict) mode verifies. Keep your Let's Encrypt certificate renewing normally on SiteGround.
Don't forget to turn off SiteGround's CDN. After the migration, SiteGround's own CDN is no longer doing useful work. Disable it in Site Tools → Speed → CDN. Leaving it on can create an unnecessary extra hop, though it won't actively break things.
Check caching behavior after migration. Your cache-hit ratio will start low and grow over time as Cloudflare warms up. Don't judge performance in the first hour — give it a day or two.
Before and after
I didn't run formal benchmarks, but subjectively:
The intermittent "Not Secure" warnings that triggered the migration are gone
Cache control is dramatically more flexible (I can now cache HTML, which SiteGround's CDN didn't do for me)
I can see actual traffic and cache analytics in the Cloudflare dashboard
The origin is now hidden behind Cloudflare's IPs, which is a small but real security improvement
The migration itself took maybe 30 minutes per site once I'd done the first one. The hardest part was getting the first one right and confident enough to replicate the pattern.
Should you migrate?
Cloudflare's free tier is a better CDN than most hosts bundle by default — and that's not controversial, it's just the reality of the market. If you're on SiteGround and your CDN is working fine for you, there's no urgency. But if you're hitting intermittent issues, or if you just want more control and visibility, Cloudflare is a solid replacement.
I've now migrated my entire portfolio. No regrets so far. Starting with one test site was the right call — it gave me a repeatable playbook before I touched the sites I actually care about.
If you've done this migration and ran into something I didn't cover, I'd love to hear about it in the comments.
Playing around with small games in the browser: phyfun.com My game portfolio: marvingames.com



