# Your uova.io address

Every published site gets a uova.io address you choose at first publish. Learn the rules for it, the messages you may see, and why it cannot be edited afterwards.

A published site is served at `https://<slug>.uova.io`. The part before `.uova.io` is the slug, and you pick it in the first step of the publish wizard, **Website address**. Any plan, including Free, can use a uova.io address.

## Choose the address

1. **Open Publish** Press **Publish** in the top bar. Step 1 is **Website address**, a field with `.uova.io` fixed at the end.
2. **Type a name** The wizard suggests your site name, trimmed to 40 characters. As you type, capitals become lowercase, any character other than a letter, digit or hyphen becomes a hyphen, repeated hyphens collapse, and the field stops at 63 characters. About half a second after you stop, UOVA checks whether the address is free.
3. **Continue** **Continue** stays off while the address is invalid or being checked. Check the address carefully before step 4, **Publish now**. After that it is locked.

## Address rules

| Rule | Detail |
| --- | --- |
| Length | 3 to 63 characters. |
| Characters | Lowercase letters, digits and hyphens. |
| Hyphens | Not at the start or the end, and never two in a row. UOVA trims hyphens from both ends when you publish. |
| Reserved names | Refused. The list is below. |
| Uniqueness | An address can belong to one site at a time, across all accounts. |
| Default | Your site name, trimmed to 40 characters. If the name gives fewer than 3 usable characters, UOVA uses the first words of the project's internal id. |

## Reserved names

These names cannot be used. The wizard flags them with "That subdomain is reserved".

www, app, api, admin, root, uova, mail, email, smtp, imap, ftp, blog, dashboard, studio, preview, assets, static, cdn, img, images, media, status, health, help, support, docs, doc, billing, checkout, pay, payments, stripe, auth, login, logout, signup, signin, account, settings, test, staging, dev, demo, internal, vercel, ns1 and ns2. A few more are too short or contain characters the field does not allow, so you cannot type them.

Three more names, `report`, `abuse` and `report-abuse`, are refused only when you press **Publish now**, so the address check can show them as available. The wizard then shows **Publish failed (RESERVED_SLUG)**. Choose a different name.

## Messages under the address field

| Message | Meaning |
| --- | --- |
| "Choose your free subdomain" | The prompt before you type. It goes on to say lowercase letters, numbers and hyphens. |
| Checking availability… | The check is running. |
| Available | Nobody else has this address. |
| Will confirm on publish | The availability check could not run. The publish request checks again. |
| That subdomain is taken | Another site owns this address. If this appears when you press Publish now, the wizard returns to step 1 and adds "pick another" to the message. |
| Enter a subdomain; At least 3 characters; At most 63 characters | The length rule. |
| Use lowercase letters, numbers and hyphens only; No double hyphens | The character and hyphen rules. |
| That subdomain is reserved | The name is on the reserved list. |
| This live address is locked to protect your connected domain and links. | The site is already live and the address cannot change. |

## The address is locked after the first publish

You can edit the slug only before the first publish. After that, UOVA refuses a change and the wizard locks the field. The server's reason is that the address is locked "to protect connected domains and existing links".

The **General** pane in the dashboard's Site settings has a **Site name** field. It renames the site's display name and does not change the address.

> **Changing the address means taking the site offline:** The only route to a new address is **Take offline**, then publish again with a new slug. Taking a site offline frees its old address for anyone to claim. A custom domain you connected is attached to the old address, not to your project, and shows "Site not found" until a site is published under that address again.

## When you also connect a custom domain

If you make a verified custom domain primary, visits to `<slug>.uova.io` are redirected to it with a permanent 308 redirect, and canonical addresses follow the custom domain. With no primary domain, both addresses serve the site. A newly connected domain is not primary until you choose **Make primary**, which is offered once the domain shows **Connected** (see [Connect a domain you own](https://www.uova.com/help/build/domains/connect-your-own-domain)).

## Links in the older address style

A link in the older form `www.uova.com/p/<slug>` is forwarded to `https://<slug>.uova.io` with a 308 redirect when someone opens it as a page. Images and other fetches are left alone, and an invalid name gets a 404. Use the uova.io address when you share your site.

## Limits

- The uova.io address cannot be removed from a site, even when you add a custom domain.
- A missing page returns a real 404 with a short "Page not found" or "Site not found" message and a **Back to the site** link, and is kept out of search.
- A site has its address only while it is published; a draft has none.

**I made a typo in my address and published. What now?**

The address is locked. Take the site offline, then publish again and choose a new address. The old address becomes available to others while you do.

**Can I use a name like www or app?**

No. Reserved names are refused.

**Does renaming my site change its address?**

No. The **Site name** field in Site settings renames the display name only.

**Do I have to buy a domain to publish?**

No. Every plan can publish at a uova.io address. A custom domain needs a paid plan.

Source: https://www.uova.com/help/build/publish/your-site-address