Documentation

Custom Domain

Let people open your digital card at a name they recognize. You can use a ShepCard subdomain immediately or connect a hostname you own.

Why use your own address

A custom address such as cards.example.com can match the name people already know from your website, email, or printed materials. A short address is easier to say aloud and gives your card a consistent home. Your original shepcard.com card link stays available, so QR codes printed with that link keep working.

One hostname can open a chosen card at its root, for example cards.example.com. Other published cards you own or share with a team can open at a path such as cards.example.com/ama-mensah. Only cards in your account or team can appear there.

Custom Domain is an Enterprise feature. You can connect up to five hostnames. Create and publish at least one card before testing a new address.

Choose an address

OptionBest whenSetup
ShepCard subdomainYou want a branded address quickly, such as acme.shepcard.com.Enter a name in Settings. No DNS changes.
Your own hostnameYou own a domain and want an address such as cards.example.com.Add the hostname in ShepCard, then add two DNS records.

For your own domain, use a subdomain such as cards.example.com. It fits the CNAME instructions ShepCard gives you and avoids changing the main website at example.com. A bare domain needs provider-specific routing that these steps do not cover.

Set up a ShepCard subdomain

  1. Open Dashboard → Settings → Domain.
  2. In ShepCard subdomain, enter a short name such as acme and select Add subdomain.
  3. Select a published card in Card at the root. If you leave this unchanged, ShepCard uses your oldest published card.

The subdomain is available without visiting a DNS provider. Continue below only if you want to connect a hostname you own.

Add your own hostname in ShepCard

  1. Open Dashboard → Settings → Domain. You need an active Enterprise plan.
  2. In Your own domain, enter only the hostname, for example cards.example.com. Leave out https:// and any path. Select Add domain.
  3. ShepCard displays a TXT row and a CNAME row. Copy the names and values shown there. The TXT value is unique to your account.
  4. Open the DNS settings for example.com at the provider that currently manages its nameservers. Add both records there, then return to ShepCard.
Example TXT verification record and CNAME routing record for cards.example.com
Example only. Copy the exact record names and values from your Domain settings. Open the image to view it larger.

The TXT record proves that you control the hostname. The CNAME points visitors to ShepCard. ShepCard may mark the hostname Live after finding the TXT record, but visitors still need the CNAME to reach your card. Your DNS provider may ask for a short Host or Name instead of the full record name:

RecordFull name shown by ShepCardShort name in example.com DNSExample value
TXT_shepcard-challenge.cards.example.com_shepcard-challenge.cardsshepcard-verify=YOUR_TOKEN
CNAMEcards.example.comcardsYour ShepCard target, often shepcard.com
The token and target in the examples are placeholders. Do not enter YOUR_TOKEN literally. Use the values shown beside your own hostname in Settings.

Example: Cloudflare

These steps apply when Cloudflare manages the DNS for your domain. Cloudflare calls the fields Type, Name, and Content. Its dashboard lets you add one record at a time. See Cloudflare's DNS record instructions.

  1. Sign in to Cloudflare, choose example.com, and open DNS → Records.
  2. Select Add record. Choose TXT. For Name, enter _shepcard-challenge.cards. For Content, paste the full shepcard-verify=... value from ShepCard. Select Save.
  3. Select Add record again. Choose CNAME. Set Name to cards and Target or Content to the target shown by ShepCard.
  4. Set the CNAME Proxy status to DNS only, then select Save. Leave TTL at Auto unless you have a reason to change it.
  5. Return to ShepCard and select Check DNS beside the hostname. If it is still waiting, check both records and try again later.
Illustrated Cloudflare DNS table with TXT and CNAME rows and DNS only status
Illustration of the two rows in Cloudflare. Your actual values come from ShepCard. Open the image to view it larger.
Cloudflare may default a new CNAME to Proxied. Use DNS only for this setup so the hostname points directly to the ShepCard target while verification and HTTPS are arranged. Cloudflare explains the difference in its proxy status guide.

If Cloudflare refuses to add the CNAME, look for an existing A, AAAA, or CNAME record named cards. A CNAME cannot share that name with those records. Review the old record before replacing it so you do not disconnect another service. See Cloudflare's record conflict guide.

Example: Namecheap

These steps apply when your domain uses Namecheap BasicDNS, PremiumDNS, or FreeDNS. Namecheap asks for a Host and Value in Advanced DNS → Host Records. The Host field uses the short name without .example.com. See Namecheap's CNAME guide and TXT guide.

  1. Sign in to Namecheap. Open Domain List, select Manage beside example.com, then open Advanced DNS.
  2. Under Host Records, select Add New Record and choose TXT Record. Set Host to _shepcard-challenge.cards and Value to the exact verification text shown by ShepCard.
  3. Add another record and choose CNAME Record. Set Host to cards and Value to the ShepCard target. Do not add .example.com to either Host field.
  4. Leave TTL at Automatic if that is the available default, then select Save All Changes or the save control for each record.
  5. Return to ShepCard and select Check DNS. DNS changes commonly take some time to appear.
Illustrated Namecheap Host Records showing TXT and CNAME with short Host values
Illustration of Namecheap Host Records. The actual token and target come from ShepCard. Open the image to view it larger.
If Host Records cannot be edited in Namecheap, your domain may use another DNS provider's nameservers or Namecheap hosting DNS. Add the records wherever DNS is currently managed. Namecheap explains this in its host records guide.

Use another DNS provider

The same two records work with most DNS providers. Find the DNS records page for the domain you own, add a TXT record for the verification name and value, then add a CNAME record for the card hostname and ShepCard target. Some providers want the full name, while others add your domain automatically. Check the saved record to avoid a duplicate name such as cards.example.com.example.com.

If your provider offers proxying or a CDN switch for the CNAME, use a direct DNS record during setup. Keep existing email records and the main website's records in place. You only need the hostname you chose for cards.

Verify and choose the card at the root

  1. In Dashboard → Settings → Domain, select Check DNS beside your hostname. ShepCard looks for the TXT verification value.
  2. When the status says Live, choose a published card under Card at the root. If you leave the default, the oldest published card appears there.
  3. Open https://cards.example.com in another browser tab. Check the card, its contact buttons, and the browser's secure connection indicator.
  4. Open another card at https://cards.example.com/your-card-url if you have more than one published card.

TXT verification proves ownership. It does not by itself prove that visitor traffic is reaching ShepCard. If the status is Live but the site does not open, compare the CNAME target with the value shown in Settings. HTTPS may take additional time after DNS verification while the certificate is prepared.

Removing a hostname from Settings disconnects that address from your cards. Your original shepcard.com card addresses still work.

Troubleshooting

ShepCard says no TXT record was found
Check the record name and the provider that manages your nameservers. In a zone for example.com, the short Host is usually _shepcard-challenge.cards. Wait for DNS changes to become visible, then select Check DNS again.
ShepCard found a TXT record, but the value is wrong
Copy the full verification value again from Settings. Each hostname has its own token. Remove an old value if you replaced this domain entry.
The domain is Live, but the card does not load
Check the CNAME name and target, and make sure the card is published. In Cloudflare, use DNS only while setting it up. If a different site opens, look for a conflicting record at the same hostname.
The browser reports a certificate problem
Verify that the hostname points to ShepCard, then allow time for HTTPS setup. If it persists, contact support with the hostname and the status shown in Settings.
I entered example.com instead of cards.example.com
Use a subdomain for the steps above. Many DNS services do not allow a regular CNAME at the bare domain, and changing the bare domain can affect your main website or email.