Skip to main content

Custom Domain Setup

After deploying your Weaverse Hydrogen storefront to Shopify Oxygen, you’ll want to connect your own domain (e.g., yourstore.com) so customers visit your brand URL instead of the default Oxygen subdomain. This guide covers the full process — from adding the domain in Shopify to configuring DNS records at your registrar — with provider-specific instructions for the most common setups.

Overview

Connecting a custom domain involves three steps:
  1. Add the domain in Shopify Admin
  2. Point it to Hydrogen (not the default Online Store)
  3. Configure DNS records at your domain registrar / DNS provider
Shopify handles SSL certificate provisioning automatically once DNS is correctly pointed.

Prerequisites

  • A deployed Hydrogen storefront on Shopify Oxygen (deployment guide)
  • Access to your domain’s DNS settings (Cloudflare, Namecheap, GoDaddy, etc.)
  • The domain must not be actively serving another site on the root (or you’ll need to plan the cutover)

Step 1 — Add Domain in Shopify Admin

  1. Go to Shopify AdminSettingsDomains
  2. Click Connect existing domain
  3. Enter your domain (e.g., yourstore.com) and click Next
  4. Shopify will show you the required DNS records — keep this page open for reference
If you’re on a Shopify Plus plan, you can connect multiple custom domains. Other plans support one primary domain.

Step 2 — Point Domain to Hydrogen

By default, Shopify connects new domains to the Online Store sales channel. Since you’re running a Hydrogen storefront, you need to change the target:
  1. In SettingsDomains, find the domain you just added
  2. Click on the domain name to open its settings
  3. Change the target from Online Store to your Hydrogen storefront
  4. Save the changes
This step is critical. If you skip it, your domain will serve the default Shopify Online Store theme instead of your Hydrogen app.

Step 3 — Configure DNS Records

The DNS configuration depends on your provider. The core requirement is the same everywhere:
RecordTypeNameTarget
Root domainCNAME@shops.myshopify.com
www subdomainCNAMEwwwshops.myshopify.com
Some DNS providers don’t support CNAME records on the root domain (@). In that case, use an A record pointing to 23.227.38.65 (Shopify’s IP). See provider-specific instructions below.

Cloudflare

Cloudflare is a popular choice for DNS management. Follow these steps carefully:

DNS Records

  1. Log in to Cloudflare Dashboard
  2. Select your domain zone
  3. Go to DNSRecords
  4. Add the following records:
Root domain:
FieldValue
TypeCNAME
Name@
Targetshops.myshopify.com
Proxy statusDNS only (grey cloud ☁️)
www subdomain:
FieldValue
TypeCNAME
Namewww
Targetshops.myshopify.com
Proxy statusDNS only (grey cloud ☁️)
Proxy must be OFF (grey cloud). Shopify needs direct DNS access to provision and renew the SSL certificate for your domain. If the orange cloud (proxy) is enabled, SSL provisioning will fail.

Cloudflare-Specific Settings

After adding DNS records, verify these settings:
  1. SSL/TLS → Set encryption mode to Full (not Full Strict, not Flexible)
  2. SSL/TLSEdge Certificates → Turn OFF “Always Use HTTPS” — let Shopify handle the HTTPS redirect
  3. SpeedOptimization → Turn OFF Auto Minify (Shopify/Hydrogen already optimizes assets)
  4. Rules → Remove any page rules that might interfere with Shopify’s routing
If you previously had Cloudflare proxy enabled (orange cloud) for this domain, make sure to also clear any cached SSL certificates in Cloudflare before switching to DNS-only mode.

Namecheap

  1. Log in to Namecheap
  2. Go to Domain List → click Manage next to your domain
  3. Go to the Advanced DNS tab
  4. Add the following records:
Root domain:
TypeHostValueTTL
CNAME@shops.myshopify.comAutomatic
www subdomain:
TypeHostValueTTL
CNAMEwwwshops.myshopify.comAutomatic
Namecheap supports CNAME flattening on the root domain, so CNAME @ works directly. Remove any existing A or AAAA records for @ that might conflict.

GoDaddy

  1. Log in to GoDaddy
  2. Go to My ProductsDNS next to your domain
  3. Add or edit records:
Root domain:
TypeNameValueTTL
A@23.227.38.65600
www subdomain:
TypeNameValueTTL
CNAMEwwwshops.myshopify.com1 Hour
GoDaddy does not support CNAME on the root domain. Use an A record pointing to Shopify’s IP address (23.227.38.65) instead.

Google Domains / Squarespace Domains

Google Domains was migrated to Squarespace Domains in 2024. The DNS management interface is the same.
  1. Log in to Squarespace Domains
  2. Select your domain → DNSDNS Settings
  3. Click Custom RecordsManage
  4. Add the following records:
