> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moda.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom domains

> Connect a domain you own to your published Moda site, including root domains like yoursite.com.

Every published Moda site gets a free `*.moda.page` address. On a paid plan you can also connect a domain you own — like `www.yoursite.com` or `portfolio.yoursite.com` — so visitors reach your site at your own address.

## Before you start

* Your site must be **published** (custom domains attach to the published site).
* You need access to your domain's **DNS settings** — usually at the registrar where you bought the domain (GoDaddy, Namecheap, FastHosts, Cloudflare, …).

## Connect a domain

1. Open your site's **Publish** dialog and find **Custom domains**.
2. Click **Add domain** and enter the hostname you want, e.g. `www.yoursite.com`.
3. Moda shows you **two DNS records** to add at your DNS provider. Add them both in one visit — they're independent:
   * **Ownership (TXT)** — proves you control the domain.
   * **Routing (CNAME)** — points traffic at Moda.
4. Back in Moda, click **Verify ownership**. Moda also re-checks automatically for a few minutes.

Once ownership verifies and your CNAME propagates, Moda issues a TLS certificate for your domain (usually 1–2 minutes) and the status flips to **Active**.

<Warning>
  **Enter each record's Name exactly as shown in Moda.** Most DNS providers automatically append your domain to whatever you type in the Name/Host field. If Moda shows the Name `_moda-verify` and you paste the full `_moda-verify.yoursite.com`, your provider saves it as `_moda-verify.yoursite.com.yoursite.com` — a doubled record that never verifies. This is the single most common reason verification fails.
</Warning>

## Root domains (yoursite.com without www)

A root domain (also called an *apex* domain — `yoursite.com` rather than `www.yoursite.com`) is special: the DNS standard doesn't allow a CNAME record at the root. What works depends on your DNS provider:

### If your provider supports ALIAS or ANAME records

Some providers (Cloudflare DNS, DNSimple, Namecheap, and others) offer ALIAS/ANAME records — or flatten CNAMEs at the root automatically. If yours does:

1. Add `yoursite.com` as your custom domain in Moda.
2. Create the routing record as an **ALIAS/ANAME** with the same Name (`@`) and value Moda shows.
3. Optionally, also add `www.yoursite.com` as a second domain in Moda so both addresses serve your site.

### If your provider doesn't (most registrars)

Use `www` and forward the root — visitors reach your site either way:

1. In Moda, use **Add domain** to connect `www.yoursite.com` (if you already added the root domain, remove that entry — it can't route at your provider).
2. Add the TXT and CNAME records Moda shows. Note the TXT Name will be `_moda-verify.www` — enter it exactly as shown.
3. At your registrar, set up a **web forward** from `yoursite.com` to `https://www.yoursite.com`. Providers name this differently: *Web Forwarding* (FastHosts), *Domain Forwarding* (GoDaddy, Namecheap), *URL Redirect* (Porkbun and others). It's usually a toggle in the same panel as your DNS settings.

That's the standard setup across the web: `www` serves the site, the bare domain redirects to it.

## Status meanings

| Status                                 | What it means                                                  |
| -------------------------------------- | -------------------------------------------------------------- |
| **Verify ownership**                   | Waiting for your TXT record. Add it, then click Verify.        |
| **Point DNS to Moda**                  | Ownership verified — waiting for your CNAME to propagate.      |
| **Issuing certificate**                | DNS is set; the TLS certificate is being issued (1–2 minutes). |
| **Active**                             | Your domain is live.                                           |
| **Needs attention / DNS disconnected** | Your DNS no longer points at Moda — re-check your records.     |

## Troubleshooting

**Verification keeps failing.** Almost always the doubled-Name problem from the warning above. In your DNS provider's record list, check what the TXT record's full name actually is — if you see your domain repeated twice, edit the record's Name to just the short value Moda shows (e.g. `_moda-verify`).

**Records added but nothing happens.** DNS changes take a few minutes to propagate (set TTL to 300 if your provider asks). Moda re-checks automatically for a few minutes after you add a domain; you can always click **Verify ownership** to re-check immediately.

**Your DNS is on Cloudflare.** Set the CNAME to **DNS only** (gray cloud, not orange). Proxying through your own Cloudflare zone conflicts with the certificate Moda issues for your hostname.

**Removing a domain.** Use the trash icon on the domain's row. Removal frees the hostname immediately and detaches the certificate; your `*.moda.page` address keeps working throughout.
