Configuring a Custom Domain with GitHub Pages and Squarespace
A practical apex-domain setup for GitHub Pages on Squarespace DNS, including canonical records, domain verification, and HTTPS issuance checks.
To show my website on my custom domain, I had to configure GitHub Pages (hosting) and Squarespace (DNS/domain provider).
The official docs are straightforward, and this setup worked reliably for an apex domain.
1. Configure the custom domain in GitHub Pages
In your repository, go to Settings -> Pages and set your custom domain to chipsncode.com.
GitHub docs: Managing a custom domain for your GitHub Pages site
2. Configure Squarespace DNS for an apex domain
For chipsncode.com, configure these records:
Arecord, host@->185.199.108.153Arecord, host@->185.199.109.153Arecord, host@->185.199.110.153Arecord, host@->185.199.111.153AAAArecord, host@->2606:50c0:8000::153AAAArecord, host@->2606:50c0:8001::153AAAArecord, host@->2606:50c0:8002::153AAAArecord, host@->2606:50c0:8003::153CNAMErecord, hostwww->marzogh.github.io
Canonical GitHub DNS table: DNS records for your custom domain
3. Verify with dig while DNS propagates
GitHub notes DNS changes can take up to 24 hours.
You can check propagation with dig:
dig chipsncode.com +noall +answer -t A
dig chipsncode.com +noall +answer -t AAAA
dig www.chipsncode.com +noall +answer -t CNAME
4. Add GitHub domain verification (recommended)
In GitHub Pages domain verification, you’ll get a TXT record like:
- host:
_github-pages-challenge-marzogh - value:
<token from GitHub>
In Squarespace, enter only the host label (_github-pages-challenge-marzogh), not the full domain name. Squarespace appends .chipsncode.com automatically.
Verify with:
dig _github-pages-challenge-marzogh.chipsncode.com +nostats +nocomments +nocmd TXT
GitHub docs: Verifying your custom domain for GitHub Pages
5. Enforce HTTPS
After DNS and verification settle, GitHub Pages can issue the certificate and Enforce HTTPS becomes available.
Note on speeding things up: propagation is bounded by DNS caching (TTL). If your provider lets you lower TTL (for example to 300) before making changes, updates are usually visible sooner; otherwise you wait for existing cache windows to expire.