---
title: Custom Domains for ShootCal Galleries and Websites
description: Connect your website and client galleries, forward your address without www, and check that both website addresses work. Available on Pro.
url: "https://shootcal.com/docs/custom-domain/"
updated: "2026-11-13"
category: "ShootCal Galleries / Brand & website"
---

# Custom Domains for ShootCal Galleries and Websites

# Custom Domains for ShootCal Galleries and Websites

On **Pro**, you can connect two separate subdomains (hostnames): `www.yourstudio.com` for your Website and `galleries.yourstudio.com` for client galleries. You can connect either one or both. Each subdomain needs its own CNAME record pointing to `cname.shootcal.com`, and ShootCal activates HTTPS automatically. Existing connected Plus domains keep working while the plan remains eligible. Connecting or changing a domain requires Pro.

The two hostnames have separate jobs. The `www` hostname serves the pages in your Website plan. The `galleries` hostname serves gallery pages, share links, downloads, video, and print-store pages.

## 1. Choose which subdomains to connect

Use a domain you already own. ShootCal requires these prefixes:

- **Website:** `www.yourstudio.com`
- **Client galleries:** `galleries.yourstudio.com`

Enter the `www` address in ShootCal. To make the address without `www` work too, complete [bare-domain forwarding](#4-make-the-bare-domain-work-too) after connecting your Website.

## 2. Add the CNAME records

Sign in wherever your domain's DNS lives and add one record for each hostname you want to use:

| Use | Type | Name / Host | Value / Target |
| --- | --- | --- | --- |
| Website | CNAME | `www` | `cname.shootcal.com` |
| Client galleries | CNAME | `galleries` | `cname.shootcal.com` |

Leave the TTL at its default.

Where that screen lives at the common registrars:

- **GoDaddy:** My Products → your domain → DNS → Add New Record.
- **Cloudflare:** your site → DNS → Records → Add record. **Set the cloud icon to “DNS only” (grey)**, not proxied. A proxied (orange) record hides the target and HTTPS can’t be issued.
- **Namecheap:** Domain List → Manage → Advanced DNS → Add New Record.
- **Squarespace Domains:** Domains → your domain → DNS Settings → Add Record.

## 3. Save each hostname where it belongs

The two hostnames are entered in two places, next to the thing they serve:

- **Website:** in ShootCal, choose [Website](https://app.shootcal.com/app/galleries/website-settings) at the top of ShootCal. The **Website address** card shows where your site is published; enter `www.yourstudio.com` under **Your own website domain** and press **Save domain**.
- **Client galleries:** in ShootCal, open [Settings > Studio](https://app.shootcal.com/app/settings/studio#galleries-address) and find **Gallery address**. Enter `galleries.yourstudio.com` under **Your own gallery domain** and save.

Connect either one or both. Each has its own status and shows *Waiting for DNS…* while the record propagates. ShootCal keeps using the corresponding ShootCal address until both routing and HTTPS are active for that hostname. Most domains activate within a few minutes, though DNS can occasionally take up to an hour.

## 4. Make the bare domain work too

If you connected a Website, set up forwarding from `yourstudio.com` to `https://www.yourstudio.com`. This sends visitors who leave out `www` to the same website.

Set this up in the account that manages your domain's DNS. This may be your registrar, such as Porkbun, or a separate provider, such as Cloudflare. If you changed your domain's nameservers to another provider, use that provider's instructions.

Choose a **permanent redirect (301)** to your full `https://www...` address. The forwarding service must accept **both HTTP and HTTPS** on the address without `www`. Enable path forwarding so a link such as `yourstudio.com/contact/` opens `www.yourstudio.com/contact/`, and check that query strings are preserved too.

 Porkbun DNS

If Porkbun manages your DNS:

1. Open **Domain Management**, find your domain, and click **Details**, then the edit icon beside **URL Forwarding**.
2. Leave **Hostname** blank to forward only the address without `www`.
3. Set **Forward Traffic To** to `https://www.yourstudio.com`.
4. Leave **Wildcard Forwarding** off. Under **advanced settings**, choose **301 Permanent Redirect** and enable **Include the requested URI path in the redirection**.
5. Save the forward. Keep your working `www` CNAME and email DNS records in place.

Porkbun provides HTTPS forwarding. Follow its [URL forwarding guide](https://kb.porkbun.com/article/39-how-to-set-up-url-forwarding) if its dashboard reports a conflicting record. Resolve only the record for the address you are forwarding; keep the separate `www` connection working.

If your domain is registered at Porkbun but uses another provider's nameservers, configure forwarding with that provider instead.

  Cloudflare DNS

Configure a redirect for the address without `www` in your own Cloudflare zone. Cloudflare needs a **proxied DNS record for that address**, an active HTTPS certificate, and a redirect rule pointing to `https://www.yourstudio.com`.

Match the bare hostname for both HTTP and HTTPS, use status **301**, and preserve the path and query string. Keep the working `www` CNAME to ShootCal set to **DNS only**.

Follow Cloudflare's [domain redirect setup](https://developers.cloudflare.com/fundamentals/manage-domains/redirect-domain/) for the record and rule. Your registrar and DNS provider can be different companies.

For another provider, look for **URL forwarding** or **domain forwarding** in its dashboard. Confirm that the service supports HTTPS on the address being forwarded.

### Check both website addresses

After saving your forward, open all three:

- `https://www.yourstudio.com` should load your Website.
- `http://yourstudio.com` should redirect to `https://www.yourstudio.com`.
- `https://yourstudio.com` should redirect to the same address without a certificate warning.

Also test a page path and a harmless query, such as `https://yourstudio.com/contact/?source=domain-check`. Both should remain in the destination address.

**Active** in ShootCal confirms the `www` connection. Forwarding from the address without `www` is a separate step at your domain provider. If `www` works but the bare address gives an error, check forwarding there.

## 5. Use the active addresses

Once the Website hostname reads **Active**, it serves your published site. Once the client-gallery hostname reads **Active**, new gallery share links, delivery emails, downloads, video links, and print-store links use it. The platform addresses at [sites.shootcal.com](http://sites.shootcal.com) and [galleries.shootcal.com](http://galleries.shootcal.com) continue to work as fallbacks.

## Troubleshooting

- **Stuck on “Waiting for DNS”?** Double-check that the record type is CNAME, the host is `www` or `galleries`, and the target is exactly `cname.shootcal.com`. On Cloudflare, make sure the record is *DNS only*, not proxied.
- **Prefix error when saving?** Website hostnames must begin with `www.` and gallery hostnames must begin with `galleries.`.
- **Disconnecting a hostname?** Clearing the field (and saving) switches future links back to the ShootCal address and queues that hostname for removal. Links already sent on the removed custom hostname may stop working, so update them before disconnecting it.

Still stuck? [Contact support](https://shootcal.com/support/) with your domain name and a screenshot of the DNS record. This is usually a one-line fix.

## Connection notices

ShootCal emails the current verified account owner when a new domain connection is ready or a connection error needs attention. If setup fails, reply to the email or send a message to [support@shootcal.com](mailto:support@shootcal.com). Your original ShootCal address continues to work. Connection emails invite you to request a highlight on ShootCal; connecting a domain does not automatically feature your website.

---

### Discover more from ShootCal

Subscribe to get the latest posts sent to your email.
