# Headless CMS or website builder?

> A builder, if nobody is going to write code for you. A headless CMS, when somebody builds the site and you want to change the words yourself afterwards.

- A builder is the design, the hosting and the editing in one place.
- A headless CMS keeps the content, and your website reads it through an API.
- Headless needs somebody to build the website, once.

## Two ways to run a website

A **website builder** is the design, the hosting and the editing in one place.
You choose a template, change it on the page itself, and press publish.

A **headless CMS** keeps only the content: the headlines, the prices, the
opening times, the paragraphs. The website is built separately, usually by a
developer, and reads the content through an API. "Headless" means the content
comes without a website attached to it.

## When a builder is the right answer

- Nobody is going to write code for you, now or later.
- A template close to what you want exists, and the rest is words and pictures.
- You want one bill, one login and nothing to look after.

If that is you, a builder is quicker, and a headless CMS is more than you need.

## When a headless CMS is

- **Somebody builds the site**: a developer, an agency, or you.
- **The design has to be exactly yours**, and stay that way when the words change.
- **The site does more than show pages**: bookings and payments on the same
  website, read from the same backend.
- **The site lives wherever its developer likes**, built with whatever they
  like, because the content does not care what shows it.

## What going headless costs

- **Somebody has to build the website**, once, and look after it. Changing the
  words afterwards takes no code.
- **The design's own pictures stay with the website.** A photo the owner
  changes goes in the website's image library, and an image field on a page
  picks it. A background or an icon drawn into the layout is part of the
  design, kept wherever its developer keeps files.
- **Seeing a draft takes a second copy of the website.** A live key reads only
  what is published, so the live site shows a change once it is published. A
  copy built with a test key reads every page as its draft was last saved, and
  shows the change in the real design first. Publishing keeps a version, and
  the last 100 of each page can be brought back.

## How BackendFree does it

Pages are made of typed sections, read through one API with one key per
website. A new project starts with 10
section types (Hero, Text, Services, How it works, Figures, Testimonials, Pricing, FAQ, Call to action, Contact), and they are yours
to change. Publishing sends a signed `page.published` webhook, so a site that is
built ahead of time can rebuild itself.

[Content](/product/content/) has the rest, and [How to edit a site
without breaking the design](/guides/editing-without-breaking-the-design/)
is about what the person editing can and cannot change.

## Questions people ask next

### Do I need a developer for a headless CMS?

**For the website, yes.** Somebody builds it once, against the sections it will show. After that the words are changed in the dashboard, with no code.

### Where do the pictures go?

**In the website's image library.** The owner uploads them on the Media screen, and an image field on a page picks one. A background or an icon drawn into the design stays with the website.

### Can I see a draft on the website before publishing it?

**On a staging copy, yes.** A copy of the website built with a test key reads every page as its draft was last saved, while the live one shows only what is published. The last 100 versions are kept, so a mistake can be undone.

### Can I move from a builder later?

**Yes, as a rebuild.** The words can be carried across, but the design has to be built again as a website that reads them.