Root domain:
TypeHostDataTTL
A@23.227.38.65600
www subdomain:
TypeHostDataTTL
CNAMEwwwshops.myshopify.com1 Hour
Squarespace Domains does not support CNAME on the root domain. Use an A record for @.

Amazon Route 53

  1. Open the Route 53 Console
  2. Go to Hosted zones → select your domain
  3. Click Create record for each:
Root domain:
Record nameTypeValueTTL
(leave blank)A23.227.38.65300
www subdomain:
Record nameTypeValueTTL
wwwCNAMEshops.myshopify.com300
Route 53 supports ALIAS records on the root domain as an alternative to A records — but Shopify does not provide a compatible alias target, so use the A record with IP 23.227.38.65.

HostGator / cPanel

  1. Log in to cPanel
  2. Go to Zone Editor (under Domains)
  3. Select your domain → Manage
  4. Add or edit records:
Root domain:
TypeNameRecordTTL
Ayourdomain.com23.227.38.6514400
www subdomain:
TypeNameRecordTTL
CNAMEwww.yourdomain.comshops.myshopify.com14400
Remove any existing A records for @ or www before adding new ones. cPanel does not support CNAME on the root domain.

Netlify DNS

  1. Log in to Netlify
  2. Go to Domains → select your domain → DNS Settings
  3. Add records:
Root domain:
TypeNameValue
A(blank)23.227.38.65
www subdomain:
TypeNameValue
CNAMEwwwshops.myshopify.com
If you previously had a Netlify site on this domain, remove the Netlify DNS records first or disable the linked site. Having both will cause routing conflicts.

Vercel DNS

  1. Log in to Vercel
  2. Go to SettingsDomains → select your domain
  3. Go to the DNS records tab and add:
Root domain:
TypeNameValue
A@23.227.38.65
www subdomain:
TypeNameValue
CNAMEwwwshops.myshopify.com
Remove any existing Vercel project assignments for this domain before pointing it to Shopify.

Other DNS Providers

For any DNS provider not listed above, apply these rules:
  • If your provider supports CNAME on root (@): Use CNAME @ → shops.myshopify.com
  • If your provider does NOT support CNAME on root: Use A @ → 23.227.38.65
  • For www: Always use CNAME www → shops.myshopify.com
  • Proxy/CDN: Turn off any proxy or CDN layer so Shopify can provision SSL directly
  • TTL: Set to the lowest available value for faster propagation

Step 4 — Verify & SSL Provisioning

  1. Wait for DNS propagation (typically 5–30 minutes, can take up to 48 hours in rare cases)
  2. Go back to Shopify AdminSettingsDomains
  3. Click Verify next to your domain
  4. Shopify will automatically provision an SSL certificate once DNS is verified
You can check propagation status using:
  • whatsmydns.net — enter your domain and check CNAME or A records
  • Terminal: dig yourstore.com CNAME +short (should return shops.myshopify.com)
SSL provisioning may take a few minutes after DNS verification. During this time, your site may show a security warning — this is normal and resolves automatically.

Troubleshooting

Domain shows Online Store instead of Hydrogen

You missed Step 2. Go to SettingsDomains, click your domain, and change the target to the Hydrogen storefront.

SSL certificate not provisioning

  • Ensure no proxy/CDN is between the domain and Shopify (Cloudflare orange cloud must be OFF)
  • Verify DNS records are correct: dig yourstore.com CNAME +short
  • Check that “Always Use HTTPS” is disabled in Cloudflare (if applicable)
  • Wait up to 24 hours — Shopify retries SSL provisioning periodically

ERR_TOO_MANY_REDIRECTS

This usually means Cloudflare’s SSL mode is set to Flexible instead of Full. Change it to Full in Cloudflare → SSL/TLS settings.

Domain not resolving

  • Confirm DNS records are saved and published
  • Check for conflicting records (e.g., old A records pointing elsewhere)
  • Verify with dig yourstore.com +short or whatsmydns.net

www not redirecting to root (or vice versa)

Shopify handles www ↔ non-www redirects automatically once both records are configured. Ensure both @ and www records exist and point to Shopify.

Primary Domain

After verification, set your preferred domain as the primary domain in Shopify:
  1. Go to SettingsDomains
  2. Click on your verified domain
  3. Click Set as primary
Shopify will automatically redirect all other connected domains (including the default .myshopify.com URL) to your primary domain.

Summary

StepActionWhere
1Add domainShopify Admin → Settings → Domains
2Set target to HydrogenShopify Admin → Settings → Domains → click domain
3Configure DNS recordsYour DNS provider (Cloudflare, Namecheap, etc.)
4Verify & wait for SSLShopify Admin → Settings → Domains → Verify

Additional Resources