Skip to main content
All guides
Publishing

Ship content like you ship code

Launches rarely involve a single page. A seasonal campaign might touch the home page, a dozen product pages, the navigation, and a pricing sheet, in six languages, all at 9:00 AM on a Monday. Root.js is designed for that moment.

The publish dialog in the Root.js CMS, showing a scheduled publish time, an AI-written change summary, and passing publishing checks.

Drafts, then publish

Editing never changes the live site directly. Changes are saved to a draft, reviewed in preview, and published when ready. When publishing, editors can compare the draft to what is live, and add a short message describing the change — or let Root AI write one from the differences.

Only people with an Editor or Admin role can publish, so contributors can prepare content that someone else approves.

Scheduled publishing

Pick a date and time, and the page publishes itself. There is no need for someone to be online at midnight to flip a switch, and the schedule is visible to the whole team in the doc’s status.

Releases: launch everything at once

A release groups many docs, and data such as a pricing spreadsheet, so they go live together. Teams build the release over days or weeks, preview it, and then publish it in one step or schedule it for launch time. Nothing in the release leaks out early, and nothing is left behind.

The Releases page in the Root.js CMS, listing scheduled, published, and archived releases that bundle docs and data sources.
Releases for upcoming launches, each bundling docs and data sources with an owner and a publish time.

Checks before anything goes live

Publishing checks run automatically when someone publishes. A built-in check flags missing translations, and developers can add checks for anything your organization cares about: broken links, missing image descriptions, legal copy, SEO rules. Each check can block publishing or simply warn, so teams move fast without skipping the essentials.

Every version, recoverable

The CMS keeps a version every time a doc is saved, and a tagged version every time it is published. Anyone can compare two versions side by side, restore an earlier version, or copy one into a new doc. Individual fields have their own history too, so one paragraph can be rolled back without undoing the rest of the page.

The version history of a page in the Root.js CMS, listing autosaved and published versions with who made each one, a publish message, and actions to compare, restore, or copy a version.
Version history for a page: every save and publish, who made it, and options to compare, restore, or copy.

Frequently asked questions

Can we launch a campaign across many pages at one time?
Yes. Add every doc and data source to a release and schedule it. Everything publishes together.
Who can publish?
People with the Editor or Admin role. Contributors can edit drafts but not publish them, and publishing can be locked on a doc while it is under review.
What happens if something wrong goes live?
Restore the previous published version from the version history and publish it again. Every save and publish is kept.
Can we enforce our own quality rules?
Yes. Developers add publishing checks that block or warn, and they run for every publish.
Next guideLocalization and translation
1
2
3
4
5
6
7
8
9
10
11
12
Breakpoint: