Skip to content

Publishing + drafts

Publishing on the Website Builder happens at two levels: the site as a whole, and each page individually. Both have to be "on" for a visitor to see a given page. This article walks through how the two flags interact, how to share previews while you're still drafting, and how to roll a page back when something goes wrong.

Publish toggle in the header

The two switches

1. The site is live

In the top-right of the Website Builder you'll see a green Published button when the site is live, or an outlined Publish Site button when it isn't. Click it to toggle.

When the site is off:

  • Every URL on your public site returns a "This site isn't published yet" page, including pages that are individually published.
  • The donation form at /give and the visitor form at /visitor still work (they don't depend on the site being live).
  • The admin interface and previews still work — you're not locked out of your own work.

When the site is on:

  • The homepage and every published page render normally.
  • Drafts (per-page) still return the placeholder.

The site flag is the master switch. Use it when you're setting up for the first time and don't want anyone landing on a half-built site, or when you need to pull the entire public site down briefly.

2. Each page is published (or a draft)

Every page has its own published flag, shown as a badge in the Pages tab.

  • Published — the page is visible at its URL once the site is also live.
  • Draft — the page returns a "page not found" to logged-out visitors, even when the site is live. Logged-in admins can still hit the URL.

You toggle this from the Pages tab — click the badge or use the row's action menu. Newly created pages always default to draft.

The mental model: the site flag is the front door, the page flag is the door to each room. Both have to be open for a visitor to step in.

Sharing a preview before publishing

Two ways:

View live site

If the site is live, the View site link in the header opens your site at app.geniuschurchmanager.com/s/{your-slug} in a new tab. The copy button next to it copies the URL — share it with your team to walk through the finished site.

Preview a single page

In the Pages tab, the eye icon on each row opens that specific page in a new tab. The URL is the public URL — but if the page is a draft, only logged-in admins will see content. Visitors hitting that URL get a 404.

If you want to share a draft with someone who isn't an admin (a deacon reviewing a sermon notes page, a designer reviewing layout), the cleanest path is to publish the page temporarily, share the link, then unpublish — or, easier, leave the site as a whole on draft and only invite reviewers as admins.

There's no signed "preview link" feature today — drafts are admin-only or nothing. Scheduled link sharing is on the roadmap.

Scheduled publishing

Pages and content (blog posts, sermons) all carry a published_at timestamp. When you mark something published, it defaults to "now," but you can set a future date. The page itself flips to Published, but the public site won't render it until the date passes.

The way to use this for a Sunday-morning sermon drop:

  1. Finish your sermon record on Friday.
  2. Set the Published at date to Sunday 10:00 AM.
  3. Toggle to published.
  4. The sermon appears in the Sermon feed at exactly 10:00 AM Sunday — no manual click needed.

Same pattern works for blog posts and pages, though most teams don't bother scheduling pages.

TIP

The schedule honours your organisation's timezone (set under Settings → Organisation). Double-check it's right before you schedule the first one — if it's wrong, everything will publish at the wrong hour.

Autosave vs publish

The Puck editor autosaves your work every three seconds. Autosave updates the draft copy — it does not flip the publish flag. So you can keep editing a published page; visitors continue to see the old version until you save and the latest puck data is rendered. (Pages don't have a separate draft-vs-live snapshot today — the publish flag controls whether the page is reachable at all, not which version of the content is shown.)

In practice that means: edits to a published page go live as soon as autosave fires. If you need to make significant changes without visitors seeing the half-finished work, unpublish the page, edit, then republish.

Rolling back

There's no built-in version history in the editor today. The recommended pattern:

  1. Before a big change, click More → Export in the Puck toolbar (top-right). This downloads the page's JSON.
  2. Make your changes, autosave goes brrr.
  3. If you need to revert, click More → Import and re-upload the JSON.

For day-to-day undo, the editor toolbar has standard undo/redo (Ctrl/Cmd-Z), but those don't survive a page reload.

Versioning + one-click rollback is on the roadmap.

What about blog posts and sermons?

Blog posts and sermons have their own published flag, separate from pages and from the site as a whole. The hierarchy is:

SurfaceHas its own publish flag?
Site (org_sites.is_live)Yes — master switch
Page (site_pages.is_published)Yes — per page
Blog post (blog_posts.is_published)Yes — per post
Sermon (site_sermons.is_published)Yes — per sermon

A draft sermon doesn't appear in the Sermon feed block. A draft blog post doesn't appear in the Blog feed block. Both can be previewed by admins at their direct URL.

Quick checklist before going live for the first time

  • [ ] Homepage exists and is marked as homepage.
  • [ ] Header logo, favicon, primary colour set in Branding.
  • [ ] Navigation menu has 5–7 items in the right order (Navigation menu).
  • [ ] Contact and Give links work.
  • [ ] Service times / location are accurate.
  • [ ] SEO title and description set under Settings → SEO.
  • [ ] Custom domain pointed and verified (Custom domain) if applicable.
  • [ ] All pages you want public are flipped from Draft to Published.
  • [ ] Click the Publish Site button in the header.

That's the launch. Welcome to the open web.

See also: Website Builder overview, Creating a page, Custom domain.