# Drafts and Publish

> Every record has two versions: the draft you are editing and the one the internet can see. Publish promotes all of them at once, and never a page alone.
>
> From the MightyBuilder documentation: https://docs.mightybuilder.ai/publishing/drafts-and-publish

Every record in a site exists twice: the **draft** you are editing, and the
**published** version a visitor sees.

## The two versions

They are fully independent. The draft moves every time you or the AI changes
something; the published version moves only when you press Publish.

This applies to pages, to blocks, to collections and their items, and to the
site's own settings — the colours and fonts, the site CSS and the metadata. All of it is drafted, all of it is
published together.

## What Publish does

It takes every draft that has changed, promotes it, recompiles the site, and
writes the result out. One press, one release, everything at once.

There is no way to publish a single page, and that is a decision rather than a
missing feature: a page can embed a block, link to a sibling and depend on the
site's CSS, so sending one alone can produce a live page that is *broken* rather
than merely stale.

## One thing does not wait: status

Enabling, disabling or trashing a page, article, block or form reaches the live
site **at once**, without a Publish. Taking something down is a thing people
need now rather than after a review step.

Everything else waits — including addresses. See
[Status and trash](/pages/status-and-trash).

## The badge

Beside the button is a count of what is waiting. It compares each record's draft
with the release that is live right now, so it cannot drift: there is no separate
note of what was published to get out of step.

If it shows nothing, your drafts and the live site match.

## Publish checks before it promotes

A release is validated first, against the drafts, and refused if it would break
the site — two pages claiming one address, a redirect that loops, JavaScript
that does not parse. The site stays exactly as it was and you are told what is
wrong.

It **warns** rather than blocks on things that might be deliberate: no homepage,
a site with no pages, a CSS variable that names nothing. A validator that
blocks on taste becomes a thing people learn to fight.

## Publish history

It is the **Releases** tab of a site's **Overview**. Every release is a row: when it
went out, what changed in it, and what each page looked like. You can restore a
page from any of them, or put a single setting back, without undoing everything
else that has happened since.

Releases are kept for a year. **Page content is kept indefinitely**, which is
what makes a year of restores real.

## Preview and View live

**Preview** builds from your drafts — it is what the site *would* look like.
**View live** opens the real address, and it is only a link when something is
actually published there. If it is not a link, the reason is written beside it.
