Host your launchpage directly from your GitHub repository with GitHub Pages. It's completely free, includes SSL, and integrates seamlessly with your Git workflow.
If you haven't already, push your launchpage to a GitHub repository:
# Initialize git (if not already done)
git init
# Add your files
git add .
# Commit
git commit -m "Initial commit"
# Add GitHub remote
git remote add origin https://github.com/yourusername/launchpage.xyz.git
# Push to GitHub
git push -u origin main
main (or your branch name)/ (root)GitHub will build and deploy your site. Within a few minutes, it will be live at:
https://yourusername.github.io/launchpage.xyz
yourusername.github.io, the site will be available at https://yourusername.github.io (without the repo name in the URL).
Now let's connect your custom domain to GitHub Pages:
example.com)CNAME file in your repositoryAt your domain registrar, configure DNS records:
Add four A records pointing to GitHub's IP addresses:
Type: A
Name: @
Value: 185.199.108.153
Type: A
Name: @
Value: 185.199.109.153
Type: A
Name: @
Value: 185.199.110.153
Type: A
Name: @
Value: 185.199.111.153
Add a CNAME record:
Type: CNAME
Name: www
Value: yourusername.github.io
yourusername with your actual GitHub username.
Once DNS is configured and propagated:
GitHub will automatically provision a free SSL certificate from Let's Encrypt!
You can also create the CNAME file manually in your repository:
# Create CNAME file in your repository root
echo "example.com" > CNAME
# Commit and push
git add CNAME
git commit -m "Add custom domain"
git push
GitHub Pages automatically rebuilds and deploys when you push to your configured branch:
# Make changes to your launchpage
# ... edit files ...
# Commit and push
git add .
git commit -m "Update launchpage"
git push
# GitHub Pages will automatically redeploy!
pages-build-deployment workflowGitHub Pages has a limitation: you can only configure one custom domain per repository.
If you need multiple domains pointing to the same launchpage:
primary-domain.com)Create a custom 404 page by adding 404.html to your repository root:
<!DOCTYPE html>
<html>
<head>
<title>Page Not Found</title>
</head>
<body>
<h1>404 - Page Not Found</h1>
<p><a href="/">Go to homepage</a></p>
</body>
</html>
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 GitHub Pages:
<form class="email-form" id="emailForm" method="POST"
action="https://YOUR-WORKER-URL.workers.dev">
dig example.com to check DNS resolutionBe aware of these GitHub Pages constraints:
For most launchpage use cases, these limits are more than sufficient!
Need help? Open an issue on GitHub or check the GitHub Pages documentation.