# Connecting a domain to a project

> Map your domain (or any subdomain of it) to a published project — instantly, with no re-publish needed.

Source: https://support.estage.com/domains-connect
Part of the ESTAGE Support help center (https://support.estage.com). Full knowledge base: https://support.estage.com/llms-full.txt

---

Once a domain is [added and active](https://support.estage.com/domains), connecting it to a project takes seconds.
One domain can serve several projects — each on its own subdomain.

## Connecting

In your project: **Settings → Domain → DNS Records**. If no domain is connected yet the form is
the first thing on the page; if one already is, use **Connect another domain**.

1. Pick the domain from the dropdown — it lists the **active** domains on your account.
2. **Subdomain** — leave empty to use the bare domain (`mysite.com`), or type one
   (`app` → `app.mysite.com`).
3. Click **Connect**.

You can also connect from the other direction: open the domain on the
[Domains](https://support.estage.com/domains) screen and use its **Connected Projects** tab.

That's it — **no re-publish needed**. Genesis copies your published site to the new address
and it goes live immediately, HTTPS included.

> **Tip**
>
> Connecting the bare domain (`mysite.com`) automatically covers **www.mysite.com** too — both
> serve your site, no extra setup.

## What changes after connecting

- The **Open site** button, your project's published URL, and your SEO plumbing (sitemap,
  canonical URLs, social-share tags) all switch to the custom domain.
- Your original `…genesis.estage.com` address **keeps working** — same site, both addresses.
  Share the custom one.

## Several projects, one domain

Each subdomain is its own mapping, so one domain can host your whole ecosystem:

| Address | Project |
| --- | --- |
| `mysite.com` | Main site |
| `blog.mysite.com` | A separate blog project |
| `app.mysite.com` | Your web app |

A subdomain can only be mapped to one project at a time — connecting an occupied one shows
*"already mapped"*; disconnect it from the other project first.

A **[module](https://support.estage.com/project-settings-modules#a-module-on-its-own-subdomain)** of one project can also
take its own subdomain — `app.mysite.com`, `store.mysite.com` — each with its own home page, with
the AI scoping its edits to the module it's working in.

## Which address the project shows

If a project has several addresses, the **Open site** button and the published URL use the
**shortest** one: `mysite.com` beats `www.mysite.com` and `app.mysite.com`. Nothing to set — it
is worked out from the addresses themselves.

A mapping can also carry a **Primary** badge in the domain's **Connected Projects** list. That
one is used elsewhere — picking the host for a community, or for a module on its own subdomain —
and it does **not** decide the published URL. There is no longer a checkbox for it: the old
"make this primary" tick decided nothing at the moment you were asked, before the project had a
second address to compare against.

## Disconnecting

Open the domain on the [Domains](https://support.estage.com/domains) screen, go to **Connected Projects**, and remove the
mapping there. The custom address stops serving the site (the Genesis address keeps working as a
fallback). The domain stays in your workspace, ready to reconnect anywhere.

## Its records, once it's connected

Everything the domain points at — mail, verification strings, any other service — is editable in
the same place: [DNS records & traffic](https://support.estage.com/domains-dns-and-traffic). That page also covers giving
a collaborator access to them without handing over the domain itself.

## Updates after connecting

Nothing changes in your workflow: edit, then [Publish](https://support.estage.com/workspace-publishing) — the new
version goes live on the custom domain and the Genesis address simultaneously.
