Publishing & Hosting

Publishing Pages

Publishing is how an approved draft becomes the live version visitors see. Preview first, check the page, then publish when the update is ready. Mirin handles the hosting, SSL, caching, and fast delivery behind the scenes.

The Publish Flow

Publishing transforms your page from editable JSON into production-ready HTML distributed globally.

Using the desktop app? Pages you build locally are saved to your device. Before publishing, use the Sync Up button in the desktop app to push your local pages to the cloud dashboard. Once synced, the publish steps below apply the same way: local pages go through Sync Up to the cloud, then Publish pushes them to the edge CDN.
01
Click PublishYour page data—components, props, and settings—is sent to the Mirin API as a JSON payload for processing on our servers.
02
Server-Side RenderOur servers render your React, Vue, or Svelte components to static HTML with all content and styling baked directly into the markup.
03
Page JSON CreatedA page manifest is generated containing the pre-rendered HTML, hydration data for interactive islands, and component import maps.
04
Global StorageThe page manifest is uploaded to distributed object storage and automatically replicated across multiple geographic regions for redundancy.
05
Edge AssemblyWhen visitors request your page, an edge worker at the nearest location fetches the manifest and assembles the final HTML response.

Draft vs Published

Pages exist in one of two states. You can freely edit drafts without affecting what visitors see.

Draft

Work in progress

Only visible in the editor
Changes save automatically
Shareable via preview links
No impact on live site

Published

Live and visible

Visible to all visitors
Served from edge network
Indexed by search engines
Saved edits show as Publish changes until deployed

Workflow tip: Saving updates the editable version and preserves it in history. It does not replace the live page. When a published page has newer saved edits, the yellow Publish changes control rebuilds the live page and updates every connected domain. You can always unpublish to revert to draft.

Edge Delivery

Your published pages are distributed across a global network of edge locations, not a single server. When someone visits your site, they connect to the nearest edge node, which assembles and delivers your page in milliseconds.

Origin
US-W
EU
APAC
US-E
SA
AU

Your content is replicated from origin to 300+ edge locations worldwide

Pre-Rendered HTML

No server processing delay. Your pages are pre-built and ready to serve instantly.

Nearest Edge

Visitors connect to the closest location, typically under 20ms away.

Smart Interactivity

Interactive components load efficiently without blocking your page content.

Built-in Protection

The edge network automatically mitigates DDoS attacks and bad traffic.

Custom Domains

Connect a domain you already own to your published Mirin site. Mirin hosts your website, but Mirin does not register, transfer, renew, or host the DNS for your domain. Your domain stays with the company that manages it today.

DNS connection, not a domain transfer

Keep the domain registered and paid for with your current provider. Do not unlock it, request an authorization code, change the registrant, or move its nameservers to Mirin. You are only adding DNS records that point the website to Mirin.

Connect your domain

  1. 1Open Domains in your Mirin dashboard and select Connect Custom Domain.
  2. 2Enter the root domain without https or www, such as example.com.
  3. 3Copy every DNS record Mirin displays into the provider that manages your DNS.
  4. 4Return to Mirin and check the status. Mirin activates HTTPS after the records verify.
Your provider
Open the DNS editor
Mirin Domains
Copy every field exactly
Your website
Verification and HTTPS
Your provider keeps the domain. Mirin supplies only the records needed to connect the website.
Record checklist. Copy the current fields from your Mirin dashboard.
RecordWhat to enterWhat it does
A recordCopy its type, host, and value exactly as shown in Mirin.Connects the root domain.
CNAME recordCopy its type, host, and value exactly as shown in Mirin.Connects the www address.
TXT recordAdd it only when Mirin displays one. Copy the full host and value.Confirms ownership when required.

Protect your email

Do not delete or change MX, SPF, DKIM, or DMARC records. Those records normally control email. Replace only conflicting website records for the same host Mirin asks you to connect. If you are unsure, send us a screenshot of your DNS screen before saving. We will help you confirm which records to change.

Where should you edit DNS?

Edit records at the provider listed in your domain's nameservers. That provider may be different from the company where you bought the domain or built the old website. If a DNS editor is missing, check the nameservers or ask your domain provider where the DNS zone is managed.

Provider instructions

Wix

DomainsDomain ActionsManage DNS Records
  1. 1Choose the domain and open Manage DNS Records.
  2. 2Add or edit each record shown in Mirin. Wix uses a blank host name for the root domain instead of @.
  3. 3Select Save, then confirm with Save Changes.

If Wix does not show the DNS editor, your nameservers may point to another provider.

Read Wix's official DNS guide

Squarespace

Domains dashboardYour domainDNS
  1. 1Open the Domains dashboard, select the domain, and select DNS in the side panel.
  2. 2Add or edit a custom record. Complete the Type, Host or Name, and Data fields using the values from Mirin.
  3. 3Save each record. Use @ for the root domain when Squarespace requests a host.

Domains migrated from Google Domains are now managed in Squarespace. If the nameservers point elsewhere, edit DNS there instead.

Read Squarespace's official DNS guide

GoDaddy

Domain PortfolioYour domainDNS
  1. 1Open Domain Portfolio, select the domain, and open DNS.
  2. 2Select Add New Record or Edit beside an existing website record.
  3. 3Use @ for the root domain and www for the www record. Save and complete identity verification if GoDaddy requests it.

Only replace records for the website host you are connecting. Keep mail and verification records in place.

Read GoDaddy's official DNS guide

Namecheap

Domain ListManageAdvanced DNS
  1. 1Choose the domain, select Manage, and open Advanced DNS.
  2. 2Under Host Records, select Add New Record or edit an existing website record.
  3. 3Use @ for the root domain, www for the www record, and Automatic for TTL. Save with the checkmark.

If Host Records is unavailable, the domain uses another DNS provider. Check the Nameservers section to find it.

Read Namecheap's official DNS guide

Cloudflare

Your domainDNSRecords
  1. 1Choose the domain, open DNS, and select Records.
  2. 2Select Add record or edit the existing record for the same host. Copy the type, name, and target from Mirin.
  3. 3Set Proxy status to DNS only for the Mirin A and CNAME records, then save.

The gray cloud DNS only setting lets Mirin confirm that the records point to the required destination.

Read Cloudflare's official DNS guide

After you save the records

  • DNS changes often appear within 5 to 30 minutes, but some providers can take up to 48 hours.
  • Keep the TTL at its default or automatic setting unless your provider tells you otherwise.
  • If verification remains pending, look for an old A, AAAA, or CNAME record using the same @ or www host.
  • Your MyMirin address remains available while the custom domain is connecting.
Open Domains in Mirin

SSL Certificates

Every Mirin site is secured with HTTPS automatically. SSL certificates are provisioned and renewed without any configuration on your part, keeping your site protected and trusted by browsers at all times.

Always Secured

Your site is protected with industry-standard TLS encryption. Certificates are managed entirely by Mirin.

Auto-provisionedAuto-renewedCustom domainsZero config

Cache Invalidation

When you publish changes, only the affected pages are invalidated across all edge locations globally. The rest of your site continues serving from cache for maximum performance, ensuring visitors always get fast responses.

Before Publish
/
/about
/blog
All cached
After Publish /about
/
/about
/blog
Only /about refreshed

Targeted Purge

Only the specific page you publish gets invalidated from all edge locations.

Instant Propagation

Changes propagate to all 300+ edge locations in seconds, not minutes.

No TTL Waiting

Active purging means you never wait for cache to naturally expire.