Using custom domain for GitHub pages

Using custom domain for GitHub pages

Recently I decided to host my personal portfolio site using GitHub pages. Even though they have very detailed instruction on how to setup a custom domain, I found it cumbersome to get to the right information. ?

Here are 2 key steps to setup your GitHub pages enabled project to use your custom domain.

??Step 1 ? Set domain in GitHub project

Image for postGo to your GitHub Pages site?s repository settings. Under ?Custom domain?, add or remove your custom domain and click ?Save?.

Setting ?custom domain? creates a file named CNAME in the same repository. Don?t delete it.

??Step 2 ? Set custom resource record for domain

This step is specific to your domain name register (like GoDaddy, Domain.com, Google Domains, etc). All you need to do is set A & CNAME records for the selected domain.

Image for postThis is a sample screenshot taken from the Google Domains portal.

For A record, set 185.199.108.153, 185.199.109.153, 185.199.110.153 and 185.199.111.153. To redirect www subdomain to the original domain, add a CNAME record with your GitHub pages profile URL with a .(dot) in the end, for example, ?YOUR-GITHUB-USERNAME.github.io.?.

Official References: For most up to date IP Addresses, use GitHub?s official documentation and for setting up CNAME use this documentation.

That?s it, both www.your-domain.com and your-domain.com will now go to your selected GitHub pages site (may need to wait up to 24 hours). If you want to see a live example, you may visit my portfolio ?hossainkhan.com? hosted via GitHub pages repository ??.

UPDATE #1: The IP addresses for DNS A record is updated. The new IP addresses are required to use the free HTTPS support for GitHub pages.

UPDATE #2: Some people said this change is not working, it is actually because the DNS update can take upto 24 hours to propagate. So, I guess try hitting your domain next day ?

NOTE #1: Even though it?s very obvious, you should replace YOUR-GITHUB-USERNAME and your-domain.com with your personal github username and domain name you are trying to use respectively.

14