Skip to content

Domains & Publish Targets

Publishing in Vivd depends on two related pieces:

  • the domain being allowed for the organization or install
  • your website being ready to publish its current saved state

This page explains the domain side of that flow so the publish dialog is easier to reason about.

Buying a domain

Vivd does not sell domains directly yet. Buy the domain name from any domain registrar first, then connect it in Vivd.

When you buy the domain:

  • choose the domain name visitors should type, such as example.com
  • you only need the domain name; Vivd hosts the website
  • for example.com, Vivd publishes your site at www.example.com and sends visitors who type example.com there
  • website builders, hosting bundles, and email add-ons are optional
  • keep access to the registrar account so you can open its DNS settings

After the purchase, go to Organization > Domains in Vivd and add the domain. Press ⌘K (Ctrl+K on Windows and Linux) and type “domains” to jump there. Vivd then shows the records as numbered steps that mirror your DNS provider’s own add-record form, using that provider’s field names: Cloudflare’s Target and IPv4 address, Namecheap’s Host, and so on. Vivd detects the provider from the domain’s nameservers; if it guessed wrong, use Change on the card to pick the right one. Each value has its own copy button, and Open DNS settings takes you to the right page. Most providers also have a Show me where to add records step-by-step walkthrough, with screenshots for Cloudflare.

When Vivd says the domain is connected, it can be selected from the publish dialog.

After changing your DNS records, click Check now to request a fresh check. This brings a pending DNS retry forward. The Checked time changes when the check finishes; DNS propagation or certificate provisioning may still be pending. The card footer shows when the next check is due, and results update automatically on this page.

Moving from another host

If your website and domain are with another provider today, you do not move the domain. It stays with the company where you registered it. Vivd hosts the website, and you point the domain at Vivd by changing its DNS records as described above.

  • Build or import the site in Vivd and publish it on its Vivd address first.
  • Add the domain under Organization > Domains and set the records Vivd shows. Custom domains are included in Pro.
  • Once the domain is connected, publish to it.

What the old site did on its own server is covered by plugins: contact requests by Forms, signups by Newsletter, and content such as prices, menus or team members by entries you edit in Content. Custom server code, databases and visitor logins have no Vivd equivalent.

Before you cancel the old hosting package, check whether your domain registration or your email is part of it. Keep those, or move them to another provider first, so the domain and your mailboxes keep working. Vivd does not provide email mailboxes.

Domain concepts

A domain in Vivd is used in one of two ways:

  • as a publish target: a domain intended for a live published site
  • as a tenant host: a legacy Vivd-owned organization host assigned by an operator

For most live-site launches, the publish target is the only one that matters. Hosted Vivd gives each organization its own app path and each website its own vivd.site address by default, so tenant hosts are not auto-created for new organizations and are not part of the normal hosted launch flow.

Domain types

Managed subdomain

A managed subdomain is a host the install manages directly, such as the Vivd address that comes with a website.

Typical traits:

  • usually active immediately
  • does not require external verification
  • hosted website addresses live on vivd.site, while the Vivd app and API hosts remain on vivd.studio
  • legacy tenant-host rows can still be assigned by whoever runs the install when it keeps a tenant base domain such as vivd.studio

To change a Vivd address, open Publish -> Settings and select its pencil icon. The new address appears with a spinner while the change finishes. The old one is removed after the new one is ready. If the change fails, the dialog shows the error, including when you reopen it.

Use the remove button beside an address to stop serving your site there. You can remove every Vivd address while a custom domain remains published. To remove the last published address, use Unpublish site. These controls are shared by your website’s overview, its header and the Studio toolbar.

Custom domain

A custom domain is a real domain you bring to the install, such as example.com or www.example.com. Vivd serves your site at the exact www host and redirects the bare domain to it, so adding example.com publishes it as www.example.com.

Typical traits:

  • must be registered to the correct organization
  • starts as Connecting, with a count of the records Vivd can see, while DNS and certificates settle
  • must reach Connected before publishing can use it

