Connect a custom domain
Attach your own domain to a deployed MaShop site. Ask the assistant to attach it, then add the CNAME and A records it returns at your registrar.
How-to
This guide attaches your own domain (for example boutique.example.com) to a MaShop site you already deployed, and lists the exact DNS records you set at your registrar. You drive the whole flow from the chat: there is no domain field in project settings. The custom-domain panel that used to live in Project settings was removed on 2026-05-26, so the only way to attach a domain is to ask the assistant.
Before you start
The attach call has three hard preconditions, all checked server-side. If any fails, the assistant reports the exact error and attaches nothing.
- The project is deployed to Netlify. The project row must have a
netlify_site_id. If it does not, you getLe projet n’a pas encore été déployé sur Netlify.Deploy once first. - Netlify is connected. Your Netlify account must be linked through OAuth. If it is not, you get
Netlify non connecté. Connectez Netlify d’abord. - You own the project. The project must belong to your account and not be deleted. Otherwise you get
Projet introuvable ou non vôtre.
To deploy first, see Deploy to Netlify. To connect Netlify, see Connect your services.
Netlify is the only deploy target
Custom domains are attached through your Netlify site. Vercel is not a deployment target in MaShop, so there is no Vercel custom-domain path.
Step 1: ask the assistant to attach the domain
In the workspace chat, tell the assistant to put your store on your domain. Project settings even prints this hint next to the deploy URL: Pour un domaine personnalisé, demandez à l’IA : « déploie sur boutique.example.com »
Attach my store to boutique.example.com
The assistant calls the attach_custom_domain tool with one argument, domain. The handler validates the format, looks up your Netlify site, and registers the domain on it.
- If your Netlify site has no custom domain yet, your domain is set as the primary custom domain.
- If a primary already exists, your domain is added as a domain alias instead.
- If the domain is already on the site, the call returns successfully and changes nothing.
The domain string is validated before anything is sent to Netlify. A malformed value returns Format de domaine invalide. Leading http:// or https:// and trailing slashes are stripped, and the domain must be at most 253 characters.
Step 2: add the DNS records at your registrar
This is the part you do yourself. The tool does not touch your DNS. It returns the records you must create at your registrar (Gandi, OVH, Cloudflare, and so on), then waits for you to add them.
Which records you get depends on whether your domain starts with www.:
Subdomain (starts with www)
You get a single CNAME record. your-site.netlify.app below is your site's default Netlify address, returned in the same response.
| Type | Name | Value | Purpose |
|---|---|---|---|
CNAME |
www |
your-site.netlify.app |
Points your domain to your Netlify site |
Apex domain (no www, for example example.com)
You get two records: the CNAME and an A record pointing at Netlify's load balancer. Use whichever your registrar supports for the root of the zone.
| Type | Name | Value | Purpose |
|---|---|---|---|
CNAME |
@ |
your-site.netlify.app |
Points your domain to your Netlify site |
A |
@ |
75.2.60.5 |
Required for an apex domain, an alternative to the CNAME |
Propagation takes 5 to 60 minutes
After you add the records, DNS propagation runs at your registrar, not in MaShop. The assistant tells you the same: La propagation prend 5 à 60 minutes. Netlify verifies the domain and provisions HTTPS once the records resolve to your site.
What the tool does and does not do
Be clear on the boundary so you know what is left to you.
- It does: register the domain on your Netlify site (as primary or alias) and return the DNS records to set.
- It does not: create the DNS records for you, verify propagation, or report HTTPS or SSL status. You add the records at your registrar, and Netlify handles verification and the certificate on its side once DNS resolves.
- It needs a real domain you own. MaShop registers the name on Netlify and hands you the records, but it does not buy domains or manage your registrar.
If Netlify rejects the domain
If Netlify refuses the change, the assistant surfaces Netlify's own error message, or a fallback such as Netlify a refusé l’ajout du domaine with the HTTP status. A common cause is a domain already claimed on another Netlify site. Resolve the conflict on the Netlify side, then ask the assistant to attach it again.
The default Netlify subdomain is separate
Every deployed site keeps its your-site.netlify.app address, which follows your project slug. That is not a custom domain. You rename it by changing the Slug in the General tab of project settings, not through the custom-domain flow. Project settings says so directly: Pour renommer ce sous-domaine, modifiez le Slug dans l’onglet Général. Le sous-domaine est dérivé du slug du projet. Renaming the subdomain and attaching a custom domain are independent actions.
Next: see Deploy overview for how publishing and redeploys fit together, or Deploy to Netlify for the build and connect steps.
