Skip to content

Personal Website Setup Guide

This guide walks you through building a complete personal website with a custom domain, HTTPS, and a professional email address, using free tools and one paid component.

By the end you will have:

  • A live website hosted for free on GitHub Pages
  • A custom domain pointing to that site (for example, yourname.com)
  • HTTPS enabled automatically
  • A professional email address (you@yourname.com) that sends and receives through Gmail

The entire system is free except for the domain name itself, which costs approximately $10 to $12 per year for a .com domain.


What you will need

Before starting, make sure you have the following:

  • A GitHub account, free at github.com
  • A Cloudflare account, free at cloudflare.com
  • A Gmail account
  • A domain name purchased through Cloudflare Registrar (covered in the Domain Registration section)
  • A basic HTML file for your website, or willingness to create one

No prior experience with GitHub, DNS, or email configuration is assumed. Every step is explained from scratch.


How this guide is structured

Page What it covers
GitHub Pages Create a repository, add your HTML file, and enable GitHub Pages
Domain Registration Purchase a custom domain through Cloudflare Registrar
DNS Configuration Connect your domain to GitHub Pages and enable HTTPS
Professional Email Set up a custom email address that sends and receives through Gmail
Quick Reference All DNS records and configuration values in one place
Troubleshooting Solutions to the most common problems at each stage

How the system works

The components of this guide work together as a connected system:

GitHub Pages          → hosts your website files
Cloudflare Registrar  → owns your domain name
Cloudflare DNS        → routes your domain to GitHub Pages
Cloudflare Email      → receives email at your custom domain
Gmail SMTP            → sends email from your custom domain

Each part is independent, you can complete them in any order, but the order in this guide is the most logical sequence for a first-time setup.


Start with GitHub Pages.