How to Host a Domain For Sale Page on Cloudflare for Free
Cloudflare Pages is the fastest, most reliable, and most cost-effective way to host a domain landing page. It is free forever, deploys globally in seconds, and handles SSL automatically. Here is the complete process.
$0
Monthly cost
< 1s
Load time
310+
CDN locations
10 min
Setup time
Why Cloudflare Pages
There are dozens of ways to host a static HTML file. Cloudflare Pages is the best option for domain landers for three specific reasons.
Genuinely free — no catch
Cloudflare Pages free tier includes unlimited bandwidth, unlimited requests, 500 deployments per month, and custom domain support. There is no credit card required, no usage limit that a domain lander would realistically hit, and no free tier expiry. A single HTML file per domain will never cost you a cent.
Fastest load time of any free host
Cloudflare operates 310+ edge locations worldwide. When a buyer visits your domain, the HTML file is served from the nearest Cloudflare data center — typically within milliseconds. Static HTML with no server-side processing loads in under one second globally. No other free host matches this.
SSL and DDoS protection included
Cloudflare automatically issues and renews an SSL certificate for your domain. Your lander shows https:// without any configuration. DDoS protection is included at the network level — relevant if your domain attracts bot traffic, which many valuable domains do.
DNS management in one place
If you also manage your domain's DNS through Cloudflare (recommended), connecting a Pages project to your domain is a single click. No external DNS changes needed, no propagation wait for the connection itself.
What you need before starting
A domain name registered at any registrar (GoDaddy, Namecheap, Cloudflare, etc.)
A free Cloudflare account — cloudflare.com
A domain lander template — download free from parkedtld.com
A text editor — Notepad, VS Code, TextEdit, anything
Access to your domain's DNS settings at your registrar
Download and configure a template
Go to parkedtld.com, browse the templates, and click Download on the one you want. You get a single .html file.
Open the file in any text editor. At the very top you will find the config object — the only part of the file you need to edit:
Fill in your values, save the file. Then rename it to index.html — web servers need this exact filename to serve it at the root of your domain.
Important: Set contactEmail to your real email address before deploying. FormSubmit will send all buyer inquiries there.
Create a Cloudflare account
Go to cloudflare.com and create a free account. No credit card required.
If you plan to also manage your domain's DNS through Cloudflare (recommended — it simplifies step 4 significantly), you can add your domain during signup. Cloudflare will scan your existing DNS records and import them automatically.
Tip: Moving your domain's DNS to Cloudflare is optional for hosting the lander but makes future management much simpler. Cloudflare's DNS is also the fastest in the world.
Deploy to Cloudflare Pages
Cloudflare Pages is the static hosting product within Cloudflare. Here is how to deploy your lander.
- a
Open Cloudflare Pages
In your Cloudflare dashboard, click Workers & Pages in the left sidebar, then click Pages.
- b
Create a new project
Click "Create a project" → then choose "Direct Upload" (not the Git option — you are uploading a file directly).
- c
Name your project
Give the project a name — use the domain name without the extension, e.g. "venture" for venture.io. This becomes the default Cloudflare subdomain (venture.pages.dev) before you connect your custom domain.
- d
Upload your file
Drag and drop your index.html file into the upload area, or click to select it. Cloudflare accepts single files or zip archives.
- e
Deploy
Click "Deploy site". Cloudflare builds and deploys in about 10–30 seconds. You will see a success screen with a pages.dev URL — your lander is already live on that address.
Connect your custom domain
Your lander is live on a pages.dev URL but you need it on your actual domain. This step connects the two.
Path A — DNS already on Cloudflare
- 1.In your Pages project → Custom domains → Add custom domain
- 2.Enter your domain (e.g. venture.io)
- 3.Click Activate domain — Cloudflare adds the DNS record automatically
- 4.Done. Live within minutes.
Path B — DNS at your registrar
- 1.In Pages → Custom domains → Add custom domain
- 2.Cloudflare gives you a CNAME record to add
- 3.Go to your registrar's DNS panel and add it
- 4.Wait 5–60 minutes for DNS propagation
The DNS record to add (Path B)
Note: Some registrars do not allow CNAME records on the root domain (@). If yours does not, add an A record pointing to Cloudflare's IP instead, or transfer DNS management to Cloudflare.
Activate FormSubmit
Your lander is live. The last step is activating the contact form so buyer inquiries reach your inbox.
- 1
Submit a test inquiry
Visit your domain, open the contact form, and submit it with your own name and email address. This is the first submission — it triggers the FormSubmit activation flow.
- 2
Check your inbox
Within a few minutes, FormSubmit sends a confirmation email to the address you set in the config object. The subject line will say something like "Please confirm your submission form".
- 3
Click the confirmation link
Click the link in that email. This activates FormSubmit for your domain. From this point on, every buyer inquiry goes directly to your inbox — no further setup required.
Done. Your domain for sale page is live, globally distributed, SSL-secured, and sending inquiries to your inbox. Total cost: $0.
How to update your lander later
Changing the price, updating the description, or swapping to a different template — all of these work the same way.
Open index.html → update askingPrice in config → save → re-upload to Cloudflare Pages. Takes 90 seconds.
Open index.html → update description in config → save → re-upload. Same process.
Download the new template → copy your config values into the new file → rename to index.html → re-upload.
Open index.html → add your Afternic or Sedo URL to afternicLink or sedoLink in config → save → re-upload.
To re-upload in Cloudflare Pages: go to your project → Deployments → Upload. Drag in the new file and click Deploy. The update is live in under 30 seconds.
Troubleshooting
Problem: Domain still shows the old page / parking page
Solution: DNS changes take 5 minutes to a few hours to propagate. Wait and try again. You can check propagation status at dnschecker.org.
Problem: Custom domain shows "522 Connection Timed Out"
Solution: The CNAME record is set correctly but Cloudflare has not fully activated it yet. Wait 10–15 minutes and refresh. If it persists, check that the domain is added in Pages → Custom domains.
Problem: Form submissions are not arriving in inbox
Solution: Check your spam folder first. If not there, you have likely not completed the FormSubmit activation — submit the form again and look for the confirmation email.
Problem: Domain shows "Page Not Found" on Cloudflare Pages
Solution: The file was not named index.html. Cloudflare Pages requires this exact filename to serve it at the root path. Rename your file and re-upload.
Problem: The domain name on the page shows "yourdomain.com" instead of my domain
Solution: The domainOverride field in the config is empty by default and uses window.location.hostname. If you are previewing the file locally (double-clicking it), hostname returns empty. It will show correctly once live on your domain.
Problem: CNAME record not allowed on root domain at my registrar
Solution: Some registrars do not support CNAME flattening on @. Either transfer your DNS management to Cloudflare (free, takes 5 minutes), or use an A record pointing to 192.0.2.1 and use Cloudflare's redirect rules instead.
Pick a template to deploy
All 110 templates are ready to deploy on Cloudflare Pages in under 10 minutes.
Deploy your lander in 10 minutes
Free templates + free Cloudflare hosting. Zero monthly cost, sub-second load time, global CDN.
Browse all templates →