Rates start @ $15/hour!
Cloudflare

Cloudflare for WordPress
Set Up So It Actually Caches

Cloudflare for WordPress configured properly: SSL that does not loop, HTML cached at the edge, real visitor IPs restored, and firewall rules that do not block your customers.

Top Rated on Upwork 100% job success From $15/hour 4hr avg response

Short answer

Cloudflare for WordPress delivers your site from servers near your visitors, filters hostile traffic, and handles DNS and SSL. Out of the box it caches assets but not HTML, so most sites get a fraction of the available benefit. Rates start at 15 USD per hour, a proper configuration takes two to four days, and the free plan is genuinely enough for many sites.

Cloudflare for WordPress works by sitting between your visitors and your server. Requests reach a location near the visitor first, and whatever can be served from there is served without troubling your origin at all. That is the basic CDN idea, and for anyone selling internationally from a single server it matters more than most plugin tuning.

Cloudflare for WordPress is also a DNS provider, a certificate authority, and a firewall. Running Cloudflare for WordPress therefore means four different systems are now involved in whether your site works, which is enormously useful when configured and a rich source of confusing problems when not.

The confusing problems with Cloudflare for WordPress are consistent enough to be predictable. Redirect loops from the wrong SSL mode. Every visitor showing one IP address. Content published and not appearing. Firewall rules blocking a crawler nobody intended to block. All documented in the Cloudflare developer documentation, and all things people hit before reading it.

I set up and repair Cloudflare for WordPress regularly, usually alongside origin caching rather than instead of it. The two layers do different jobs, and most of my work is making them agree with each other.

The missed win

The HTML Caching Gap

Why most sites running Cloudflare for WordPress get a fraction of what is available.

By default Cloudflare for WordPress caches static assets and treats HTML as dynamic. With Cloudflare for WordPress at defaults, your images, stylesheets, and scripts come from a nearby location, and the actual page is fetched from your server every single time. Someone in Sydney hitting a server in London still waits for that round trip on every page view.

That default is sensible, because caching HTML carelessly on a WordPress site on a site with logged-in users or a cart is how people get served each other content. But leaving it at the default means the largest available gain never arrives, and plenty of site owners believe they have a CDN when they have asset delivery.

Configuring Cloudflare for WordPress properly means deciding what is genuinely public and what is not. Blog posts, service pages, and product listings are the same for everybody and can live at the edge. Cart, checkout, account, and anything personalised must never. Cloudflare can be told to respect the cookies WordPress and WooCommerce set, which is what makes the distinction workable.

Done correctly the effect of Cloudflare for WordPress is substantial, particularly for international audiences, because the page arrives from a nearby city rather than crossing an ocean. Done carelessly it is the worst bug on this list. That is the whole reason this is a job rather than a toggle. Related work under speed optimisation, WooCommerce speed, and Core Web Vitals.

Capability

What I Configure in Cloudflare for WordPress

Six areas that make up most Cloudflare for WordPress engagements.

DNS and SSL setup

Records migrated without downtime and an encryption mode that does not produce redirect loops, which means a certificate at your origin rather than the shortcut.

Edge caching rules

HTML actually cached at the edge with the exclusions your site needs, since the default configuration caches assets only and leaves the biggest gain on the table.

Store cache safety

Cart, checkout, account, and anything personalised excluded and verified with real transactions, so no customer is ever served another customer page.

Real IP restoration

Original visitor addresses restored so security plugins, spam filtering, analytics, and geolocation keep working instead of seeing one address for everyone.

Firewall and rate limiting

Rules targeting behaviour rather than geography, login endpoints rate limited, and logs reviewed afterwards to confirm nothing legitimate is being blocked.

Purge coordination

Origin cache and edge cache clearing together, so publishing a change does not mean waiting or manually purging two dashboards.

Usually part of a larger engagement: speed optimisation, security hardening, or migration services.

When to call

Signs Your Cloudflare Setup Needs Attention

