Skip to main content

Managing Custom Domains

Custom domains let your customers use their own domain (e.g., mybusiness.com) instead of a subdomain (mybusiness.yoursaas.com). GrabWP WaaS supports two methods.

Navigate to WaaS → Domains (/wp-admin/admin.php?page=grabwp-tenancy-waas-domains).

Domains admin

Domain Modes

Configure the mode in WaaS → Settings → General → Custom Domains.

ModeHow it worksBest for
Cloudflare SaaSCustomer adds a CNAME record to your fallback origin. Cloudflare handles SSL and routing.Production platforms, automatic SSL, scalable
Direct IPCustomer adds an A record to your server IP. You configure the domain on your server.Simple setups, non-Cloudflare hosting

Cloudflare SaaS Custom Hostnames

This is the recommended approach for production. Cloudflare handles SSL certificates automatically for every custom domain.

One-Time Setup (Your Side)

  1. Add your domain to Cloudflare (if not already)
  2. Enable Cloudflare for SaaS on your zone:
    • Contact Cloudflare support or use the dashboard → SSL/TLS → Custom Hostnames
    • This feature may require a paid Cloudflare plan
  3. Set a fallback origin:
    • In Cloudflare dashboard → SSL/TLS → Custom Hostnames → Add Fallback Origin
    • Set it to your platform subdomain (e.g., cdn.saas.yoursaas.com)
    • Create a DNS A record for this subdomain pointing to your server
  4. Configure in WaaS:
    • Go to WaaS → Settings → General → Custom Domains
    • Set Domain Mode to Cloudflare SaaS
    • Enter your CNAME Target (e.g., cdn.saas.yoursaas.com)

Cloudflare docs: Cloudflare for SaaS — covers setup, SSL, and API automation.

Per-Customer Flow

When a customer wants to use their own domain:

  1. Customer side: Add a CNAME record in their DNS:

    mybusiness.com → CNAME → cdn.saas.yoursaas.com
  2. Your side (admin): Add the domain in WaaS → Domains or the customer can add it via the tenant dashboard:

    • Click Add Domain
    • Enter the custom domain
    • Click Verify — checks DNS propagation
  3. Cloudflare automatically provisions an SSL certificate for the custom domain

  4. The tenant site is now accessible at mybusiness.com

Customer Instructions Template

Share this with your customers when they request a custom domain:

To connect your domain:

  1. Log in to your domain registrar (GoDaddy, Namecheap, etc.)
  2. Go to DNS settings
  3. Add a CNAME record:
    • Name/Host: @ or www (or your subdomain)
    • Value/Target: cdn.saas.yoursaas.com
    • TTL: Automatic or 300
  4. Wait 5-10 minutes for DNS propagation
  5. Go to your Dashboard → Domains → Add Domain
  6. Enter your domain and click Verify

Direct IP Mode

Simpler but requires manual server configuration for each domain.

Setup

  1. In WaaS → Settings → General → Custom Domains:

    • Set Domain Mode to Direct IP
    • Enter your Server Public IP
  2. For each custom domain, you need to:

    • Add a server block (Nginx) or virtual host (Apache) for the domain
    • Point it to your WordPress installation
    • Set up SSL (e.g., via Let's Encrypt / Certbot)

Per-Customer Flow

  1. Customer: Add an A record in their DNS:

    mybusiness.com → A → 203.0.113.50
  2. You: Add the domain to your web server config:

    Nginx example:

    server {
    listen 80;
    server_name mybusiness.com;
    # ... same config as your main site
    }

    Then run Certbot for SSL:

    sudo certbot --nginx -d mybusiness.com
  3. Admin panel: Add and verify the domain in WaaS → Domains

Note: Direct IP requires manual server work per domain. Cloudflare SaaS is recommended if you expect many custom domains.

Domain Management from Tenant Dashboard

Customers can also manage domains from their tenant dashboard (your /dashboard/ page):

  • Add Domain — enter a custom domain
  • Verify — check DNS propagation
  • Set Primary — make a domain the primary URL for their site
  • Remove — disconnect a custom domain

Domain Verification

After adding a domain, verification checks:

  • DNS record exists and points correctly (CNAME or A record)
  • Domain resolves to your server
  • SSL is working (for Cloudflare SaaS, this is automatic)

Verification can take a few minutes depending on DNS propagation.


Next: Managing Subscriptions