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.

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
/giveand the visitor form at/visitorstill 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:
- Finish your sermon record on Friday.
- Set the Published at date to Sunday 10:00 AM.
- Toggle to published.
- 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:
- Before a big change, click More β Export in the Puck toolbar (top-right). This downloads the page's JSON.
- Make your changes, autosave goes brrr.
- 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:
| Surface | Has 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.