Cloudflare sits between search engines and your server, which means every crawl request passes through its rules. Configured well, it lowers latency and keeps the site available. Configured carelessly, it serves challenge pages to Googlebot, caches the wrong responses, or breaks HTTPS in ways that no human visitor ever notices.
DNS: the part that has to be right first
- Proxied vs DNS-only. The orange cloud routes traffic through Cloudflare; grey cloud is plain DNS. Only proxied records get caching, WAF and bot rules — and only proxied records can block crawlers.
- TTL during migrations. Lower TTLs to five minutes 24–48 hours before a DNS change so propagation is quick and rollback is realistic.
- Consistency across subdomains. A staging subdomain proxied with the same rules as production, but without authentication, is a common source of indexed duplicates.
- Email records. Keep MX, SPF, DKIM and DMARC intact when moving DNS. Broken email after a nameserver change is the most common non-SEO casualty.
SSL modes and what they break
| Mode | Behaviour | Verdict |
|---|---|---|
| Off | No encryption | Never |
| Flexible | HTTPS to Cloudflare, HTTP to origin | Causes redirect loops and mixed content — avoid |
| Full | Encrypted to origin, certificate not validated | Acceptable stopgap |
| Full (Strict) | Encrypted and validated | Correct choice |
Pair it with "Always Use HTTPS", HSTS once you are confident in the setup, and an origin certificate that does not expire silently. An expired origin certificate under Full (Strict) takes the site down for crawlers and users alike.
Bot protection versus crawlability
This is where most Cloudflare-related SEO damage happens, and it is invisible in a browser because your session is already trusted. Check these:
- Bot Fight Mode can challenge legitimate crawlers. On sites that depend on organic traffic, verified-bot allowances need to be explicit.
- Security level set to High or "I'm Under Attack" serves interstitials to everything, including Googlebot.
- Country blocking. Blocking traffic from a region also blocks crawler infrastructure operating from it. Blocking is legitimate for abuse control — it just needs a verified-bot exception.
- Rate limiting. A crawler fetching quickly can trip a rule sized for human behaviour, producing 429s and a collapsed crawl rate.
- Managed WAF rules occasionally match legitimate URL patterns, silently 403-ing a whole section.
How to verify what crawlers receive
- Search Console → Settings → Crawl stats. Look at the response-code breakdown; any meaningful share of 403, 429 or 503 is a configuration problem.
- Cloudflare → Security → Events. Filter by user agent and by verified bot to see exactly which rule fired.
- URL Inspection → Test live URL. A challenge page or a 403 here is definitive.
- Check that the rendered HTML in the live test is your page and not an interstitial.
Caching: the performance lever that matters
By default Cloudflare caches static assets and passes HTML through to the origin. Caching HTML at the edge is where the real TTFB improvement lives, but it needs care:
- Bypass the cache for authenticated sessions, carts, checkout and admin paths.
- Use cache rules keyed on cookies rather than caching logged-in responses for everyone.
- Purge on deploy and on content publish — a stale HTML cache serves outdated pages to crawlers too.
- Set long
Cache-Controlmax-age on fingerprinted assets and short values on HTML. - Enable Brotli, HTTP/2 or HTTP/3, and Early Hints where the origin supports them.
Features to treat with caution
- Rocket Loader defers script execution in ways that can break third-party widgets and delay interactive content.
- Auto Minify and JS optimisation occasionally break inline scripts; test on staging.
- Email obfuscation injects script into markup — harmless, but it can alter content in unexpected places.
- Cloudflare Workers that rewrite HTML can strip or duplicate meta tags if written without care.
Availability is a crawl signal
Sustained 5xx responses cause Google to reduce crawl rate, and prolonged outages eventually cost indexing. Cloudflare helps here through Always Online for cached pages and through load balancing with health checks — but only if the origin errors are visible to you. Set up uptime monitoring against the origin as well as the proxied hostname, because the edge can mask an origin that is failing intermittently.
Configuration checklist
- SSL mode Full (Strict), valid origin certificate, Always Use HTTPS on.
- One canonical hostname enforced by a single redirect rule.
- Verified search-engine bots explicitly allowed in firewall and bot settings.
- Security level moderate; challenge rules scoped to abusive paths, not sitewide.
- Cache rules bypassing authenticated and transactional paths.
- Automatic purge on deployment.
- Crawl stats reviewed monthly for non-200 response share.
- Staging subdomains behind authentication, not just robots rules.