HERON

Basics · 6

Your domain

A domain is your site's own address, like yourname.com. This page explains what it is, where to buy one, how to point it at your site and how the padlock of HTTPS appears.

Fifteen minutes of clicking, then waiting: usually minutes, sometimes a few hours, until the internet learns the new address.

In plain words

Computers on the internet find each other by numbers, like 185.199.108.153. A domain is a name for that number, so people do not have to remember it. DNS is the internet's phone book: it answers "which number is yourname.com?".

You rent a domain from a registrar for a year at a time. In the registrar's control panel you write DNS records: lines that say "my domain lives at this number" or "this name is another name for that one". When the records are right, a browser that asks for yourname.com is sent to your site.

HTTPS is the padlock in the address bar: the connection is encrypted and the site is really yours. It needs a certificate, which GitHub Pages, Cloudflare Pages and a server with certbot issue for free.

When you need this page: when the site works and you want it at your own address. When you can skip it: while you build; a free address like your-name.github.io works too.

Buy a domain

The records you need

RecordWhat it saysExample
AThe domain lives at this IPv4 number@ → 185.199.108.153
AAAAThe same for an IPv6 number@ → 2606:50c0:8000::153
CNAMEThis name is another name for that onewww → your-name.github.io
TXTA text note, often to prove the domain is yoursa code from GitHub or a search engine

Point the domain at your site

  1. 1

    Find the address of your site

    For GitHub Pages: the GitHub numbers. For a server: its IP number from the hosting panel.
  2. 2

    Open the DNS panel of your registrar and delete the old A record that points to the registrar's "parking" page, if there is one.
  3. 3

    Add the records from the table above. Leave TTL (how long answers are remembered) at the default.
  4. 4

    Tell the site its domain

    In site.yaml, under site:, set domain: yourname.com, so links, the sitemap and search data use it. For GitHub Pages also enter the domain in the repository: Settings → Pages → Custom domain.
  5. 5

    Wait and check

    Usually a few minutes, at most a day or two. A free DNS checker website shows whether the new numbers are visible around the world.
  6. 6

    Turn on HTTPS

    GitHub Pages: tick Enforce HTTPS once the certificate is ready. Cloudflare Pages does it alone. A server: sudo certbot --nginx -d yourname.com -d www.yourname.com, see Static files.

Questions

Do I need a domain to start?

No. Build and look at the site on your computer first. Free addresses like your-name.github.io or a pages.dev address on Cloudflare work until you buy a domain.

Can I keep my email when I move the site?

Yes. Email uses MX records. Change only the A, AAAA and CNAME records for the site and leave MX and the TXT records for email as they are.

Why does the site open without www but not with it?

The CNAME record for www is missing. Add it, and set one version as the main one in your hosting; HERON already writes one canonical address in every page.

The browser says "not secure". What now?

The certificate is not issued yet or HTTPS is not enforced. Wait an hour after the DNS change, then turn on HTTPS as in step 6. Problems with a certificate are also on If something goes wrong.

What next?

Choose where the site lives: Publishing.