Deploying a website: what happens between "publish" and "live"

You approve a change and minutes later it is live. The six steps in between, and how they keep visitors from ever seeing a half-finished site.

3 minread 733words last updated

The short answer

You approve a change, and a few minutes later it is live. In between, six things happen: the change is committed with an author and a message; a clean build server installs everything and builds the whole site; automated checks run and stop the process if anything fails; the result is uploaded as a new, numbered version that never overwrites the old one; traffic is switched to the new version in a single atomic step; and edge caches drop their old copies. If any step fails, visitors keep seeing the previous version. Every version is kept, so going back is the same switch in the other direction.

Diagram: six boxes in a row, commit, build, checks, upload, switch and refresh, with typical durations from seconds to a few minutes, a note that a failed check stops the process, and a footer explaining that visitors never see a half-deployed site and that every version is kept for rollback.
Six steps, a few minutes. If any step fails, the old version keeps serving.

The six steps

StepWhat happensWhy it exists
1. CommitThe change is saved in version control with who, when and whyA complete history; nothing changes anonymously
2. BuildA clean server installs dependencies and builds the entire siteThe result is complete and reproducible, not dependent on someone’s laptop
3. ChecksTypes, schema, links, tests, whatever the project definesA broken build never reaches visitors
4. UploadThe built files become a new immutable version with its own addressNothing is overwritten; every version can be inspected and restored
5. SwitchProduction traffic moves to the new version in one stepVisitors see the old site or the new site, never a mix
6. RefreshEdge caches invalidate the old copiesThe new version is what the network serves everywhere within seconds

Why the old way broke sites

  1. Files copied onto a running server meant visitors could load a page whose stylesheet had been replaced but whose HTML had not, for the seconds or minutes the copy took.
  2. No clean build meant the site depended on whatever was installed on the server, and a server change broke it.
  3. No checks meant a typo in a template took the site down the moment the file landed.
  4. Overwriting meant the previous version was gone; recovery was a backup restore, if the backup was recent.
  5. No history meant nobody knew what changed, when or by whom.

What you notice

Very little, which is the point. A preview link when a change is proposed. A note that it is live a few minutes after approval. In the rare case where something slipped through, a rollback within a minute and an explanation afterwards. The machinery is there so that publishing a change to your website is as unremarkable as saving a document.

What this means for you

Between “publish” and “live” is a short, deliberate sequence that guarantees visitors only ever see a complete, checked version of your site, and that any version can be brought back in seconds. It costs a few minutes per change and removes the way websites used to break. If your site is still updated by copying files, that is the first thing to change.

Written by the CivSec S.M.A.R.T team

We build and run websites, software and AI systems for businesses. We write about what we see in that work, in plain language, and we update articles when things change.

Last checked . Spotted something outdated? Tell us.

Frequently asked questions

Why does a deploy take a few minutes for a one-word change?

Because the whole site is rebuilt from scratch on a clean server and checked, so that the version going live is complete and consistent, not a live server with one file swapped. The minutes buy the guarantee that what you approved is exactly what visitors get, with a version to go back to.

Can visitors see a broken page during the switch?

Not on a platform with atomic deploys. Traffic points at the complete old version until the complete new version is ready, then switches in one step. Visitors get one or the other, never a mixture. Copying files onto a running server, the old way, is where half-updated pages came from.

What is the difference between a deploy and a release?

A deploy puts a version onto the infrastructure. A release makes it the one visitors see. On modern platforms every change is deployed to a preview link; only approved ones are released to production. The two words separate testing from publishing.

Sources

  1. Vercel documentation: Deployments (accessed 2026-09-11)