Custom Domain
By default, a location's menu site lives on the platform's subdomain (your-domain.cenaly.ru). If your venue already has its own domain (say, restaurant.com), you can connect it — the site will then open at an address like menu.restaurant.com.
This page covers connecting a domain. For styling the site itself — templates, colors, layout — see Website Builder. For plans and add-ons, see Subscription.
What you get#
- Your public menu site opens on your own domain instead of the platform subdomain.
- A free HTTPS certificate: the platform issues and automatically renews it for you — nothing to buy, download, or install. In the Russian contour (
cenaly.ru) the certificate is issued by Yandex Certificate Manager (Let's Encrypt) with DNS validation, so there the_acme-challengerecord is required for a subdomain too. - Page addresses (SEO, canonical links) point to your domain — that's the address search engines will see, and the one worth using in ads and on signage.
What you need beforehand#
- A domain you already own (registered with any registrar).
- Access to that domain's DNS management panel — usually with the registrar or wherever the domain's DNS is hosted.
- A plan with the custom domain option available. How many domains are included per plan:
| Plan | Domains included |
|---|---|
| Free | 0 |
| Mini Cafe | 1 |
| Cafe | 5 |
| Restaurant | unlimited |
Beyond what's included in your plan, you can add a domain as a paid "Own site" add-on — $10/month or $100/year per domain. Domains paid for with this add-on do not consume the plan's included limit, and after the payment period ends there is a 7-day grace window during which the domain still counts as paid and stays online. See Subscription for details.
Subdomain or root domain?#
Both work: a subdomain (menu.yourdomain.com, shop.yourdomain.com) and the root domain itself (yourdomain.com, no subdomain at all). The only difference is how many DNS records you create:
| What you connect | Records | Which ones |
|---|---|---|
Subdomain menu.yourdomain.com |
one | CNAME → the platform address |
Root domain yourdomain.com |
two | ALIAS/ANAME → the platform address and a TXT on _cf-challenge.yourdomain.com |
Why a root domain needs two:
- The DNS standard doesn't allow a plain CNAME at the root of a domain, so it takes an ALIAS / ANAME / CNAME-flattening record instead. AWS Route 53, Cloudflare, DNSimple, Gandi and many others support it — though not every provider does.
- Such a record hands out IP addresses directly and hides the name the platform normally uses to confirm the domain points at it. That's why a root domain also needs a TXT record on
_cf-challenge.yourdomain.com— it proves the domain is yours. The admin shows both records ready to copy.
If your provider supports neither ALIAS nor ANAME —
- either move the domain's DNS to a provider that does (Cloudflare, for example, is free and only requires switching name servers, not transferring the domain itself);
- or connect a subdomain and set up a redirect at your registrar from the root domain to it (e.g.
yourdomain.com → menu.yourdomain.com).
Everything below is written for the subdomain as the simplest case; a root domain works the same way, just with two records — see “Root domain: two records”.
Step-by-step instructions#
- Open Locations → pick the location → the "WEB Menu" tab. The same block is also available from the Websites section (the "Marketing" group): a site card opens the full web settings right on the page.
- Find the "Custom Domain" block.
- Enter the full domain name you want to use: a subdomain like
menu.restaurant.com, or the root domainrestaurant.comitself. - Click "Connect".
- The system will show the records to add to your domain's DNS (one for a subdomain, two for a root domain), each with:
- Host (record name) — usually matches the domain you entered, or the part before your domain;
- Value (what it points to) — a technical target issued by the platform.
- Go to your domain's DNS management panel (at your registrar or hosting provider).
- Create the records shown: one CNAME for a subdomain, or an ALIAS/ANAME plus a TXT for a root domain (see "Root domain: two records"). TTL can be left at the default, or set to 300–3600 seconds.
- Go back to the admin panel — the connection status updates on its own once the system sees your DNS record: the page polls the status every 10 seconds, and in parallel your browser checks DNS every 30 seconds and prints a live hint right under the field ("Record found ✓" or "Record points to …, expected …") even before the server confirms. You can also click "Check now" to speed things up.
Filling in the CNAME record at popular providers#
The most common confusion is in the "Name" field: some providers want the full subdomain, others want only the left-hand part (without your domain). Use this table as a guide:
| Provider | "Name" / Host field | Notes |
|---|---|---|
| Cloudflare | just menu (no domain) |
You must turn off the orange cloud (proxy) on this record — it needs to be DNS only (grey cloud), otherwise the certificate and site won't work |
| AWS Route 53 | full name menu.yourdomain.com |
Record type — CNAME |
| GoDaddy / Namecheap | Host = menu |
Type = CNAME, Value/Points to — as shown in the admin panel |
| Other registrars (reg.ru, generic cPanel, etc.) | usually just menu |
A trailing dot on the value is often added automatically — match whatever the admin panel shows you |
General rules regardless of provider:
- For a subdomain, don't create an A record and don't enter any IP address — only a CNAME with the value shown by the admin panel. (A root domain works differently — see the next section.)
- If there's an old A or AAAA record already on the same name (
menu), delete it — it will conflict with the new CNAME record. - Usually only one record can point to a given name — remove old records for the same subdomain before adding the new one.
Root domain: two records#
If you're connecting the root domain itself (yourdomain.com, no subdomain), the admin panel shows two records after you click "Connect" — create both, in any order:
| # | Type | Name (Host) | Value | Why |
|---|---|---|---|---|
| 1 | ALIAS / ANAME (in Route 53 — an A record with Alias switched on) |
yourdomain.com (or @) |
the platform address from the admin panel | this is what brings visitors to your site |
| 2 | TXT |
_cf-challenge.yourdomain.com (or _cf-challenge) |
the same platform address | proves the domain is yours — without it the domain never activates |
Provider specifics:
- AWS Route 53 — record type A, Alias = Yes, alias target = the address from the admin panel, routing policy Simple. Plus a separate TXT record named
_cf-challenge.yourdomain.com. - Cloudflare — create an ordinary
CNAMEon the name@: Cloudflare turns it into a valid answer itself (CNAME flattening). The cloud on that record must be grey (DNS only). Add the_cf-challengeTXT record as usual. - Providers with ANAME (DNSimple, Gandi and others) — type
ANAME/ALIAS, value = the address from the admin panel. - If your provider only offers "redirect/parking" instead of ALIAS, that won't work: it has to be a real ALIAS/ANAME record or CNAME flattening.
As with a subdomain, the HTTPS certificate is issued automatically, and www.yourdomain.com can be connected separately as an ordinary subdomain (a single CNAME).
How long it takes and what happens#
Connecting usually takes 5–15 minutes after the DNS record is created and has propagated (the certificate itself is typically issued in under a minute once the system sees your CNAME record — most of the time goes to DNS propagation and final activation). The admin panel shows a four-step progress:
- Domain registered — the system accepted your connection request.
- DNS record found — the system saw your record at your provider (all required records, if there are two).
- Certificate issued — an HTTPS certificate for the domain was issued automatically (in the AWS contour by AWS, in the Russian one by Yandex Certificate Manager on top of Let's Encrypt).
- Site active — the domain is fully connected, and the site opens at the new address.
You don't need to keep the admin tab open — checking and activation continue in the background; when you come back, you'll simply see the updated status. Click "Check now" if you want to speed up the check.
The certificate is issued and renewed automatically — no action, payment, or file download is ever required from you, now or later.
If something isn't working#
The record isn't visible to the system#
DNS changes don't propagate instantly — usually it's fast, but caching at some providers can take up to an hour. Check whether the record is visible with:
nslookup -type=CNAME menu.yourdomain.com
For a root domain, both records are checked:
nslookup -type=A yourdomain.com
nslookup -type=TXT _cf-challenge.yourdomain.com
or any online DNS lookup tool. If the record shows up there but the admin panel still says "not found," wait a bit longer and click "Check now."
The record points to the wrong place#
The admin panel will tell you this explicitly. Open your DNS settings and compare the record's value with what's shown in the "Custom Domain" block — most likely there's a typo in the Value, or the record was created with the wrong type.
Cloudflare proxy is enabled#
If the domain is on Cloudflare and the cloud icon next to the record is orange — turn it off (make it grey, DNS only mode). While the proxy is on, certificate issuance and domain verification won't complete.
A root domain stays stuck in "waiting"#
Make sure the TXT record on _cf-challenge.yourdomain.com exists — without it the platform can't confirm you own the domain, and activation never completes, even when the ALIAS/ANAME record is already correct. The TXT value must exactly match the platform address shown in the admin panel.
The domain is already connected to another account#
Each domain/subdomain can only be connected to one platform account at a time. If you're sure the domain is yours but the system says it's taken, contact support.
"The site opens, but it's the wrong menu"#
Check that the domain is connected to the correct location — with multiple locations, it's easy to mix up which one a domain is attached to.
Disconnecting a domain#
The same "Custom Domain" block has a "Disconnect" button. After disconnecting:
- the site becomes available again at the standard platform subdomain address;
- you can (but don't have to right away) remove the records you created at your registrar (the CNAME, or the ALIAS/ANAME and TXT) — they no longer affect anything.
Frequently asked questions#
Can I connect more than one domain?#
Yes, one domain per location. How many you can have connected at once depends on your plan (see the table above) and add-ons.
Do I need separate hosting for the domain?#
No. The site is fully hosted on the platform's infrastructure — you only need to point the domain's DNS at it.
Does connecting a domain affect email on that domain?#
No. We only add the records shown in the admin panel; your MX records (email) aren't touched and keep working exactly as before — that holds for a root domain too, where an ALIAS/ANAME record and MX records coexist happily.
Does it work with www?#
Yes — www.yourdomain.com is itself a subdomain (a third-level name in DNS terms), so it connects exactly the same way as any other subdomain.
Can I connect the root domain and www at the same time?#
One domain per location. The usual approach: connect the root yourdomain.com and set up a redirect from www.yourdomain.com to it at your DNS provider (or the other way round).
What if I made a mistake with the subdomain when connecting?#
Disconnect the current domain and reconnect with the right name — your plan's domain limit isn't wasted if the record never went live.
Related sections#
- Website Builder — styling the menu site: templates, colors, fonts
- Subscription — plans, domain limits and the "Own site" add-on
- QR Codes & Devices — printing QR codes for the connected site