Custom domain setup is not available on every organization. On Free, the screen says custom domains are included in Pro and links to the upgrade. If your organization has not been enabled for them yet, the screen offers a Contact support button. If the install does not offer custom domains at all, the screen says so and there is nothing to request.

On the Free plan, every published website shows a small “Made with Vivd” link in the bottom-right corner of its pages, on Vivd addresses and custom domains alike. It leads to vivd.studio and does not change your website’s content.

There is no setting to turn it off. Upgrading to any paid plan removes it from all of your websites shortly after, without publishing again. If your organization moves back to Free, the link returns the same way.

Domain status

The domain card shows one of three states. While it is connecting, the state carries a count of the DNS records Vivd can already see:

  • Connecting · 0 of 2 records found: neither record has reached Vivd yet
  • Connecting · 1 of 2 records found: one record has landed and Vivd is still waiting on the other one or on the certificate
  • Connected: the domain is usable for publishing and routing
  • Needs attention · 1 record to fix: a record points somewhere else or a check failed

A www domain needs two records, so its count runs to 2. A different subdomain such as shop.example.com needs only one record, and its count reads 1 of 1.

Each record also carries its own line in plain language, so a wait is never unexplained: not found yet (DNS changes usually appear within minutes, sometimes up to an hour), points elsewhere (naming the wrong value and the one to change it to), certificate pending (the record is right and there is nothing to do), or check error (our DNS check failed, and we keep retrying).

If a record is still not found after an hour, open Still connecting after an hour? on the card: the usual causes are a value that does not match exactly, or an old record with the same name that has to be removed first.

If a domain is still connecting or needs attention, the publish dialog will reject it.

Verification

You prove ownership by adding the DNS records the domain screen shows you, then using Check now until the status reads Connected.

The Super Admin organization domain surface has a separate token-based verification flow for domains registered there by an operator. It generates the token and shows the values needed to prove ownership, and the domain record stays unusable until that check passes.

Until verification succeeds, publishing stays blocked for that domain.

What the publish dialog checks

When you enter a domain in the publish dialog, Vivd checks more than just syntax.

It needs:

  • a complete domain value such as example.com
  • a domain that is enabled for the current organization
  • a domain that is not already in use by another website
  • a Connected domain
  • a publishable build or saved artifact ready for the selected version
  • no unsaved Studio changes
  • no older saved version currently selected in Studio

That is why “Publish” can stay blocked even when the domain itself looks correct.

Common publish blockers

These are the most common reasons the dialog refuses to publish:

  • the domain is not registered for this organization
  • the domain is assigned to another organization
  • the domain is still Connecting…
  • the domain shows Needs attention
  • the domain is already in use
  • your website’s latest version is still being prepared
  • your draft has changes that are not in a saved version yet
  • Studio is currently viewing an older saved version

Typical self-host defaults

Self-hosted installations run Studio machines through Docker, while hosted deployments use Fly. Configure the public app host through deployment settings and select Caddy as the site provider. Registered custom publish domains appear in your website’s publish targets.

  1. Decide which domain should be the live site.
  2. If you are unsure which domains are currently eligible, inspect the publish targets first.
  3. Add it and copy its DNS records before launch day.
  4. Make sure its status says Connected.
  5. Save the latest Studio changes.
  6. Review the pre-publish checklist.
  7. Publish your website.

Domain work from Studio chat

You can ask Vivd to inspect and change publish destinations instead of opening the dialog. vivd publish targets lists the eligible domains and vivd publish check-domain <domain-or-vivd-name> checks one before you commit to it.

Changing your Vivd address, unpublishing the site, and starting a full publish checklist pass are approval-gated from chat: Studio shows you the exact action and runs it only after you approve. A queued or accepted response means the job is still running in the background, so check publish status before treating it as done.

Read Instance Settings for install-wide routing and capability settings.