# Connect an existing domain

> Prove ownership of an existing domain, then route a supported AppLaunch site or application.

AppLaunch currently lets you attach domains you already own to supported services. New domain search and registration are not available yet.

## Understand the two DNS stages

1. **Ownership verification** uses the TXT record shown when you add an external domain.
2. **Routing verification** uses the A record shown when you create a site, alias, redirect, or Docker app route.

Adding a domain to the service does not require an A record. The A record belongs to the specific site or route creation flow.

## Add an external domain

1. Open **Dashboard → Services** and select the service.
2. Open **Domains** and click **Add Domain**.
3. Select **Add External Domain**.
4. Enter the complete hostname you will use, such as `example.com` or `app.example.com`.
5. Copy the ownership TXT record exactly into your DNS provider.
6. Wait for the record to become public.
7. Return to AppLaunch and click **Verify Ownership**.

Do not enter only the root domain if you intend to use a subdomain. Ownership is verified for the hostname requested by the dashboard's flow.

## Route the verified domain

Open the relevant creation flow:

- **PHP Sites** for a PHP site.
- **WordPress** for a WordPress site.
- **Docker app → Configuration → Add Port Route** for an HTTPS app route.
- The portfolio domain controls for a portfolio site.

Select the verified domain, create the displayed A record, and run **Verify DNS**. Remove conflicting A or AAAA records for the same hostname. If Cloudflare manages DNS, set the record to **DNS only** during verification.

## Wait for HTTPS

After DNS points to AppLaunch, certificate provisioning may still take a short time. Keep the direct record in place and retry the verification action after public DNS has updated.

## Change or remove a domain

Make a replacement hostname work first. Then update application URLs, callbacks, cookies, email links, webhooks, and third-party integrations before removing the old domain.

For record failures and propagation checks, see [Troubleshoot domains and DNS](/domains/troubleshooting/).