Any one of these means Cloudflare for WordPress is misconfigured rather than working.

  • The site went into a redirect loop after enabling Cloudflare
  • Every visitor in your logs shows the same IP address
  • Pages still come from your server despite the CDN being active
  • Customers occasionally see the wrong cart or a stale page
  • Publishing a change does not appear on the live site for hours
  • Your firewall blocked a country and now crawlers cannot reach you
  • Both Cloudflare and a caching plugin are minifying the same files
  • International visitors report the site being noticeably slower

Site looping, blocked, or serving stale pages?

Tell me the symptom and I will tell you which layer is causing it. Most Cloudflare problems are one setting, and identifying which one is usually faster than people expect.

Get a Free Diagnosis
The detail

How I Configure Cloudflare for WordPress

Four principles behind every Cloudflare for WordPress engagement I take on.

Encrypt properly, not conveniently

Flexible SSL is the shortcut that causes the redirect loop, and it is the most common Cloudflare for WordPress failure. It serves HTTPS to visitors while talking to your server over plain HTTP, so a site that also forces HTTPS ends up in an argument with itself that the browser eventually abandons.

It is also worse than it looks, because the connection between Cloudflare and your server is unencrypted. The correct setup is a certificate at your origin and full encryption end to end. Cloudflare will issue one for free, so there is no reason to take the shortcut.

Give your server back its visitors

Once traffic arrives through Cloudflare for WordPress, your server sees Cloudflare addresses rather than real visitors unless you restore them from the forwarded header. Skip this and your security plugin sees thousands of requests from one address and starts blocking everybody.

The knock-on effects across a Cloudflare for WordPress setup are wide and take a while to trace: spam filtering stops working, analytics geography goes flat, and country-based rules behave oddly. It is a small step during setup and a confusing multi-day investigation later. Detail under security hardening.

Decide which layer owns which job

With Cloudflare for WordPress and an origin cache both running, each job should have one owner. Minification in one place, not both. HTML caching decided deliberately at one layer. Purging wired so clearing one clears the other rather than leaving visitors on stale content while the dashboard says everything is fresh.

This is where most of my Cloudflare repair work actually lives, and it applies equally whether the origin runs WP Rocket or a server-level cache. Two layers duplicating work is slower than one layer doing it properly.

Block behaviour, not countries

Blocking whole countries is the tempting response to attack traffic and it catches crawlers, customers travelling, and VPN users along with the attackers. It also fails against anyone who moves, which is everyone with an incentive to.

In Cloudflare for WordPress, rate limiting the login endpoint, challenging requests that look automated, and blocking specific patterns is more effective and far less collateral. Then read the logs afterwards, because a rule that blocks something legitimate is invisible until somebody complains. Ongoing review through maintenance plans, or emergency support when a rule has already locked something out.

Working together

Ways to Work on Cloudflare for WordPress

Four ways to get Cloudflare for WordPress sorted, depending on whether something is broken, unconfigured, or slow for other reasons.

ModelSuitsHow it worksTypical timeline
Setup and configurationNew or misconfigured CloudflareDNS, SSL, caching rules, verificationTwo to four days
Break-fixLoops, blocks, or stale contentDiagnose the layer, then fix preciselyOften same day
Full performance engagementSlow beyond deliveryAudit first, Cloudflare as one partOne to three weeks
Maintenance planOngoing rules and monitoringReviewed as the site changesMonthly, ongoing

Rates start at 15 USD per hour, though most work is quoted fixed-price. Any Cloudflare plan is paid directly to them, and the free tier is often sufficient.

Frequently asked

Cloudflare for WordPress Questions

Redirect loops, HTML caching, WooCommerce safety, real IPs, firewall rules, and plan choice.

