Getting Started· 4 min read

Publishing to zitegen.app

When the site looks right, publishing takes it live. Zitegen runs a real production build and hosts it on your own zitegen.app subdomain — with a custom domain when you're ready.


Editing happens on a private draft. Publishing is what puts your site on the open web at your own zitegen.app subdomain. When you publish to production, Zitegen runs a real Astro build — the same astro build you'd run locally — and deploys the output to fast global hosting.

Development vs. Production

The Publish button in the editor opens a Choose publish destination dialog with two options you can publish to together or one at a time:

  • Development — a preview at a stable URL, for checking your work or sharing a draft before it's final. It runs the same real Astro build as Production, just deployed to its own address: preview-yoursite.zitegen.app instead of yoursite.zitegen.app. Search engines and AI crawlers are always blocked here — this address is for you, not for search results — regardless of the AI crawler policy set for Production.
  • Production — the live site. Same build as Development, deployed to the address the public sees.

Why a publish can take a minute or two

Both destinations run a real astro build — installing dependencies and compiling your site from scratch, the same as running it locally. That's the trade for output that exactly matches a standalone Astro project. Publishing to both destinations at once builds them independently, so it doesn't take twice as long.

Publish your site

  1. 1

    Open the publish dialog

    In the site editor's toolbar, choose Publish. The destination dialog opens with Development and Production both selected by default.

  2. 2

    Pick your destinations and confirm

    Leave both on for a full publish, or uncheck one. Choose Publish to selected and the build runs in the background — you can keep working while it does.

  3. 3

    Watch it go live

    The status moves from Publishing… to Live when the deploy finishes. Your production site is then reachable at its zitegen.app subdomain. Publish again any time you want to push new changes.

The “Built with Zitegen” badge

Sites published on the free plan carry a small “Built with Zitegen” badge. Paid plans can switch it off in the site's settings. Either way, the badge only ever appears on the deployed site — it's injected at build time, never written into your source.

Your code is always badge-free

Downloading your site's Astro source gives you a clean project with no badge, on every plan. The badge is a hosting-time addition, not part of what you own.

Point a custom domain at it

A zitegen.app subdomain is yours the moment you publish, but you can put the site on your own domain too. Open the Site Domains tab in the editor, add your domain, and follow the prompt to create a CNAME record with your registrar. SSL is issued automatically once the record verifies, so the site is served over HTTPS with no extra setup.

Connecting a root domain (e.g. example.com, not www.example.com)

Standard DNS doesn't allow a CNAME record directly on a bare root domain — only on a subdomain. If you're connecting a root domain, Site Domains detects this and shows the right option for you: a root-level CNAME if your DNS is hosted on Cloudflare (it flattens automatically), an ALIAS/ANAME record if your provider supports one (Namecheap, DNSimple, Route 53, and others do), or a one-click switch to www.yourdomain.com with forwarding from the root.

Removing a connected domain now asks you to confirm first — it explains exactly what happens (visitors fall back to your zitegen.app URL immediately, and reconnecting later means verifying the DNS record again) before anything changes. A Refresh status button on the Site Domains tab re-checks verification and SSL status on demand, without reloading the page.

Where domains live

Each site connects its own domain from the Site Domains tab. Custom domains and SSL are available on paid plans — see pricing for what each tier includes.

Renaming your project's URL

Every site gets a URL slug when it's first created — this is what shows up in your zitegen.app and pages.dev addresses (for example my-project-a1b2c3.zitegen.app). If you renamed your site after creation and want the URL to match, open Site Domains and use Project URL → Edit to change it.

This is disruptive — read before clicking

Changing your project URL deletes and recreates the underlying hosting project under the new name. Your site goes offline until you publish again, every existing link to the old URL stops working permanently, and a connected custom domain is disconnected (you'll need to reconnect it afterward). If you're planning to connect a custom domain, rename your project URL first — otherwise you'll redo the DNS setup under the new URL.