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

# Use your own domain

> Put your published website on a domain you already own, from GoDaddy, Namecheap, Cloudflare or any other provider.

Your published website always has a Newly address ending in `appandrunning.com`. You can also put it on a domain you already own, like `www.yourshop.com` or `shop.yourname.com`. The Newly address keeps working alongside it.

You add two records where your domain's DNS is managed. Newly checks them for you and turns on HTTPS once they're in.

> [!NOTE]
>
> Publish your website first: ask the agent to publish it. Connecting a domain needs a published site to point at.

## Connect it

You can start from either place. Both show the same steps.

* **In the chat:** tell the agent "connect my domain [www.yourshop.com](http://www.yourshop.com)". The **Connect your domain** card opens.
* **In the Deploy tab:** open **Deploy**, then **Domains** under **Web**, and use **Connect a domain you own**.

**1. Type your domain**

Enter the address you want, like `www.yourshop.com` or `shop.yourname.com`, and press **Continue**. You can paste a full link; Newly keeps just the domain.

**2. Check the provider**

Newly looks up who runs your domain's DNS and names them, with where to click: GoDaddy, Namecheap, Cloudflare, Squarespace, Porkbun, Hostinger, Amazon Route 53, IONOS, Wix or Netlify. Anyone else gets general steps. If it names the wrong one, press **Not your provider?** and pick yours.

DNS isn't always where you bought the domain. If you bought it at Namecheap but moved DNS to Netlify, the records go in Netlify.

**3. Add the records**

Add each record exactly as shown, using the copy buttons:

| Record | Type | What it does |
| - | - | - |
| 1 | `CNAME`, for example `www` → `sites.appandrunning.com` | Points your domain at your site |
| 2 | `TXT`, for example `_cf-custom-hostname.www` → a code | Proves you own the domain |

Names are shown the way DNS panels want them, without your domain on the end. If your provider adds your domain after the box, type only what the card shows.

**4. Wait for Connected**

The status reads **Waiting for DNS** until the records are seen, then **Connected** once HTTPS is ready. It checks by itself, and **Check now** checks straight away. You can close the card; **Deploy**, **Domains** keeps the status.

Once ownership is confirmed, the `TXT` record drops off the list. Leave it in place at your provider anyway.

## How long it takes

Most domains turn **Connected** within **5 to 30 minutes** of adding the records. HTTPS comes a few minutes after the domain is verified, while the certificate is issued.

### It says Connected but the site won't open

If your browser says **This site can't be reached** or `ERR_NAME_NOT_RESOLVED` after the card says **Connected**, your own network is most likely still using an old answer. Every DNS record has a time to live (TTL), often one hour (`3600` seconds). Your router, your internet provider and some VPNs keep the old answer until that time runs out.

This mostly happens when you **changed a record that already existed** (for example, an old `CNAME` for the same name). A brand-new record usually works straight away.

* **Wait.** It clears by itself within the record's TTL, usually an hour at most.
* **Try another network.** Open the site on your phone with Wi-Fi off. If it loads there, the site is fine and only your network is behind.
* **Use a public DNS for a moment.** Set your computer's DNS to `1.1.1.1` or `8.8.8.8`, and turn off any VPN that handles DNS for you (Tailscale, for example), then reload.

> [!TIP]
>
> Changing a record you already have? Lower its TTL to 300 seconds a day before, so the change reaches everyone within five minutes.

## Root domains and www

Some providers can't point a bare domain like `yourshop.com` at a website, only names under it like `www.yourshop.com`. On those (GoDaddy, Squarespace, Hostinger, Amazon Route 53, IONOS, Wix and most others), typing `yourshop.com` connects `www.yourshop.com` instead. The card tells you to **forward** `yourshop.com` to `https://www.yourshop.com` in your provider's domain settings, so both addresses work.

Cloudflare, Namecheap, Porkbun and Netlify can point a bare domain directly, and connect it as typed. The card asks for an `ALIAS` record, or a `CNAME` on Cloudflare.

## Provider tips

* **Cloudflare:** set **Proxy status** to **DNS only** on both records.
* **Netlify:** the **Name** field starts with `@`. Clear it first, then type the name from the card. `@_cf-custom-hostname.www` is the wrong record.
* **Any provider:** remove other records with the same name before adding the `CNAME`. A name can't have a `CNAME` and an `A` record at once.

## Disconnect a domain

Open **Deploy**, then **Domains**, and press **Disconnect** next to the domain. Your site stops loading there; your Newly address keeps working. You can delete the two records at your provider afterwards, and connect the domain again any time. Reconnecting gives you a new `TXT` code.

A domain you bought through Newly is managed by Newly and isn't disconnected from here.

## Buy a new domain

Don't have a domain yet? Buy one without leaving Newly. It needs no records: Newly sets up its DNS itself.

**1. Choose Buy a new one**

Open **Deploy**, then **Domains** under **Web**. Under **Add a domain**, choose **Buy a new one**. Newly searches your app's name straight away.

**2. Pick a name**

The name you searched comes first, marked **Taken** if someone already has it. Under it are names you can buy, each with its price for 1 year, before any tax. Change the search and press **Search** to see others.

**3. Confirm and pay**

Check the name and price, tick **I understand a domain can't be refunded once it's registered**, then press **Pay**. Pay stays off until the box is ticked. Stripe opens in a new tab and shows any tax before you pay.

**4. Wait for it to go live**

The domain shows **Waiting for payment** until Stripe confirms, then **Registering**, which usually takes a few hours, then **Connected**. If your website isn't published yet, it goes live on the domain once you publish.

Closed the Stripe tab before paying? Press **Open payment again**, or **Pick a different name** to start over. Nothing is charged until you pay.

You can also ask the agent in the chat to buy a domain.

## Domains bought through Newly

A domain you buy through Newly shows in **Deploy**, **Domains** from the moment you pay:

* **Registering:** the purchase is going through. This can take a few hours.
* **In review:** payment arrived and Newly is checking the order before registering it.
* **Finish setup:** the domain is registered but not on your site yet. Press **Finish setup**.

Once it's on your site it's listed like any other domain, as **Connected**.

## If it doesn't connect

| What you see | What to check |
| - | - |
| **Waiting for DNS** for over an hour | Both records are added, the names match the card exactly, and the `TXT` value is the latest one (it changes if you reconnect). |
| **Not connected** | The reason is under the status. Usually a name that doesn't match, or another record with the same name. Fix it and press **Check now**. |
| "Publish your website first" | Ask the agent to publish your website, then connect again. |
| "We couldn't set up your domain with our hosting provider" | Try again in a minute. If it keeps happening, [contact support](/help/getting-help.md). |
| "is connected to another project" | The domain is already used by another project. If it's one of yours, disconnect it there first; if not, [contact support](/help/getting-help.md). |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.