---
title: Custom Domains
description: Configure a custom domain for your Syntext documentation.
icon: globe
---

# Custom Domains

Host your documentation at your own domain like `docs.yourcompany.com` instead of the default Syntext subdomain.

## Prerequisites

- Syntext Pro plan or higher
- Access to your domain's DNS settings
- A deployed Syntext project

## Setup Process

<Steps>
  <Step title="Add Domain in Dashboard">
    1. Go to [Syntext Dashboard](https://syntext.dev/dashboard)
    2. Select your project
    3. Navigate to **Settings** → **Domains**
    4. Click **Add Custom Domain**
    5. Enter your domain: `docs.yourcompany.com`
  </Step>
  
  <Step title="Configure DNS">
    Add a CNAME record pointing to Syntext:
    
    | Type | Name | Value |
    |------|------|-------|
    | CNAME | docs | `proxy.syntext.dev` |
    
    <Note>
    DNS changes can take up to 48 hours to propagate, though most complete within 30 minutes.
    </Note>
  </Step>
  
  <Step title="Verify Domain">
    1. Return to the dashboard
    2. Click **Verify Domain**
    3. Wait for verification (usually 5-30 minutes)
  </Step>
  
  <Step title="Deploy">
    After verification, redeploy to activate:
    
    ```bash
    stx deploy
    ```
  </Step>
</Steps>

## DNS Provider Guides

### Cloudflare

1. Go to your domain's DNS settings
2. Add a CNAME record:
   - **Name**: `docs`
   - **Target**: `proxy.syntext.dev`
   - **Proxy status**: **DNS only** (gray cloud)

<Warning>
Disable Cloudflare's proxy (turn off the orange cloud) for the docs subdomain. Syntext handles SSL and CDN.
</Warning>

### AWS Route 53

1. Go to your hosted zone
2. Click **Create Record**
3. Configure:
   - **Record name**: `docs`
   - **Record type**: CNAME
   - **Value**: `proxy.syntext.dev`
   - **TTL**: 300

### GoDaddy

1. Go to **DNS Management**
2. Add a CNAME record:
   - **Host**: `docs`
   - **Points to**: `proxy.syntext.dev`
   - **TTL**: 1 Hour

### Namecheap

1. Go to **Advanced DNS**
2. Add new record:
   - **Type**: CNAME
   - **Host**: `docs`
   - **Value**: `proxy.syntext.dev`
   - **TTL**: Automatic

### Google Domains

1. Go to **DNS** settings
2. Scroll to **Custom records**
3. Add:
   - **Host name**: `docs`
   - **Type**: CNAME
   - **TTL**: 3600
   - **Data**: `proxy.syntext.dev`

## Root Domain

To use a root/apex domain (e.g., `docs.com` instead of `docs.example.com`), you need a DNS provider that supports ALIAS or ANAME records:

| Provider | Record Type |
|----------|-------------|
| Cloudflare | CNAME Flattening (automatic) |
| AWS Route 53 | ALIAS |
| DNSimple | ALIAS |
| NS1 | ALIAS |

```
ALIAS  @  →  proxy.syntext.dev
```

<Note>
Not all DNS providers support ALIAS records. If yours doesn't, use a subdomain like `docs.yourcompany.com`.
</Note>

## SSL Certificates

SSL certificates are automatically provisioned and renewed:

- **Provider**: Let's Encrypt
- **Validity**: 90 days
- **Renewal**: Automatic (30 days before expiry)
- **Type**: DV (Domain Validated)

No manual configuration needed.

### CAA Records

If you have CAA records configured, ensure Let's Encrypt is allowed:

```
CAA 0 issue "letsencrypt.org"
```

## Multiple Domains

Add multiple domains that all serve the same documentation:

- `docs.yourcompany.com` (primary)
- `developers.yourcompany.com` (alias)
- `help.yourcompany.com` (alias)

All domains serve identical content.

## Removing a Domain

1. Go to **Settings** → **Domains**
2. Click **Remove** next to the domain
3. Remove the DNS record from your provider

After removal, the site returns to `yourproject-docs.syntext.dev`.

## Troubleshooting

### Domain Not Verifying

- Confirm CNAME record is correct
- Wait up to 48 hours for DNS propagation
- Check for conflicting A records
- Verify no typos in the domain name

### SSL Certificate Error

- Ensure domain points to `proxy.syntext.dev`
- Check for CAA records blocking Let's Encrypt
- Remove any conflicting SSL configurations

### Mixed Content Warnings

Ensure all assets use HTTPS or relative URLs:

```markdown
<!-- Good -->
![Screenshot](/images/screenshot.png)

<!-- Avoid -->
![Screenshot](http://example.com/screenshot.png)
```

### "Too Many Redirects"

If using Cloudflare:
1. Set SSL mode to "Full" (not "Flexible")
2. Disable "Always Use HTTPS" for the docs subdomain
3. Turn off the orange cloud proxy
