Custom Domain
By default, a location's menu site lives on the platform's subdomain (your-domain.cenaly.com). 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: AWS issues and automatically renews it for you β nothing to buy, download, or install.
- 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. 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 "Site" (or "Web") tab.
- 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. 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 β AWS automatically issued an HTTPS certificate for the domain.
- 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