� Back to Documentation
Deploy to Cloudflare Pages
Deploy with Cloudflare's global CDN and DNS management. Perfect for domains already using Cloudflare, with automatic DNS configuration and enterprise-grade performance.
Why Cloudflare Pages?
- Global CDN - Content delivered from 275+ data centers worldwide
- Automatic DNS - If your domain is on Cloudflare, DNS is configured instantly
- Unlimited bandwidth - No bandwidth limits on the free tier
- DDoS protection - Enterprise-grade security built-in
- Git integration - Deploy directly from GitHub or GitLab
Prerequisites
- A Cloudflare account (free tier available at pages.cloudflare.com)
- Your Launchpage.xyz repository on GitHub or GitLab
- A registered domain (optionally managed by Cloudflare DNS)
Deployment Steps
Step 1: Create a Cloudflare Pages Project
- Go to Cloudflare Pages
- Log in to your Cloudflare account
- Click "Create a project"
- Click "Connect to Git"
- Authorize Cloudflare to access your Git provider (GitHub or GitLab)
- Select the
launchpage.xyz repository
Step 2: Configure Build Settings
For Launchpage.xyz, use these settings:
- Framework preset: None (or select "Static HTML")
- Build command: (leave empty - no build needed)
- Build output directory:
. (root directory)
- Root directory:
/ (default)
Step 3: Deploy
- Review your settings
- Click "Save and Deploy"
- Cloudflare will clone your repository and deploy
- Your site will be live at
your-project.pages.dev in about 1 minute
Add Your Custom Domain
If Your Domain is on Cloudflare DNS (Easiest)
- In your Pages project, go to "Custom domains"
- Click "Set up a custom domain"
- Enter your domain (e.g.,
example.com)
- Click "Continue"
- Cloudflare will automatically configure DNS records
- SSL certificate is provisioned automatically (Universal SSL)
- Domain will be live within minutes
Pro Tip: If your domain is already on Cloudflare DNS, custom domain setup takes just seconds with automatic DNS configuration!
If Your Domain is NOT on Cloudflare
- Add your custom domain in Pages project settings
- Cloudflare will provide a CNAME target (e.g.,
your-project.pages.dev)
- At your DNS provider, add a CNAME record:
- Name: @ (for root domain) or www (for subdomain)
- Target: The Cloudflare Pages URL provided
- Wait for DNS propagation (5-30 minutes typically)
- SSL will be automatically provisioned once DNS is confirmed
Continuous Deployment
Cloudflare Pages automatically deploys on every Git push:
- Push to your connected branch triggers automatic deployment
- Preview deployments for all branches and pull requests
- Deployment history with one-click rollback
- Deploy hooks for manual triggers
Branch-Based Deployments
Configure different branches for production and preview:
- Go to project "Settings" � "Builds & deployments"
- Set "Production branch" (e.g.,
main)
- All other branches create preview deployments
- Preview URLs:
branch-name.your-project.pages.dev
Enable Web Analytics (Optional)
Cloudflare offers privacy-first web analytics:
- In your Cloudflare dashboard, go to "Analytics" � "Web Analytics"
- Click "Add a site"
- Enter your domain
- Copy the provided JavaScript snippet
- Add it to your
index.html before the closing </body> tag
Advanced: Multiple Domains
Host multiple domains on the same Pages project:
- Go to "Custom domains"
- Click "Set up a custom domain" for each domain
- Each domain will serve the same content
- The launchpage will automatically detect and display the correct domain name
Collect Emails/Waitlist
To collect email submissions from your launchpage, you'll need to set up a Cloudflare Worker. This allows you to store and access visitor submissions.
Follow our complete guide: Collect Emails/Waitlist →
After setting up the Worker, update the form action in your index.html before deploying to Cloudflare Pages:
<form class="email-form" id="emailForm" method="POST"
action="https://YOUR-WORKER-URL.workers.dev">
Troubleshooting
DNS not resolving?
- Verify CNAME record is correctly pointing to your Pages URL
- Check DNS propagation with tools like
dig or online DNS checkers
- Ensure there are no conflicting A or AAAA records
SSL certificate issues?
- If using Cloudflare DNS: SSL should be automatic - check Universal SSL is enabled
- If external DNS: Ensure CNAME is properly configured and propagated
- Wait up to 24 hours for certificate provisioning on first setup
Build failing?
- Ensure build command is empty (Launchpage is static HTML)
- Verify build output directory is
. (root)
- Check deployment logs in Pages dashboard for specific errors
Cloudflare-Specific Benefits
- Argo Smart Routing - Optimize global performance (paid add-on)
- Web Application Firewall - Advanced security (paid plans)
- Page Rules - Custom caching and redirects
- Workers - Add serverless functions if needed
- Analytics - Built-in privacy-first analytics
Need help? Open an issue on GitHub or check the Cloudflare Pages documentation.
� Back to Documentation