Professional Domain + Website + Email on a Ramen Budget
- Aju John
- May 5
- 6 min read
Updated: May 5

Here's how:
⚠️ WARNING: If you've ever used Wix, this will feel like you traded a self-driving car for a horse and a compass. The horse is fast, cheap, and powerful, but you have to steer it. Not recommended for anyone who breaks into a cold sweat when they see a command prompt.
Part A: Custom domain + website
How to Launch Your Website on Cloudflare Pages: A Beginner's Guide
This step-by-step guide walks you through buying a domain name, uploading a simple HTML file, and going live, all within Cloudflare.
What You'll Need
A free Cloudflare account
A credit card to purchase your domain name
A basic index.html file, this is your starter homepage
Step 1: Create Your index.html File
Your index.html is the foundation of your website. Open any text editor (Notepad on Windows, TextEdit on Mac) and paste this starter template:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Website</title>
</head>
<body>
<h1>Welcome to My Website</h1>
<p>This site is hosted on Cloudflare Pages.</p>
</body>
</html>
Save the file as index.html on your desktop. Later, you can create or generate one to replace this. Come back to this and spruce it up, once you have it all working end to end.
Step 2: Create a Cloudflare Account
Go to cloudflare.com and click Sign Up
Enter your email address and create a password
Verify your email
You'll land on the Cloudflare Dashboard — this is your control center for everything
Step 3: Purchase Your Domain Name.
In the Cloudflare Dashboard, click Domain Registration in the left sidebar
Click Register Domains
Type your desired domain name (e.g., yourname.com) in the search box
Review the available options and pricing — .com domains typically cost around $10/year. The non-.com domains typically cost less than that. I got a .us domain.
Click Purchase on the domain you want
Enter your billing information and complete the purchase
✅ Big advantage: Since you're buying the domain directly through Cloudflare, your DNS is already managed there — no nameserver changes needed later. Everything stays in one place.
Step 4: Deploy Your Site via Direct Upload
Now let's get your index.html file online.
In the Cloudflare Dashboard, click Workers & Pages in the left sidebar
Click Create application
Select the Pages tab
Click Use Direct Upload
Give your project a name (e.g., my-website) — this creates a temporary URL: my-website.pages.dev
Click Create project
Drag and drop your index.html file into the upload box
Click Deploy site
Your site is now live at your-project-name.pages.dev. 🎉
Step 5: Connect Your Domain to Your Site
Now let's point your new domain to your Pages project so visitors can reach you at yourname.com.
Go to Workers & Pages → select your project
Click the Custom domains tab
Click Set up a domain
Type your domain name (e.g., yourname.com) and click Continue
Click Activate domain
Because your domain is already managed by Cloudflare, this is nearly instant — no waiting for nameserver changes. Cloudflare also automatically issues a free SSL certificate, so your site loads securely at https://yourname.com.
Step 6: Verify Your Site is Live
Open a browser and go to your domain. You should see your homepage within a few minutes. If it doesn't appear right away, wait 10–15 minutes and refresh.
Updating Your Website
Whenever you want to make changes:
Edit your index.html file on your computer
Go to Workers & Pages → your project
Click Create a new deployment
Select Production
Upload your updated file and click Save and Deploy
Changes go live within seconds.
What You Get — For Free
Feature | Cloudflare Pages |
Hosting cost | $0 |
SSL certificate | Included (automatic) |
Custom domain support | ✅ |
Bandwidth | Unlimited |
Global CDN | ✅ Built-in fast delivery |
Deployments/month | 500 |
Domain registration is the only cost — typically $10–$12/year for a .com. Less for many others.
You're Live!
In under 30 minutes, you've purchased a domain, uploaded your first webpage, and launched a fast, secure website — all managed from a single Cloudflare dashboard. As your site grows, simply add more pages, images, and a CSS stylesheet to your upload folder alongside index.html.
Part B: Email with your custom domain name
Cloudflare Email Routing + Gmail
In this example, I am using the address, xyz@yourdomain.us to demonstrate how it can be setup to send and receive emails.
This lets you receive emails at xyz@yourdomain.us and send from it too, using your Gmail account as the backend.
Step A: Set Up Receiving (Cloudflare Side)
Log in to dash.cloudflare.com → select adsconsult.us
Go to Email → Email Routing → click Get Started
Click Add records and enable — Cloudflare auto-adds the required MX and TXT DNS records
Go to Routing Rules → Create address
Set Custom address to aju (giving you aju@adsconsult.us)
Set Destination to your existing Gmail address
Cloudflare sends a verification email to Gmail — click Verify email address
Step B: Set Up Sending (Gmail "Send As")
This lets you reply from xyz@yourdomain.us
In Gmail → Settings → See all settings → Accounts → Send mail as → Add another email address
Enter aju@adsconsult.us, uncheck "Treat as alias"
Gmail will ask for an SMTP server — use smtp.gmail.com, port 587, with your Gmail address and an App Password (generate one at myaccount.google.com → Security → App Passwords)
Gmail sends a verification code to xyz@yourdomain.us → it arrives in your Gmail inbox via Cloudflare routing → enter the code
Done — you can now choose xyz@yourdomain.us as the "From" address in any Gmail compose window
Cost: $0 — works entirely within your free Cloudflare plan and existing Gmail.
"App Passwords" only appears after you have 2-Step Verification enabled
Step 1: Enable 2-Step Verification First
Go to myaccount.google.com → Security
Under "How you sign in to Google", click 2-Step Verification
Follow the prompts — add your phone number to receive a verification code via text or call
Click Turn on
Step 2: Access App Passwords
Once 2-Step Verification is active, the easiest way is to go directly to this URL:
myaccount.google.com/apppasswords
Google has buried the link in their UI and many users can't find it by navigating — the direct URL is the most reliable method.
Step 3: Generate the Password
In the App name field, type something like Gmail SMTP - adsconsult.us
Click Create
Google gives you a 16-character code (e.g. abcd efgh ijkl mnop) — copy it immediately, you won't see it again.
Use that 16-character code (no spaces) as the password when Gmail's "Send As" setup asks for an SMTP password
Important Notes
"Third-party Apps and services" (what you saw) is unrelated — that manages OAuth app permissions, not SMTP credentialsgoogle
If you use a Passkey instead of a password to sign into Google, App Passwords may still not appear — in that case, the direct URL above is your only path ingoogle
The app password only needs to be generated once and entered once during Gmail's Send As setup.
Generate the App Password
Go directly to: myaccount.google.com/apppasswords.
Google may ask you to sign in again or confirm with your authenticator app — do that
In the "App name" text box, type something like Gmail SMTP adsconsult
Click Create
A box appears with your 16-character password — copy it right now and paste it somewhere temporary (Notepad, Notes app), because Google will never show it again!
Use It in Gmail Send As
Immediately after copying:
Open Gmail → Settings (gear icon) → See all settings → Accounts and Import
Under "Send mail as" → click Add another email address
Enter your name and the desired email address with your new domain → click Next Step
Fill in the SMTP form:
SMTP Server: smtp.gmail.com
Port: 587
Username: your full Gmail address (e.g. yourname@gmail.com)
Password: paste the 16-character app password (no spaces)
Leave TLS selected
Click Add Account
Gmail sends a confirmation code to new email address. Since Cloudflare routing is active, it will arrive in your Gmail inbox within a minute or two
Enter that code to verify → Done
From that point on, every time you compose in Gmail you'll see a "From" dropdown where you can choose aju@adsconsult.us instead of your personal Gmail address. Replies from clients will also come back to that address.
IMPORTANT DISCLAIMER (please read before proceeding): The author of this post has no financial relationship with Cloudflare, Wix, Google, or any entity in the known universe that might benefit from this article. No free plans were given. No swag was received. This information is provided as-is, as of May 2026, with all the accuracy and shelf life of a gas station sushi roll. Proceed at your own risk, with your own judgment, and ideally with a strong cup of joe.
My end products:





Comments