No. Cloudflare was not built to be a regular web host. It sits in front of a site that lives on someone else's server, running the domain's DNS, security, and content-delivery network. It does host some things directly, through products like Cloudflare Pages, Workers, and R2, but those cover static sites, small apps, and file storage rather than a full website stack.
That distinction matters most for a small-business owner who buys a domain from Cloudflare and expects a live website to follow automatically. Cloudflare's own hosting page says its network spans 335 global locations, which is why sites built on Pages or Workers load fast worldwide. A domain alone never hosts anything, on Cloudflare or anywhere else, so the confusion clears up once you see which Cloudflare product does the hosting job.
🌐 What Cloudflare is, compared with a traditional web host
🧩 Which Cloudflare products host something directly (Pages, Workers, R2, Images, Stream)
🧮 A worked cost example for launching a small site on Cloudflare
⚖️ How Cloudflare stacks up against shared hosting and other static-site platforms
🚩 The mistakes that trip up new users setting up DNS, storage, or Pages builds
Pricing below reflects Cloudflare's current Workers pricing page and its other product pages, cited throughout. Cloudflare adjusts free-tier limits and paid rates more than once a year. Confirm the live numbers before you commit a project to any tier. If you already picked a host and only want to know whether a domain needs separate hosting, that companion article covers the domain side directly.
What Cloudflare Is
Cloudflare started as a reverse proxy company, and that history still shapes most of what it does. A reverse proxy sits between a visitor's browser and the server holding a website's files. It filters traffic and caches pages as requests pass through. Cloudflare's DNS service points a typed web address at the right server, and its content-delivery network stores copies of a site's pages close to visitors worldwide.
Most site owners never touch Cloudflare's edge servers directly. Cloudflare does not store their site's actual files there by default. A typical setup points a domain's nameservers at Cloudflare, which then sends requests on to the origin server, the machine where the website truly lives. That origin server can sit at any regular host: shared hosting, a VPS, or a managed platform like WordPress.com.
This is the confusion behind the question "does Cloudflare have web hosting." Cloudflare's core product protects and speeds up a site that is hosted somewhere else. That is a different job from storing the site's files. A user who asked on Cloudflare's own forum got a clear answer: Cloudflare does offer hosting, but it is "targeted towards web developers," not a swap for a normal shared-hosting account.
A second forum thread makes the split even clearer. A user who had only bought a domain through Cloudflare asked if they needed to move it to a hosting company, and Cloudflare's community said no, since a domain can stay with one company while the website lives entirely with another. Most businesses run exactly this split today, keeping DNS with Cloudflare while their files sit on a separate host.
The common myth is that "DNS host" and "web host" mean the same thing, since both come up during domain setup. They do not. DNS only points visitors toward the right server, while a web host stores and serves the actual pages, images, and databases behind a site. Mixing the two up wastes real money: some businesses buy an expensive host they never needed, while others skip a host entirely and wonder why their Cloudflare-pointed domain shows an error page.
The Products That Host Something Directly
Four Cloudflare products break the "only a proxy" rule. They genuinely host content on Cloudflare's own servers. Each one solves a narrower problem than a full web host, so a business often mixes one of these with a regular host rather than replacing it outright. Knowing what each product covers stops you from expecting the wrong one to do a job it was never built for.

