---
title: Custom Domains
---

Add your own domain to any service on ZevCloud. SSL certificates are automatically provisioned via Let's Encrypt.

## Adding a Custom Domain

1. Go to your service → **Domains** tab
2. Click **"Add Domain"**
3. Enter your domain (e.g., `myapp.com`)
4. Configure your DNS records (see below)
5. Click **Verify**

## DNS Configuration

You have two options:

### Option 1: CNAME Record (Recommended)

Add a CNAME record pointing to ZevCloud's proxy:

| Type | Name | Value |
|------|------|-------|
| CNAME | `@` or `www` | `proxy.zevcloud.app` |

> **Tip:**
>
> CNAME records are recommended because if we ever change server IPs, your domain will automatically update.

> **Warning: Apex Domains**
>
> Some DNS providers don't support CNAME on the root/apex domain (`myapp.com` without `www`). In that case, use an ALIAS/ANAME record if your provider supports it, or use Option 2.

### Option 2: A Record

If CNAME isn't possible, point an A record to our server IP:

| Type | Name | Value |
|------|------|-------|
| A | `@` | `162.55.133.205` |

### Verification TXT Record

You'll also need to add a TXT record for domain ownership verification:

| Type | Name | Value |
|------|------|-------|
| TXT | `_zevcloud-verify` | `zevcloud-verify-<unique-token>` |

The exact values are shown in the dashboard after you add the domain.

## SSL Certificate

After DNS verification, an SSL certificate is automatically issued via Let's Encrypt. This typically takes 1-2 minutes.

> **Tip:**
>
> If you see a "connection not private" error immediately after adding a domain, wait a minute for the SSL certificate to propagate.

## Primary Domain

If you have multiple custom domains on a service:
- The first custom domain added is automatically set as **primary**
- The primary domain is used for display and (for WordPress) as the `siteurl`
- You can change the primary domain from the Domains tab
- The auto-generated domain (`slug.zevcloud.app`) always remains active as a fallback

## Search Engines

Once a custom domain is verified and live, your app's platform address (`<slug>.zevcloud.app`) is served with a `noindex` header. Search engines then index only your custom domain, so your pages don't show up twice in results under two addresses. The platform address keeps working for visitors.

This is automatic. There's nothing to configure.

## www Redirect

When you attach a root domain (like `myapp.com`), visitors who type `www.myapp.com` should land on your site too. ZevCloud handles this with a **www redirect**: `www.myapp.com` responds with a permanent redirect to `myapp.com`, with the path and query string preserved.

You'll find the toggle on the domain's card in the **Domains** tab. It only appears for root domains — subdomains like `app.myapp.com` don't have a www variant.

### Domains managed by ZevCloud

If your domain was registered through ZevCloud (or its DNS is managed by us), everything is automatic:

- The `www` DNS record is created for you
- The redirect and its SSL certificate are configured at our edge network
- Turning the toggle on or off takes effect within a minute — no redeploy needed

### Domains on external DNS

If you manage DNS yourself, ZevCloud can't create the `www` record for you. When you enable the toggle, the dashboard shows the record to add at your DNS provider:

| Type | Name | Value |
|------|------|-------|
| CNAME | `www` | `proxy.zevcloud.app` |

If your provider doesn't allow a CNAME there, use an A record for `www` pointing to the server IP shown in the dashboard. Once the record resolves, the redirect and the SSL certificate for `www` are set up on the next deploy (the toggle triggers one for you).

> **Tip: www doesn't load?**
>
> If `myapp.com` works but `www.myapp.com` shows a security warning or an error page, check two things: the **www redirect** toggle is on in the Domains tab, and (for external DNS) the `www` record exists at your DNS provider.

## Removing a Domain

Click the delete icon next to the domain in the Domains tab. The service will revert to using the auto-generated domain.

For WordPress services, the `siteurl` and `home` settings will be reverted to the auto-generated domain.

## Cloudflare Users

If you use Cloudflare for your own DNS, set the DNS record for your domain to **"DNS Only"** (gray cloud), not "Proxied" (orange cloud). ZevCloud issues and manages the SSL certificate at the origin — if Cloudflare also proxies the same hostname, the two SSL layers conflict.
