Cloudflare is one of the highest-leverage free tools available to a blogger. It speeds your site, blocks attacks, hides your origin server, and reduces bandwidth costs — all on a free tier that’s generous enough for almost any blog. Setting it up takes 30 minutes once you understand what’s actually happening.
What Cloudflare actually does
Cloudflare is a global network of servers (“edge nodes”) that act as a layer between visitors and your origin host. Every request to your site goes through Cloudflare first.
Cloudflare can:
- Cache static files (images, CSS, JS) at edge nodes worldwide. Visitor in Japan gets files from Tokyo, not your US-based host.
- Filter malicious traffic. Block bots, attack patterns, known bad IPs.
- Provide free SSL. Universal SSL on its edge.
- Hide your origin IP. Visitors only see Cloudflare’s IP; your actual host stays hidden.
- Reduce bandwidth costs. Cached requests don’t hit your host.
- Absorb DDoS attacks for free at the basic level.
The free tier in detail
Cloudflare’s free plan includes:
- Global CDN.
- Free SSL certificate.
- Unmetered DDoS protection.
- Basic firewall rules.
- Page caching for static files.
- Analytics (basic).
- Cloudflare DNS.
For most blogs, this is enough.
Paid tiers add: better firewall rules, image optimization, mobile-specific features, advanced analytics. Useful for large or e-commerce sites; usually unnecessary for blogs.
Setting it up
Step 1: Create a Cloudflare account
Go to cloudflare.com, sign up, add your domain.
Step 2: Cloudflare scans your existing DNS
It pulls your current DNS records (A, CNAME, MX, etc.) and shows them. Verify everything’s there — especially MX records if you use email.
Step 3: Change nameservers at your registrar
Cloudflare gives you two nameservers (something like brad.ns.cloudflare.com and emma.ns.cloudflare.com). Go to your domain registrar (Namecheap, Google Domains, etc.) and change the nameservers to these two.
Wait 1–24 hours for DNS propagation. Usually done within an hour.
Step 4: Verify active
Back in Cloudflare dashboard, you’ll see “Active” once propagation completes. Now traffic flows through Cloudflare.
Step 5: Configure SSL
SSL/TLS → set to “Full (strict)” if your origin has its own SSL certificate (recommended), or “Full” if origin SSL is self-signed. Avoid “Flexible” — it causes mixed content issues.
Step 6: Enable basic optimizations
Speed → Optimization:
- Brotli compression: on.
- Early Hints: on.
- Rocket Loader: sometimes breaks scripts. Test before enabling.
- Auto Minify: JS/CSS/HTML. Usually safe to enable.
Step 7: Configure caching
Caching → Configuration:
- Caching Level: Standard.
- Browser Cache TTL: 1 month for most blogs.
- Always Online: on. Serves cached pages if your origin goes down.
The page rules (or new “Rulesets”)
Cloudflare lets you create rules that override defaults for specific URLs. Useful ones for WordPress:
Bypass cache for admin and login
Cache everything except /wp-admin/ and /wp-login.php. Prevents logged-in users from seeing cached pages.
Free plan: limited page rules (3 on free tier). Use them on the most important paths.
Cache everything for static assets
If using Cloudflare’s “Cache Everything” mode for static-heavy paths.
Configuring with WordPress
Install the official Cloudflare plugin for WordPress. It:
- Lets you clear Cloudflare’s cache from WordPress admin.
- Auto-clears cache when content changes.
- Provides analytics inside WordPress.
This integration matters. Without it, your visitors might see stale content after you publish.
What to test after setup
- Site loads correctly. Visit a few pages.
- SSL works. URL shows lock icon, no mixed content warnings.
- Admin still works. Log in, edit a post, publish. Verify changes appear.
- Forms work. Test contact form submissions.
- Page speed improved. Run PageSpeed Insights before and after.
If anything’s broken, check Cloudflare’s “Status” tab for warnings and recently changed settings.
Common issues and fixes
“Too many redirects” error
Caused by SSL mismatch. Your origin redirects HTTP to HTTPS, but Cloudflare is in “Flexible” mode which requests HTTP from origin. Set Cloudflare SSL to “Full” or “Full (strict).”
Cached pages showing wrong content
Cache hasn’t been cleared after content change. Use the Cloudflare plugin to clear cache, or do it manually in the dashboard.
WordPress admin slow
Page rule to bypass cache on /wp-admin/* not set. Add it.
Comments not appearing
Logged-out visitors served cached version. Clear cache after moderating comments. Some plugins (Cloudflare’s official + WP Rocket) do this automatically.
IP geolocation showing wrong location
Cloudflare’s IP, not the visitor’s, reaches your server. Use the WordPress Cloudflare plugin or HTTP_CF_CONNECTING_IP header to get real visitor IPs for analytics.
Cloudflare alongside a WordPress caching plugin
You can run Cloudflare and WP Rocket (or LiteSpeed Cache, etc.) together. They cache at different layers:
- Cloudflare caches at the edge (globally distributed).
- Your WP caching plugin caches at your origin host.
This is the standard setup for fast WordPress sites. The two layers don’t conflict if configured right.
Make sure your WP cache plugin knows to clear Cloudflare’s cache when content changes. Most plugins have Cloudflare integration in their settings.
Security features worth enabling
Security level
Security → Settings → Security Level. Set to “Medium” for most blogs. “High” can block legitimate users on coffee-shop wifi.
Bot Fight Mode
Free tier feature. Blocks known malicious bots. On.
Challenge Passage
Determines how long a visitor stays trusted after passing a CAPTCHA. Default is fine.
Web Application Firewall (WAF) – paid tiers
Paid feature. Adds rules to block common WordPress attacks. Useful for high-traffic blogs; overkill for most.
The “should I move my DNS to Cloudflare” question
Most setups: yes. Cloudflare’s DNS is fast, free, and integrated with all its other features. The only reason not to: if your registrar has DNS features you specifically rely on.
If you’re keeping DNS at your registrar and just want Cloudflare’s CDN, that’s still possible via the “Partial setup” mode. More complex; usually not worth it.
The honest summary
Cloudflare’s free tier covers most bloggers: CDN, free SSL, basic firewall, DDoS protection. Setup is changing your nameservers and tweaking a few settings. Install the official WordPress plugin for cache integration. Run alongside a WP caching plugin for layered caching. Configure SSL to “Full” or “Full (strict)” — never “Flexible.” Set page rules to bypass cache on admin paths. Test thoroughly after setup. Most blogs see meaningful speed and security improvement with zero ongoing cost.
