Skip to content

Adding a domain to a site

This guide walks through connecting a domain to a CloudPress site — one you already own, one you want to register, or one you want to transfer in — and letting CloudPress point DNS and issue an SSL certificate for it. By the end, visitors will reach your site over HTTPS at your own domain instead of the temporary CloudPress URL.

Before you start

  • A site that has finished provisioning
  • A domain you control — either registered through CloudPress (see Purchasing a domain) or registered with another provider where you can edit DNS or change nameservers. You can also start from a domain you don't own yet; the wizard offers to register or transfer it for you.
  • A workspace role that can edit the site. Without it CloudPress sends you back to the site's page with Not authorized.
  • Trial sites can't add domains — finish onboarding first.

Already bought your domain through CloudPress?

  • If you registered the domain in the same cart as the site, CloudPress attaches it automatically once both are ready — it adds both the apex (example.com) and www.example.com and makes the apex the primary domain.
  • If you register a domain from inside this wizard (step 4 below), that hostname is attached to the site automatically once checkout completes.

A transfer is not attached automatically — once it lands, connect it using the steps below.

Steps

  1. Open the site's Domains page. In the left sidebar, open My Sites and select the site you want to use. In the site's sidebar, choose Domains. The page is headed Domains, with two cards: Your domains (the ones you've connected, each tagged Primary or Alias) and System Domains — the always-available CloudPress addresses, marked Managed automatically · read-only.

  2. Start adding a domain. Click Add Domain. A three-step wizard opens: DomainConnectVerify.

  3. Enter the domain. Under What domain do you want to use?, type it in the Domain field and click Continue. CloudPress checks the domain and shows you what it found.

    Note

    Both an apex domain (example.com) and a subdomain (shop.example.com) are accepted. A hostname that's already connected to another site in the workspace is refused, with the reason shown on this step.

  4. Choose what to do with it. What you see next depends on the check:

    • Ready to connect"example.com is ready to connect". CloudPress already hosts DNS for this domain, so there's nothing to change at a registrar. If nothing is in the way you'll see "Nothing to replace" and a Connect domain button. If the zone already has records at that name, they're listed under "This replaces the following record(s):" and the button becomes Replace & connect.

    • Available to register"example.com is available", with the domain, its price and a Register this domain button that adds it to your cart. Registering is the whole setup: CloudPress points DNS at the site and issues the certificate once checkout completes. For a premium name the button is Contact support instead. If CloudPress also already hosts DNS for the name, a smaller Connect without registering option sits below the offer.

    • Registered with another provider"example.com is registered with another provider". You can Transfer this domain to CloudPress, which brings billing, DNS and renewals here (it needs an authorization/EPP code from your current registrar and takes a few days). Or use the "Or, just point DNS here — no transfer needed" section further down the same screen and press Connect without transferring.

    • Anything else — a short banner explains what CloudPress found (you already own it; the extension isn't one we register or transfer; the availability check didn't answer, with a Retry button; or the domain is registered or DNS-hosted outside your workspace), and the connect options below it let you continue regardless.

    Where registration or transfer isn't possible, connecting still is — the wizard always leaves you a way to point the domain at your site.

  5. Point your DNS at CloudPress. Unless the domain was ready to connect in step 4, you'll land on How do you want to connect it? with two options; the one CloudPress suggests carries a Recommended badge.

    • Point your nameservers. Update the domain's nameservers at your registrar to the ones shown (each has a Copy button). CloudPress then manages the whole DNS zone and SSL for you. This is the recommended option for an apex domain.

    • Add a CNAME record. Keep DNS where it is and add the CNAME record shown — Type, Name and Value are listed with copy buttons. This is the recommended option for a subdomain.

    Pick one and click Connect domain.

    Note

    For a domain whose registration or DNS zone lives outside your workspace, the nameserver option isn't offered — only the CNAME record is shown, so you can prove control without taking over someone else's zone.

    Warning

    If your DNS is on Cloudflare, do not enable the orange-cloud proxy on this record. Leave it set to DNS only — CloudPress confirms the domain by looking for its own CDN fingerprint on the response, and a proxy in front of it hides that, so the domain reads as pointing somewhere else and no certificate is issued.

  6. Watch it go live. Submitting takes you to the domain's own page, which updates by itself as the work completes — you don't have to stay on it. CloudPress emails you when the domain is live.

Adding a domain with the API

You can create the domain and poll the returned task instead of using the dashboard. provision_method must be the exact string dns to provision via nameservers; any other value (or omission) is treated as cname:

curl -X POST \
  -H "Authorization: Bearer $CLOUDPRESS_TOKEN" \
  -H "X-Auth-Account: $ACCOUNT_ID" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com","provision_method":"dns"}' \
  https://my.cloudpress.com/api/sites/$SITE_ID/domains

The call returns 202 and a task you can poll until it completes. A dns connect that would overwrite existing records in a zone we host is rejected with conflicts_found; resend it with replace_records set to true to go ahead. For the full request/response shape, promotion, and removal, see Domains.

DNS changes take time

DNS changes can take up to 48 hours to propagate globally, though they're often live much sooner. If the domain's status hasn't settled, give propagation time before assuming something is wrong.

Following progress on the domain's page

Every domain in Your domains is a link to its own page. That page carries the current status, a live view of what CloudPress is doing, and — in every state — the management actions described in Managing the domain afterward. All domains returns you to the list.

While setup is running you get a Setup progress card with five steps:

Status What it means
Added The domain is attached and CloudPress is getting things ready.
Pointing DNS Waiting for your DNS change to point the domain at us.
Verifying Checking that traffic actually reaches us.
Securing SSL Issuing the certificate.
Live Secure — HTTPS is active.

Alongside it you'll find the connect method, the SSL status, when it was last checked, and a Check now button if you don't want to wait for the next automatic check.

Three other statuses can appear:

  • Problem — CloudPress still can't reach the domain after about five checks. The page shows the reason, a What to check list (DNS points to us, propagation, no parking page intercepting traffic), how many attempts have been made, a Check again now button and a Technical details section. Retries continue automatically with increasing gaps.

  • Action needed — CloudPress needs something from you. Usually that's the DNS TXT record described under Pre-issuing an SSL certificate. It can also mean a CAA record on your domain is blocking issuance: the page then reads "A CAA record is blocking your certificate" and gives you a How to fix this list plus a What we found panel naming the record and the certificate authorities it currently allows. Add our certificate authority to that record or remove the record; CloudPress keeps retrying on its own, and Check again now skips the wait.

  • DNS issue — the certificate is still valid but the domain has stopped pointing at us. CloudPress re-checks live domains roughly twice a day and only raises this after two checks in a row fail, so a brief blip won't trigger it. The page shows Point it here with the target your DNS should use, and Check again now re-runs the check immediately and tells you whether the domain points at us again.

Pre-issuing an SSL certificate (optional)

If you want a valid certificate before you switch traffic to your domain — to avoid any HTTPS gap during the cutover — you can pre-issue one using a DNS-01 challenge.

  1. On the domain's page, click Pre-issue SSL certificate (advanced). The button appears on the setup-progress and problem views while the site's CDN is active, no certificate has been issued yet, and no challenge is already running.

  2. CloudPress generates a TXT record and the page switches to Verify domain ownership, showing the record's Type, Name and Value under Add this DNS record with copy buttons.

  3. Add that record at your DNS provider, then click I've added it — verify now. If the record isn't visible yet you'll be told it couldn't be verified and to try again once DNS has propagated; CloudPress also keeps checking on its own and emails you when it's verified.

Info

If the challenge itself fails, the domain moves to Problem with "Certificate validation failed — check your DNS record", where Check again now re-reads the certificate state — useful if you've since pointed DNS at us and the certificate is already in place.

Managing the domain afterward

The domain's own page carries these actions in its header, in every state:

  • Manage DNS opens the DNS records for the domain, when CloudPress hosts its zone. See Managing DNS.
  • Set as primary promotes an alias to be the site's primary domain, after a confirmation.
  • Remove domain detaches it from the site, after a confirmation. If you remove the primary domain, the site falls back to its CloudPress system address — promote a replacement first.

Once the domain is live, its page also offers Visit to open the site in a new tab.

Next steps