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.