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

# Connect a domain from another provider

> Connect a domain you already own to a Lovable project, add its DNS records at your provider, verify the connection, and fix setup problems.

You can connect a domain you already own using **automatic** setup (powered by Entri) or **manual** DNS configuration. Both methods require verifying ownership of your domain.

> [!TIP]
>
> Connecting points your domain at your project while it stays registered with your current provider. If you'd rather have Lovable manage the domain's registration, renewals, and DNS in one place, [transfer the domain to Lovable](https://docs.lovable.dev/features/transfer-domain.md) instead.

## Prerequisites

Before connecting a domain from another provider, check that:

* You have project editor permissions or higher to connect and disconnect domains.
* You have access to the DNS settings for the domain or subdomain you want to connect. **Ownership verification** requires adding the DNS records Lovable provides during setup, including a verification `TXT` record.
* At your DNS provider, compare the hostname's `A`, `AAAA`, and `CNAME` records with the records Lovable provides during setup. These records point a name at a server. Remove records from a previous host, which can send some or all visitors there instead of your app.
* Your Certificate Authority Authorization (`CAA`) records, if you have any, allow Lovable to issue SSL certificates for the domain. See [My domain has CAA records and SSL setup fails](#my-domain-has-caa-records-and-ssl-setup-fails).

## Connect your domain

Follow the steps below to connect the domain:

**1. Connect domain**

Open **Project → Settings → Domains**. For your first domain, click **Connect** under **Connect a domain you own**. To add another, click **Connect domain** under **More domains**.

**2. Enter your domain**

* Enter your domain or subdomain (for example, `yourdomain.com` or `blog.yourdomain.com`).
* Click **Continue**.

**3. Choose root domain or subdomain**

If the dialog shows connection options, choose how the domain connects to your project:

* **Root domain** connects `yourdomain.com`. The **Redirect `www.yourdomain.com` → `yourdomain.com`** option is enabled by default.

  With the option enabled, Lovable also connects `www.yourdomain.com`, groups it with the root domain, and redirects `www` visitors to your [primary domain](https://docs.lovable.dev/features/custom-domain#primary-domain). Disable the option to connect only the root domain.
* **Subdomain** connects a subdomain such as `blog.yourdomain.com`. Enter the subdomain prefix (for example, `blog`). If you entered a full subdomain in the previous step, Lovable fills in the prefix.

Check the full address shown in the dialog, then confirm the connection.

**4. Configure DNS records**

If Lovable already manages the domain's DNS, it configures the records automatically. Otherwise, Lovable opens the DNS setup window. If you kept the `www` redirect, the window includes records for both the root domain and `www`.

If you close the window before you finish signing in to your provider, or before you open the manual setup, Lovable cancels the connection you just started.

A connection that was already listed in the **Domains** tab stays when you close the window. To return to it, use **Set up DNS** below the domain, or open its three dots menu and select **Setup instructions**.

Connect your domain in one of two ways:

* **Automatic setup with Entri**\
  Entri detects your domain provider and asks you to sign in. Authorize the update, and Entri adds the records for you. When Entri cannot detect the provider, it asks you to choose one: select yours from the list. When Entri names the wrong provider, select **Connect a different way**, then **Change provider** for the same list.
* **Manual setup**\
  To add the records yourself, select **Connect a different way**, then **Set up manually**. When Entri shows its provider list instead of a detected provider, select **Setup manually** below the list. Copy the records from the window and add them at your domain registrar or DNS provider.

The records Lovable asks you to add look like this:

* The `A` record points your domain to the IP address Lovable shows for that domain.
* If Lovable also lists an `AAAA` record, add it as well. The record points your domain to the IPv6 address Lovable shows. IPv6 is a newer type of internet address.
* The verification `TXT` record uses the host `_lovable` for a root domain or `_lovable.<prefix>` for a subdomain (for example, `_lovable.blog`), and a value starting with `lovable_verify=`.

Copy every record the setup window shows. The root domain and `www` have their own records, and Lovable can ask you to update an address later.

> [!NOTE]
>
> Lovable suggests a default hostname for the `A` record and, when listed, the `AAAA` record. Depending on your provider, the hostname may need to be:
>
> * `@` for a root domain
> * left blank
> * set to your domain name (for example, `example.com`)
> * or the subdomain label (for example, `blog`) when connecting a subdomain
>
> For example, Amazon Route 53 requires the host name to be left blank or set to the domain name.

**5. Verify and go live**

Click **Done**. Wait for verification and SSL certificate to be issued.

When the domain becomes **Active**, the connection is ready. Publish your project to make your app available at that address.

> [!NOTE]
>
> DNS changes may take up to 72 hours to propagate, though most updates are live within a few hours.

> [!TIP]
>
> After your domain becomes **Active**, run an [SEO review](https://docs.lovable.dev/features/seo-aeo.md) and verify the domain in Google Search Console.
>
> This helps Lovable check indexing, canonical URLs, sitemap status, metadata, and other live-site SEO signals for the correct host.

## Advanced: use a CDN or reverse proxy

Lovable can be used behind your own CDN or reverse proxy (A CDN (Content Delivery Network) or reverse proxy sits between your users and Lovable. It receives requests for your domain and forwards them to your app. It can be used for caching, security, or custom routing.), such as Cloudflare, CloudFront, or Fastly.

When you manage the domain's DNS at another provider, enable **Advanced → Uses Cloudflare or similar proxy** while connecting the domain.

When this option is enabled:

* You are responsible for configuring and maintaining your CDN or proxy
* Lovable does not configure, validate, or monitor your CDN or proxy setup

Follow these steps:

**1. Open the connection flow**

Open **Project → Settings → Domains**. Click **Connect** under **Connect a domain you own**, or **Connect domain** under **More domains**.

**2. Enter your domain or subdomain, then click Continue**

**3. Choose Root domain or Subdomain**

**4. Expand Advanced**

**5. Enable Uses Cloudflare or similar proxy**

**6. Confirm the connection**

In proxy mode Lovable uses a `CNAME` record instead of an `A` record, pointing at your project's published address. Publish the project first, so that address exists. Lovable does not ask for a verification `TXT` record in this mode. If you connected the root domain with the `www` redirect enabled, Lovable provides a `CNAME` record for each of the two addresses.

**7. Add the CNAME record**

Add the `CNAME` record to your domain's DNS settings at your DNS provider.

Wait for the domain status to become **Active**. When the `CNAME` record is pointed correctly, Lovable issues the SSL certificates.

Traffic will then flow through your CDN or proxy before reaching Lovable.

To check progress or manage the connection, see [Domain statuses](https://docs.lovable.dev/features/custom-domain#domain-statuses) and [Manage project domains](https://docs.lovable.dev/features/custom-domain#manage-project-domains).

## FAQ

These questions cover connecting a domain that stays registered with another provider. For domain statuses, primary domains, and project connections, see [Set up a custom domain](https://docs.lovable.dev/features/custom-domain).

> [accordion] My domain shows my old website instead of my Lovable app.
>
> Your DNS provider probably still has `A`, `AAAA`, or `CNAME` records left over from your previous website or hosting provider. Follow [My domain shows the wrong site or an outdated version](#my-domain-shows-the-wrong-site-or-an-outdated-version) to compare and remove conflicting records.

> [accordion] I see a Cloudflare error 1001 or 1003 on my domain.
>
> These errors come from Cloudflare's proxy, not from Lovable. If your DNS is managed by Cloudflare, open the DNS settings and set the records for your Lovable domain to **DNS only** (gray cloud) instead of **Proxied** (orange cloud), then wait a few minutes and try again.

> [accordion] Can I connect a subdomain instead of a full domain?
>
> Yes. When you start the connection, enter the subdomain's complete address, such as `app.yourdomain.com`, instead of the root domain. See [Connect your domain](#connect-your-domain) for the steps.

> [accordion] Can I connect multiple subdomains?
>
> Yes. You can connect multiple subdomains, but each one must be added and configured individually, from **Project → Settings → Domains** or by asking Lovable in the project chat. For example, you can connect `blog.yourdomain.com`, `shop.yourdomain.com`, and `app.yourdomain.com`.

## Troubleshooting

Start with the message shown below your domain in **Project → Settings → Domains**.

The entries below are for a domain whose DNS you manage at another provider. If Lovable manages your domain's DNS instead, see [Where do I add or edit DNS records?](https://docs.lovable.dev/features/custom-domain#where-do-i-add-or-edit-dns-records).

> [accordion] My custom domain is connected, but it never becomes live
>
> This usually means Lovable is still waiting for the correct DNS configuration or for changes to fully propagate.
>
> Try the following:
>
> * Ask Lovable in the project chat about the domain. It reports what state the domain is in, how long it has been there, which DNS records it expects and whether it can see them, and whether the project is published.
> * Use a DNS lookup tool like [dnschecker.org](https://dnschecker.org/all-dns-records-of-domain.php) to confirm that your domain resolves to the expected records. DNS changes can take up to **72 hours** to propagate.
> * Go to **Project → Settings → Domains** and confirm the DNS records Lovable expects.
> * Clear your browser cache or test the site in an incognito window.
> * Try removing and re-adding the domain in **Project → Settings → Domains**.

> [accordion] My domain has CAA records and SSL setup fails
>
> If your domain stays at **Finishing up** or shows a connection warning and your DNS has `CAA` records, those records may be blocking your SSL certificate. `CAA` records restrict which certificate authorities can issue certificates for your domain.
>
> At your DNS provider, add `CAA` records that allow at least one of the certificate authorities Lovable uses. We recommend allowing all three so Lovable can use any of them:
>
> * **Google Trust Services**: `0 issue "pki.goog"`
> * **Let's Encrypt**: `0 issue "letsencrypt.org"`
> * **SSL.com**: `0 issue "ssl.com"`
>
> If your DNS provider asks for separate fields, use flag `0`, tag `issue`, and the issuer domain as the value, for example `ssl.com` without quotation marks.
>
> Check the parent domain too. For example, `app.example.com` inherits `CAA` records from `example.com` if it has no `CAA` records of its own. If you cannot change the parent domain's records, add the `CAA` records at the subdomain you are connecting instead. `CAA` records at `app.example.com` take precedence over the ones at `example.com`.
>
> Alternatively, remove the `CAA` records if your organization no longer needs to restrict which authorities can issue certificates.
>
> After the DNS changes take effect, open the domain's three dots menu in **Project → Settings → Domains**, select **Check again**, and wait for **Active**.

> [accordion] My domain shows the wrong site or an outdated version
>
> An extra `A` or `AAAA` record at your DNS provider can send visitors to the wrong site, even when Lovable shows the domain as **Active**.
>
> Some DNS providers add an `AAAA` record to a new domain automatically. Visitors whose devices prefer IPv6 can reach that address instead of your Lovable app.
>
> To resolve this:
>
> * Find the records Lovable provides for this hostname. Workspace admins and owners can open the domain in [Workspace settings → Workspace domains](https://lovable.dev/settings/workspace-domains) and expand the project under **Projects** to see its addresses and DNS records.
> * You can also ask Lovable in the project chat which records the domain needs.
> * If you cannot find the expected records, contact [Lovable Support](https://lovable.dev/support) before changing your DNS.
> * Open [dnschecker.org](https://dnschecker.org/), enter your domain, and check both the `A` and `AAAA` results. Compare each result with the records Lovable provides.
> * At your DNS provider, keep the records Lovable provides for the hostname and remove every other `A`, `AAAA`, or `CNAME` record at that name. Leave unrelated records, including `MX` records for email, in place.
> * Wait for the change to take effect, then open your site again.

> [accordion] Looking for your DNS records
>
> Lovable is waiting to find the records shown in **Setup instructions**. Check the records at your DNS provider, including the full verification `TXT` value.
>
> For a standard connection, keep every provided `A` record and, when listed, every `AAAA` record pointed directly at the addresses Lovable shows. Disable proxying while setup completes. To use a proxy, follow [Advanced: use a CDN or reverse proxy](#advanced-use-a-cdn-or-reverse-proxy).
>
> After correcting the records, select **Check again** in the domain's three dots menu. When Lovable finds the records but other networks are still updating, the progress line reads **DNS records found, waiting for them to take effect**.

> [accordion] Domain Service Error
>
> Lovable shows this notification when the DNS setup window does not load, and closes the setup flow. The domain stays in your **Domains** list, and none of its DNS records change.
>
> The setup window comes from Entri, the service Lovable uses to write DNS records for you. Anything that stops your browser loading the window causes this error:
>
> * A script-blocking browser extension
> * A network that filters third-party scripts
> * A connection that needs more than 10 seconds to load the window
>
> **What to do:**
>
> * To add the records at your DNS provider yourself, open the domain's three dots menu and select **Setup instructions**.
> * To use the setup window instead, allow scripts for Lovable in your ad blocker or script blocker, or try another browser or network, then select **Set up DNS** below the domain.

> [accordion] Some DNS records for this domain are missing or wrong, so visitors may not reach it.
>
> The records at your DNS provider do not match the records Lovable needs. Visitors may not reach your project until you correct them.
>
> For a domain from another provider, select **Try to fix** to try automatic repair when the action is available. Automatic setup depends on provider support. Use **Setup instructions** to copy the required records to your DNS provider yourself. Keep all records Lovable provides, including any `AAAA` record. After correcting the records, open the three dots menu and select **Check again**.
>
> If you moved the domain to another service intentionally, select **Disconnect**. If the problem remains, contact [Lovable Support](https://lovable.dev/support).