Cloudflare Pages
Cloudflare Pages hosts static and full-stack sites built from a Git repository. It deploys automatically every time you push new code. The free tier includes unlimited requests and bandwidth, plus up to 500 builds a month, as of Cloudflare's current Pages build limits. That covers a portfolio, a documentation site, a marketing page, or a blog built with a static-site generator, all without renting a server.
Pages pairs with Cloudflare Workers through a feature called Pages Functions. That lets a mostly static site add small pieces of dynamic behavior, like a contact form or a search box. A common myth is that Pages can replace any CMS-driven site, including WordPress. It cannot: WordPress needs a live database and a server-side process running around the clock, the opposite of a static Pages build.
Cloudflare Workers
Workers run small pieces of your own code across Cloudflare's edge network instead of on one rented server. The free plan allows up to 100,000 requests a day. The paid plan starts at $5 a month for 10 million requests, with extra requests billed per million, according to the current Workers pricing page. Workers now supports its own database (D1), key-value storage (KV), and Workers AI for edge machine-learning models, so it covers far more than the "run one small function" reputation it once had.
The consequence of misreading Workers is building an entire backend on the free tier without checking the request ceiling first. A checkout flow or a busy API can burn through 100,000 daily requests fast once real customers show up. Estimate daily traffic before launch, and budget for the paid tier if a project expects more than a few thousand visits a day.
Cloudflare R2
R2 is object storage for files, images, backups, and app data, built to compete directly with Amazon S3. Cloudflare's hosting page states R2's headline feature plainly: zero egress fees on data leaving storage, a charge most rival services bill separately. Storage itself still costs money past a free allowance, so R2 is not free storage. It is storage without the surprise bandwidth bill.
The common mistake is assuming R2 replaces a full app host because it stores files. It does not. R2 only stores and serves objects, so the app logic, database, and user accounts still need to live somewhere else, often on a Workers project or a regular server. Pairing R2 with Workers is the usual pattern, since Workers can read and write straight from an R2 bucket without a third service in between.
Cloudflare Images and Stream
Cloudflare Images stores, resizes, and optimizes images at scale from one product, so a photo-heavy site never manages multiple image sizes by hand. Cloudflare Stream does the same job for video: upload once, and Stream handles encoding, storage, and delivery through one API. Both charge based on usage rather than a flat fee, so cost scales with how much content a site stores and serves.
The myth with both products is expecting them to host a whole website, when they only host media files. A blog still needs Pages, Workers, or a regular host for its actual pages and logic. Images and Stream slot in underneath to handle the pictures and clips those pages display, so skipping this difference leaves some site owners signed up for media hosting with nowhere to put their HTML pages.
Which Situation Applies to You?
The right answer depends on what you are trying to launch, not on Cloudflare's marketing page alone. Match your situation to one of the four cases below, then read that section closely before you decide. The other cases still matter if your plans change later, so keep this list as a reference.
You're Building a New Static or JAMstack Site
A portfolio, a documentation hub, or a marketing site with no live database is the case Cloudflare Pages was built for. The free tier's unlimited bandwidth means a slow week and a viral week cost the same nothing. Connect a GitHub or GitLab repository, and every push rebuilds and redeploys the site within minutes, with a unique preview link for each branch so you can check a change before it goes live.
The one limit worth knowing up front is the 500-builds-a-month cap on the free plan. An agency updating a dozen client sites daily can hit that ceiling faster than a single personal site ever would. Track your build count once you pass a handful of active projects, and move to the paid tier before the ceiling forces a rushed upgrade mid-launch. A custom domain, free SSL, and analytics all come bundled at no extra charge, so the free tier rarely needs anything added beyond the build-count watch.
You Already Run a Site on Another Host
WordPress, WooCommerce, and most CMS platforms need a live server running around the clock, so they stay on a regular host, not Pages or Workers. Cloudflare still adds real value here as a layer in front of that host: DNS, a content-delivery network, and security filtering, all free at the entry tier. Point your domain's nameservers at Cloudflare and turn on the DNS proxy for the records you want protected, and traffic starts routing through Cloudflare's network within the hour.
The setting that trips people up is the SSL/TLS mode inside the Cloudflare dashboard. Choosing "Flexible" when your host already has its own SSL certificate can create a redirect loop that takes a site offline. Setting the mode to "Full" or "Full (strict)" instead fixes that failure, since it tells Cloudflare to keep the connection encrypted clear through to your host.
You're Building a Custom App, API, or Storage Layer
A developer building an API, a small SaaS backend, or an app that needs fast file storage is the audience for Workers and R2 together. Workers runs the app logic close to each visitor instead of in one distant data center, which cuts response times for a global user base. R2 then stores any files the app needs, without a per-gigabyte egress charge every time a user downloads something.
This path takes more technical setup than Pages alone, since it usually means writing code against Cloudflare's APIs rather than only pushing a static site. A team without in-house developer time should budget for that setup cost before assuming Workers is a "free hosting" shortcut. It replaces server management, not the engineering work of building an app.
You Bought a Domain and Nothing Is Live
Buying only a domain through Cloudflare Registrar explains why a fresh domain shows an error page instead of a website. A domain is an address, not a house. It tells browsers where to look, but it does not supply the server, files, or website software behind it. This is the exact situation the forum thread above described, where a new Cloudflare customer expected hosting to come bundled with a domain purchase.
The fix is choosing one hosting path from the sections above, whether that is a free Cloudflare Pages site, a regular host for a CMS, or a Workers-based app, then pointing the domain at it. Skipping this step is the single most common reason a brand-new domain sits unused for weeks. A domain registrar and a web host solve two separate problems, and a new site only goes live once both pieces are in place.
A Worked Example: What a Small Site Costs
Comparing sticker prices misses the real gap, so it helps to price out one project both ways. Say a freelance consultant wants a five-page site: a homepage, an about page, a services page, a contact form, and a blog with occasional posts. The table below prices that exact project on a regular shared host versus the Cloudflare Pages route.
| Line Item | Traditional Shared Host | Cloudflare Pages Route |
|---|---|---|
| Hosting plan | about $7/month | $0 (Pages free tier) |
| Domain (yearly, amortized) | about $1/month | about $1/month (at-cost registrar) |
| SSL certificate | usually bundled free | included free |
| Content-delivery network | often a $5–20/month add-on | included free |
| Contact form processing | usually bundled with host | free, via a Pages Function on Workers |
| Estimated monthly total | about $8–28/month | about $1/month |
The Cloudflare route lands near $1 a month, almost entirely the cost of the domain itself. That gap holds only because this project is static: no live database, no server-side login system, and no e-commerce checkout. Add any of those needs and the comparison shifts, since a database-backed CMS pushes the project back toward a regular host or a paid Workers setup.
Multiply each side by twelve months and the gap turns concrete. The shared-host route lands between $96 and $336 a year, while the Cloudflare route lands near $12 a year, almost entirely the domain renewal. That difference pays for itself many times over on a site that never touches a live database or a checkout form.
Treat the shared-host total as a planning model, not a fixed quote, since real prices vary by promotional rate, contract length, and which extras a host bundles in. The bigger lesson is structural, not only a dollar figure. A static site's true hosting cost drops close to zero once a content-delivery network and unlimited bandwidth stop being paid extras, and that is exactly what happens on Cloudflare's free tier.
Three Setups, Three Different Lessons
The three examples below each surfaced a different lesson about Cloudflare's hosting-adjacent products. None of them repeats a point already covered above. Reading all three shows how the same free tools behave differently depending on what a person needs from them.
Maria's Portfolio Hits the Build Ceiling
Maria is a freelance graphic designer who launched her portfolio on Cloudflare Pages. She expected it to stay free forever with no limits at all. Her site itself never came close to any bandwidth cap, since a portfolio site draws light, steady traffic. What she did not expect was her own workflow: she started using Pages for three client preview sites too, each rebuilding on every small design tweak.
Within a few months her combined build count approached the 500-a-month ceiling on the free plan. The fix did not involve switching hosts. It meant upgrading to Workers Paid at $5 a month, which raises the concurrent-build limit and removes the ceiling entirely. Her lesson is that "free" on Pages covers hosting itself well, but a busy build pipeline is the part that quietly uses up the free allowance first.
| Cloudflare Pages Free Tier | What It Includes |
|---|---|
| Bandwidth and requests | Unlimited |
| Builds per month | 500 |
| Concurrent builds | 1 at a time |
Devon's Store Shows Shoppers Each Other's Carts
Devon runs a small WooCommerce store on a regular WordPress host. He turned on Cloudflare's proxy and its page caching to speed up product pages ahead of a holiday sale. Within a day, support messages came in from shoppers who saw someone else's cart contents or a stale "add to cart" button that would not update.
The cause was Cloudflare caching dynamic pages it should have skipped. Cart, checkout, and account pages change per visitor, but Cloudflare's default cache rules do not know that unless told. Adding a cache-bypass rule for /cart/, /checkout/, and /my-account/ fixed the issue within minutes, and Devon's lesson is that caching speeds up the pages every visitor shares, never the ones tied to a single shopper.
| What Cloudflare Handles | What Devon's Host Still Handles |
|---|---|
| DNS, static-page caching, and DDoS filtering | WordPress files, the database, and per-shopper cart or checkout logic |
Priya's App Escapes an Egress Bill
Priya built a small SaaS app that stores user-uploaded files. Her storage bill kept climbing even though her file count barely grew. The surprise cost was not storage itself but egress fees, the per-gigabyte charge many storage providers bill every time a file gets downloaded. Her app served roughly 500 gigabytes of downloads a month, and that traffic alone drove most of her bill.
Moving that storage layer to Cloudflare R2 did not change her app code much, since R2 supports the same S3-compatible API her app already used. What changed was the bill. R2 charges nothing for egress, so the same download traffic that once cost real money each month now adds nothing beyond R2's storage rate. Priya's lesson is the clearest one here: a stacked, hidden cost like egress can dwarf the price of storage itself, and it rarely shows up until the first real bill arrives.

