Domains & Routing
Connect apex domains and subdomains with managed TLS, manage publication modes (standalone vs. network integrated), article migration behaviors, and URL redirects.
Custom Domains
Custom-domain publication hosting requires Founding Pro. ZyVOP accepts root/apex domains such as example.com, www, and other subdomains.
Domain Lifecycle
Custom domains are provisioned with automatic TLS:
- Add Domain — Enter your hostname in Publication → Domain & Routing (in /dashboard/publication).
- DNS Configuration — Add the routing and verification records shown by ZyVOP. Apex domains use a root record; subdomains use a
CNAMErecord. - Verification — ZyVOP verifies domain ownership and begins domain-control validation. The domain status progresses through:
PENDING→VERIFYING→ACTIVE
- TLS Provisioning — TLS certificates are automatically issued and renewed after verification.
ZyVOP runs an automated verification check every 10 minutes for domains in the VERIFYING state. Domains stuck in PENDING for more than 72 hours are automatically cleaned up by a daily scheduler.
Supported Hostnames
| Hostname | Support |
|---|---|
example.com (root/apex) | Supported with Founding Pro |
www.example.com | Supported with Founding Pro |
blog.example.com or another subdomain | Supported with Founding Pro |
Domain Status States
| Status | Description |
|---|---|
PENDING | Domain added, awaiting DNS configuration |
VERIFYING | DNS detected; ZyVOP is verifying ownership and issuing TLS |
ACTIVE | Fully verified and serving traffic |
FAILED | Verification failed — check DNS records |
REMOVED | Domain has been deleted |
Primary Domain
The standard deployment accepts one custom domain per publication and marks its active mapping as primary. The primary domain is used for:
- Canonical URLs across all articles
- Structured data and Open Graph metadata
- RSS feed URLs
- Sitemap generation
Verification Records
When adding a custom domain, ZyVOP provides:
- Ownership verification — A DNS TXT record to prove domain ownership
- SSL verification — A DNS TXT record for certificate issuance
Publication Modes
ZyVOP supports two routing modes that control how your articles are served:
Network Integrated (Default)
Articles live on the ZyVOP network (zyvop.com/network/:shortId/:slug) and are rendered on your publication domain. The network URL is the canonical source. This is the default publication mode, but rendering on a custom publication domain still requires Founding Pro. Free content remains available through ZyVOP network routes.
Standalone (Pro)
Your publication domain becomes the canonical source. Network URLs issue a permanent 308 redirect to your publication domain.
You can switch between modes at any time from Publication → Domain & Routing.
Article Migration
When activating a publication with a custom domain, you control how existing articles transition from ZyVOP network URLs to your publication domain:
| Behavior | Description |
|---|---|
REDIRECT | Network URL issues a 308 permanent redirect to the publication domain. Best for full SEO migration. |
PUBLICATION_CANONICAL | Article renders on both URLs, but canonical points to the publication domain. |
NETWORK_CANONICAL | Article renders on both URLs, but canonical points to the network URL. |
FULL_COPY | Article renders independently on both URLs with separate canonicals. |
You can batch-update migration behavior for all articles or selectively choose per-article from the Article Migration card in settings.
URL Redirects
Manage exact, wildcard, and query-aware redirects for your publication domain:
/old-article-path → https://yourdomain.com/new-path (301 Permanent)
/legacy-url → https://external-site.com/page (302 Temporary)
/old-docs/* → /docs/:splat (308 Permanent)
/localized?lang=* → /languages/:splat (307 Temporary)Each redirect has:
| Field | Description |
|---|---|
sourcePath | Exact path or a rule containing one * wildcard. An optional query pattern is supported. |
destinationUrl | A relative path or full HTTP(S) URL. Use :splat or * to insert the wildcard capture. |
statusCode | 301, 302, 307, or 308 |
isActive | Whether the rule is active; rules can be enabled or disabled without deletion. |
Exact rules take priority over wildcard rules, and more-specific wildcard rules take priority over broader ones. A path-only rule preserves an incoming query string when its destination does not define one. Rules can be created, edited, enabled, disabled, or deleted from Publication settings.
These rules are resolved by the ZyVOP proxy before page rendering and are separate from the automatic 308 redirects used by Standalone mode and article migration. Reserved system paths such as /robots.txt, /sitemap.xml, /api/*, and /_next/* cannot be redirected.
Rate Limits
Domain management endpoints are rate-limited to prevent abuse:
| Action | Limit |
|---|---|
| Add custom domain | 5 requests / hour |
| Verify domain | 20 requests / hour |
| Set primary domain | 15 requests / hour |
| Delete domain | 10 requests / hour |