Overview

Namecheap is a registrar with built-in DNS (BasicDNS, or paid PremiumDNS). It is enough for plain records and email pointers. When a site needs proxying, Rules, or Workers, keep Namecheap as the registrar and delegate the nameservers to cloudflare.

Know which record types you will use

  • A and AAAA: hostname to IPv4 or IPv6, for the apex or a subdomain pointing at a fixed IP.
  • CNAME: hostname to hostname, for subdomains pointing at a provider (the project-specific value Vercel shows, <user>.github.io). Not valid at the apex.
  • ALIAS: Namecheap’s apex-safe alias. It coexists with other records on the same host, so it can point the root domain at a service where a CNAME cannot (record types).
  • MX and TXT: mail routing; verification, SPF, DKIM, and DMARC.
  • NS: edit only when handing DNS to another provider.

Avoid URL Redirect records for HTTPS sites; they are simple HTTP-level forwards. Redirect at the CDN or application layer instead.

Add TXT records exactly as given and keep them

Verification values (Google Search Console, Vercel, GitHub, Atlassian, Cloudflare) are opaque; paste them unedited, and leave them after verification because some providers re-check.

Host:  @            # or the subdomain the provider specifies
Type:  TXT
Value: google-site-verification=AbCdEf...

For email, TXT also carries SPF (v=spf1 ...), DKIM (provider-specific selector), and DMARC (host _dmarc). A wrong SPF is the most common reason mail lands in spam; see email-deliverability.

Copy MX records exactly, lowest priority number first

A lower priority number is tried first. Copy the provider’s current instructions rather than old examples: Google Workspace has used a single MX record (smtp.google.com, priority 1) since April 2023, while domains set up earlier may still have the five legacy aspmx.l.google.com records, which remain supported. Other providers (Fastmail, Migadu) publish their own lists; copy them whole.

Plan TTL changes instead of waiting for propagation

“Propagation” is resolver cache expiry; the record’s TTL is the only control. Before a migration, lower the TTL to 300 seconds at least 24 hours ahead, switch, then raise it again to cut lookup load. Confirm the new answer with dig @1.1.1.1 example.com and dig @8.8.8.8 example.com before changing anything else.

Delegate to Cloudflare without downtime

  1. Add the zone in Cloudflare and let it import existing records.
  2. Check every record on the Cloudflare side; fix anything that did not import, and keep mail and verification records grey-cloud (cloudflare-dns).
  3. In Namecheap, set the domain’s nameservers to Custom DNS and enter the two Cloudflare nameservers assigned to the zone.
  4. Wait for Cloudflare to report the zone active. Namecheap answers until then.