How Cloudflare Compares to a Traditional Web Host
Traditional web hosting comes in a few common types, and knowing them clarifies what Cloudflare's products do and do not replace. Shared hosting puts many sites on one server, keeping costs low but slowing down under heavy traffic. A VPS splits a server into private virtual machines for more control at a moderate price. Dedicated hosting hands a business one entire physical machine, and cloud hosting spreads a site across many linked servers instead of one box.
Cloudflare Pages and Workers behave more like a serverless platform than any of those four. There is no server to patch, back up, or resize, since Cloudflare's own systems absorb that work on their own. The trade-off is control: a regular host lets you install almost any software, while Pages and Workers only run what their platform supports.
Cloudflare is not the only serverless platform in this space, so it helps to name where it differs from the others. Vercel and Netlify built their reputations on framework-specific tooling, especially for Next.js projects, with deep build logs tuned to that one framework. Cloudflare instead leans on the size of its own network and a free tier with no bandwidth cap, which matters most once a side project turns into real traffic.
| Dimension | Traditional Shared Host | Cloudflare (Pages + Workers + R2) |
|---|---|---|
| What it hosts | Any server-side software, including WordPress | Static sites, edge functions, and object storage |
| Server management | You or your host's support team | Handled automatically by Cloudflare |
| Starting price | Often $3–13/month | Free tier available; paid tiers start at $5/month |
| Best for | A CMS, a store, or custom server software | A static site, a lightweight app, or file storage |
A business running WordPress, a database-driven store, or custom server software still needs a regular host underneath, much like how Shopify bundles hosting into its own platform instead of leaving merchants to piece one together. Cloudflare's products are not a universal swap for that layer. They are a narrow option for projects, static sites, edge functions, and object storage, that do not need a full server at all.
Mistakes to Avoid With Cloudflare Hosting
- Assuming a Cloudflare domain includes hosting. A domain purchase only buys the address; the website itself still needs a host or a Pages project pointed at it.
- Leaving SSL/TLS mode on "Flexible" with an already-encrypted origin. This mismatch commonly causes a redirect loop that takes an existing site offline the moment Cloudflare's proxy turns on.
- Building an entire backend on the Workers free tier without checking traffic. A busy API can exceed the 100,000-requests-a-day limit fast, forcing an unplanned mid-project upgrade.
- Confusing R2 with a full application host. R2 only stores and serves files; the application logic and database still need Workers or a separate server.
- Ignoring the Pages build-count limit on an agency workflow. Rebuilding several client sites daily can approach the 500-builds-a-month ceiling faster than one personal site ever would.
- Forgetting that Images and Stream only host media. A site still needs Pages, Workers, or a traditional host for its actual pages once the pictures and video are handled.
- Skipping a cost comparison that includes egress fees. Comparing only storage price, and ignoring a competing provider's per-gigabyte download charge, understates the real gap between R2 and a standard cloud bucket.
- Not testing DNS changes on a low-traffic window. Switching nameservers during a busy sales period turns a small misconfiguration into a visible outage for paying customers.
Do
- Do check the Workers and Pages free-tier limits against your expected traffic before you build, so a busy launch never hits a surprise ceiling.
- Do set SSL/TLS mode to "Full" or "Full (strict)" whenever your origin host already has its own certificate, to avoid a redirect loop.
- Do pair R2 with Workers when an app needs both file storage and application logic, since the two connect without routing through a third service.
- Do confirm which host serves your actual pages before assuming Cloudflare alone makes a site live.
- Do read the current pricing pages before committing, since Cloudflare updates free-tier limits and paid rates more than once a year.
- Do keep DNS changes for a low-traffic window so any misconfiguration affects the fewest visitors possible.
Don't
- Don't buy a domain expecting a website to appear automatically, since a domain only points visitors toward a server, and something still has to sit at that address.
- Don't leave SSL/TLS on the default "Flexible" mode without checking whether your origin host already encrypts traffic on its own.
- Don't assume Cloudflare Pages can replace a WordPress or database-backed site, because Pages serves static content and cannot run a live database.
- Don't treat R2 or Images as a full hosting solution, since both only store and serve one type of content, not an entire website.
- Don't build past the Workers free tier without a cost estimate, since request volume above 10 million a month bills per additional million.
- Don't skip testing a third-party form or plugin after moving a site behind Cloudflare's proxy, since a caching rule can occasionally interfere with dynamic content.
Pros
- Free tier covers real projects, not only demos. Unlimited bandwidth on Pages and 100,000 daily requests on Workers handle a real small-business site at no cost.
- Zero egress fees on R2. A storage-heavy app avoids the download charges that make competing cloud storage bills climb unpredictably.
- Global network by default. The 335-location network spreads a static site's content close to visitors everywhere, with no extra setup.
- No server to patch or maintain. Pages and Workers projects never need an operating-system update or an uptime check from the site owner.
- Works alongside an existing host. A business keeps its current WordPress or store host and still gains Cloudflare's DNS, caching, and security for free.
Cons
- Not a drop-in swap for a full web host. A database-backed CMS, a store, or custom server software still needs a traditional host underneath.
- A learning curve for developer-facing tools. Workers and R2 expect some comfort with code and APIs, unlike a one-click traditional hosting control panel.
- Build limits can surprise an active team. An agency or a fast-moving project can hit the Pages free tier's 500-builds-a-month cap sooner than expected.
- Setup mismatches can break an existing site. The wrong SSL/TLS mode can cause a redirect loop the moment Cloudflare's proxy is switched on.
- Paid tiers still scale with usage. Workers Paid and R2 both bill by volume past the free allowance, so a high-traffic project needs its own cost estimate.
What to Do Next
- Decide which of the four situations above matches your project: a new static site, an existing host you want to keep, a custom app, or a domain with nothing live yet.
- Check the current free-tier limits on the relevant product page before you build anything, since Cloudflare updates these more than once a year.
- If you already run a site elsewhere, add Cloudflare as a DNS and security layer first, and set SSL/TLS to "Full" or "Full (strict)" to avoid a redirect loop.
- If you are launching new, connect a Git repository to Cloudflare Pages and deploy a first static version before adding any dynamic features.
- Estimate your expected daily traffic and file-storage needs, then compare that estimate against the Workers and R2 pricing pages to catch a paid-tier need early.
- Bring in a developer if your project needs custom application logic, since Workers replaces server management, not the engineering work itself.
Frequently Asked Questions
Does a Cloudflare domain come with a website already built?
No. A domain bought through Cloudflare Registrar only reserves the address; a website still needs a host, a Pages project, or a Workers app pointed at that domain before anything appears.
Is Cloudflare Pages free forever?
Mostly, yes. The free tier includes unlimited bandwidth and requests, plus up to 500 builds a month. Only a busy agency workflow, or the need for more concurrent builds, typically pushes a project onto the $5-a-month paid tier.
Can I host a WordPress site on Cloudflare?
Not directly. WordPress needs a live database and a server running around the clock, which Cloudflare Pages does not provide; WordPress sites stay on a traditional host, with Cloudflare optionally added in front for DNS and caching.
What is the difference between Cloudflare and a traditional web host?
A regular host stores your site's files on its own server. Cloudflare's core product is instead a DNS and security layer that sits in front of a site hosted elsewhere, though Pages, Workers, and R2 do host some content directly.
Do I need both a web host and Cloudflare?
Often, yes. Most WordPress sites, stores, and database-backed apps keep a regular host for their files. They add Cloudflare on top for DNS, caching, and security, since Cloudflare's free hosting products cover a narrower set of project types.
Does Cloudflare host videos or images directly?
Yes. Cloudflare Stream hosts and delivers video, while Cloudflare Images stores, resizes, and optimizes images, and both bill by usage rather than a flat hosting fee.
Is Cloudflare R2 the same as Amazon S3?
Not exactly, but close. R2 uses the same S3-compatible API many apps already rely on, with the key difference being zero egress fees on data leaving R2, unlike many competing storage services.
Can Cloudflare Workers replace a traditional backend server?
For many use cases, yes. Workers runs app code across Cloudflare's edge network with its own database and storage options. It still takes real development work, not a one-click setup, to build a full backend on it.
What happens if I only buy a domain from Cloudflare and stop there?
The domain sits unused. A domain with no host, Pages project, or Workers app pointed at it shows an error page to any visitor, since the address alone has nowhere to send them.
Is Cloudflare's free plan good enough for a small business site?
Usually, yes, for a static site. A brochure site, a portfolio, or a blog with no live database runs well on the Pages free tier. A store or a membership site with logins typically needs a regular host instead.
Does Cloudflare charge for bandwidth on its hosting products?
No, not on Pages or R2. Pages includes unlimited bandwidth on every tier, and R2 charges nothing for data leaving storage. That is the opposite of how many regular hosts and cloud providers price bandwidth.
Can I move a Cloudflare Pages site to another host later?
Yes. Pages builds from a Git repository, so the underlying code already lives outside Cloudflare. Redeploying that same repository to another static-hosting provider takes little more than a new deployment setup.