DEV Community

Trent Yang
Trent Yang

Posted on • Updated on

How to setup google domain for github pages

google domains and github pages


Github pages is easy to setup, but to attach a custom domain with google domains, you may run into problems. Here is how you can do it in 4 steps.


STEP 1/4: Let gitHub pages know your custom domain

  • Go to your github repository settings page
    GitHub Settings

  • Add you custom domain name at Settings > GitHub Pages > Custom domain
    GitHub Settings Github Pages

STEP 2/4: Let your custom domain ( points to your github pages

  • Go to registar page on your google domains, select your domain
    Google Domain Register

  • Go to DNS > Custom resource records
    DNS Custom resource records

  • Add the record shown in the screenshot bellow. Note that you need to use the "+" button to add more urls.
    A record
    Here is the list of ips in the screenshot:


Incase these are outdated, you can also find the latest ones at github.

  • To confirm that your DNS record is set up correctly, use the dig command to do a lookup of your domain
  $ dig +noall +answer  3600  IN  A  3600  IN  A  3600  IN  A  3600  IN  A
  • Once the above is successful, your custom domain should work correctly. Go to your domain and take a look!

STEP 3/4: Let your www sub-domain ( point to your github pages

  • Add the following CNAME record
    CNAME record

  • You can use the following dig command to confirm that your setup is correct

  $ dig +nostats +nocomments +nocmd      IN      A 1263 IN      CNAME

STEP 4/4: (optional but HIGHLY recommended) Enable HTTPS for your github pages

  • Go to your github repository settings page, under Settings > GitHub Pages > Custom domain remove your custom domain and save. GitHub Settings Github Pages
  • Then add it back and save again.
  • Now you should be able to check the "Enforce HTTPS" checkbox and secure your site!

If you enjoy reading it, here is my blog

Top comments (26)

sayakpaul profile image
Sayak Paul

Hello. Thanks for the amazing tutorial. A couple of questions:

Here's the output of the dig:

$ dig +nostats +nocomments +nocmd

; <<>> DiG 9.10.6 <<>> +nostats +nocomments +nocmd
;; global options: +cmd
;         IN  A      380 IN  CNAME    379 IN  A    379 IN  A    379 IN  A    379 IN  A
Enter fullscreen mode Exit fullscreen mode

When I navigate to, I get the following:

My Google Domain settings are correct as well I think:

Help appreciated :)

asurakuo profile image

You will need to get yourself a SSL certificate. SSL basically encrypts any thing that happens on your website so that no attackers and intercept the information

Very sorry for the 2 year late response.
please read

alanjantz profile image
Alan Jantz

How did you resolve it? I'm getting the same error and I don't know what to do 😕

nsylv profile image
Nikki Schmidt

Make sure you have www in Github for your custom domain

marinadelkovamoro profile image
Marina Delkova-Moro


I am stuck on step 2 and having trouble adding the IPs to my Custom resource records on Google domain. I get a notification "Record already in use" for the IPs that you have provided in this article and I can't figure out what are the updated ones. I have been reading through GitHUb documents for the last few hours and can't seem to find the current IPs.

Can you, please, provide the current IPs?

Thank you!!

kellymtrinh profile image

I got this error when I still had a subdomain forwarding on under Synthetic records. It went away after I deleted that!

marinadelkovamoro profile image
Marina Delkova-Moro

Thanks, Kelly!! This makes sense now!

angoodkind profile image
Adam Goodkind

When I enter the dig command in Step 3, I only get the same 4 IP addresses from Step 2, and do not get a CNAME result. What have I configured incorrectly?

enzotrompeneers profile image
Enzo Trompeneers

Same problem, any solution?

angoodkind profile image
Adam Goodkind

Unfortunately I do not remember, but it did eventually work. I think you need to make sure there's only 1 entry on that page. In addition, things usually take 10-15 minutes to propagate through the system.

jwsmitherman profile image

I can't seem to get this to work. I've deployed my react app to my git hub pages. I tested it without the custom domain and it came up fine. But when I attempt to add the custom domain it never shows following these steps. I'm at a road block here so any help would be very much appreciated.

brpetrucci profile image
Bruno do Rosario Petrucci • Edited

Hi, thanks for the great tutorial! I'm getting an error, not sure where.

Everything seems to be working correctly - dig commands lead to the same output you show, the website shows up with a check in github "ready to be published at" etc, but when I try the URL it says the page cannot be found? I'm very confused

fr3drick545 profile image

I have the same issue. Have you been able to find a fix?

lenakroeker profile image
Lena Kroeker

thanks so much! It finally works!!!!!
I must've gone through 10 or more tutorials trying to get this all to come together, accidentally almost lost my whole project a few times somehow etc etc. Nightmare! sometimes you just need to start from scratch a bunch of times before you get the right combo, and this did it for me!

dannydore profile image
Danny Dore

I just want to say thank you for making this! I was having trouble figuring out how to connect Google Domains and GitHub Pages, but your guide was the tutorial I needed!

tashanduncan profile image
Tashan Duncan

Saved me some headache here!

Thank you

thecarpathiancoder profile image

Thanks man!

jakkapanksb profile image

Thanks, Absolutely nice tutorial

knpfletcher profile image
Karen Fletcher

This article is awesome, the most straightforward and thorough outline of the process! Thanks for posting!

dulani profile image

Very helpful! I was mistakenly treating the "Registered Hosts" as the A record and the "Synthetic Domain" as the CNAME record. Your clear and concise post straightened me out!

fuhrmann profile image
Ricardo Fuhrmann

Thanks, it worked!

nikijiandani profile image
Nikita Jiandani

Nice article! Works as expected. Thank you!!!

gsharm profile image
Gaurav Sharma

Worked great - thanks!

Some comments may only be visible to logged-in visitors. Sign in to view all comments.