Custom Domains
Connect your own domain to your Taintless store with automatic SSL.
Every Taintless store gets a storefront subdomain such as yourstore.taintless.store. On Starter, Pro, and Ultra plans, you can connect your own domain for a branded storefront: a root domain such as yourdomain.com, its www host, or any subdomain such as store.yourdomain.com.
Setting up a custom domain
Step 1: Add your domain
- Open your project in the editor
- Open Site → Custom Domain
- Enter your domain, for example
yourdomain.comorstore.yourdomain.com - Click Add domain
The editor then lists every DNS record you need in one table, with copy buttons and a status for each record. You can add them all at once.
Step 2: Add the DNS records
| Record | Type | Name | Value |
|---|---|---|---|
| Ownership | TXT | _taintless-verify (for a subdomain: _taintless-verify.store) | taintless-verify=<your code> |
Root domain, e.g. yourdomain.com | A | @ | The IP address shown in the editor |
Subdomain, e.g. store.yourdomain.com or www.yourdomain.com | CNAME | store, www | The target shown in the editor |
Names are relative to your domain, as most DNS providers expect, and @ means the root domain itself. A root domain uses an A record because DNS does not allow a CNAME there. For domains such as yourdomain.com.tr or yourdomain.co.uk, the editor already names the records relative to the full domain.
When you connect a root domain such as yourdomain.com, Taintless connects www.yourdomain.com too and redirects it to the root with a permanent redirect; the same ownership TXT record covers both. When you connect www.yourdomain.com, the root can redirect to it as well, but it needs its own TXT record: the table lists it (named _taintless-verify, same value) together with the root's A record as optional records.
Step 3: Verify
Click Verify ownership. Taintless checks the TXT record, connects your domain, and checks its DNS in the same step. If DNS already points at Taintless, your domain goes live right away and SSL is provisioned automatically.
If DNS is not ready yet, the domain waits in the Configure DNS state. Fix the record, then click Check DNS; Taintless also checks every hour. Your storefront moves to the custom domain only once its DNS points at Taintless, so visitors are never sent to a domain that does not work yet.
If the domain is still connected to another Vercel account, the table adds a TXT record named
_vercel that Vercel requires. Add it, or remove the domain from the other account, then click
Check DNS.
Redirect www
Once the domain is live, the Redirect www switch turns the www redirect of a root domain on or off without another ownership check. For a www domain, Redirect root first asks for the root's own TXT record. Domains connected before this option existed start with it off.
DNS propagation
DNS changes can take anywhere from a few minutes to 48 hours to propagate globally. If a check fails, wait and try again.
Removing a custom domain
In Site → Custom Domain, click Remove. Taintless disconnects the domain and its redirect. Your store remains available at the default yourstore.taintless.store subdomain.
Troubleshooting
| Issue | Solution |
|---|---|
| Ownership fails | Confirm the TXT record name and value match the editor exactly |
Record created as name.yourdomain.com.yourdomain.com | Your provider adds the domain for you: enter only the name shown in the editor |
| DNS check keeps waiting | Confirm the A or CNAME record matches the editor and remove other A, AAAA or CNAME records on the same name |
| Using Cloudflare | Set the records to DNS only (grey cloud) |
| SSL not working | SSL is provisioned automatically once DNS is correct: allow a few minutes. If your domain has CAA records, allow letsencrypt.org |
| Vercel asks for a TXT record | The domain is still linked to another Vercel account: add the _vercel record shown in the editor |
| Domain shows old site | Clear your browser cache or wait for the DNS TTL to expire |
Custom domains are available on Starter, Pro, and Ultra plans. Free plan stores use the default
.taintless.store subdomain. If the plan is downgraded to Free, the domain and its redirect are
disconnected and must be verified again after upgrading.