I turned on Cloudflare and my site went into a redirect loop. Why?
Almost always the SSL mode, and it is the first thing to check on any Cloudflare for WordPress setup. Flexible SSL tells Cloudflare to talk to your server over plain HTTP while serving HTTPS to visitors. If your site is also forcing HTTPS, the two disagree forever and the browser gives up. The fix is installing a certificate at your origin and using a full encryption mode, not disabling the redirect in WordPress.
Does Cloudflare actually cache my pages?
Not by default, which surprises most people running Cloudflare for WordPress. Out of the box Cloudflare caches static assets like images, CSS, and JavaScript, but treats HTML as dynamic and fetches it from your server every time. Getting HTML cached at the edge requires deliberate configuration, and it is where most of the real speed gain lives.
How much does Cloudflare setup for WordPress cost?
Setting up Cloudflare for WordPress starts at 15 USD per hour, and a proper configuration is usually a few hundred dollars. That covers DNS, SSL mode, caching rules with the right exclusions, restoring real visitor IPs, and coordinating purges with whatever cache runs at your origin.
Is the free plan enough?
For a great many sites running Cloudflare for WordPress, yes. The free tier includes the CDN, DNS, SSL, and basic protection, which covers most brochure sites and smaller stores. Paid tiers matter when you need image optimisation, more granular rules, or the support response times that come with them.
Will Cloudflare break my WooCommerce store?
Only if Cloudflare for WordPress is configured carelessly. Cart, checkout, and account pages are per-customer and must be excluded from edge caching, or one shopper is served another shopper page. Cloudflare respects WooCommerce cookies when told to, and telling it to is the job.
Why do all my visitors show the same IP address now?
Because traffic reaches your server from Cloudflare rather than directly, so without restoration every visitor appears to come from a Cloudflare address. This breaks security plugins, comment spam filtering, and geolocation. It is fixed by restoring the original IP from the forwarded header, and it is one of the most commonly missed steps.
Can I use Cloudflare alongside WP Rocket or LiteSpeed Cache?
Yes, and Cloudflare for WordPress alongside a page cache is sensible once configured. The failure modes are duplicating minification in both layers, and purging one cache without purging the other so visitors keep seeing old content. Both are solved by deciding which layer owns which job rather than enabling everything everywhere.
Do I still need a good host if I use Cloudflare?
Yes. Cloudflare for WordPress reduces load and improves delivery, and it cannot fix a slow origin for anything that is not cached. Admin pages, checkout, and logged-in browsing all hit your server directly, so cheap hosting still feels cheap where it matters most.
Does Cloudflare help with SEO?
Indirectly and genuinely. Cloudflare for WordPress helps by delivering faster: Faster delivery and better Core Web Vitals help, particularly for visitors far from your server. What it does not do is fix thin content, bad titles, or a broken site structure, and treating a CDN as an SEO strategy is a common way to waste six months.
Will the firewall block Google or legitimate visitors?
It can, if your Cloudflare for WordPress rules are written too broadly. Blocking by country is the usual culprit, since it also blocks crawlers and customers travelling. I configure rules that target behaviour rather than geography, then check the logs afterwards to confirm nothing legitimate is being caught.
Can Cloudflare stop bot traffic and login attacks?
Cloudflare for WordPress helps substantially. Rate limiting the login endpoint, challenging suspicious requests, and blocking known bad sources removes a large share of the noise before it reaches your server. It is one layer of defence rather than a replacement for keeping WordPress updated and hardened.
How do I know Cloudflare is actually caching anything?
By reading response headers rather than trusting the Cloudflare for WordPress dashboard. Cloudflare reports whether each request was a cache hit or fetched from your server, on a per-URL basis. I check real pages including a post, a product page, and a logged-in page, because a configuration that looks correct and caches nothing is common.

A CDN That Only Caches Images
Is Half a CDN.

Free 30-minute call. Tell me your host, your stack, and where your customers are. You get a fixed-price quote within 48 hours, and the free Cloudflare plan is often all you need.

★ Top Rated on Upwork ✓ 100% Job Success ⚡ 4-hour avg response 🔐 NDA-friendly