Build a website

Start from a starter, change the words and pictures on the real page, and add blocks. It saves as you go.

Halo CMS builds your organization's public website, using the same logo, images and data as Halo Data. Open it from the product switcher at the foot of the sidebar. For more, see forms and search.

Start a website

Choose New website, then a starter. A starter is a complete website with sample words and pictures, which is quicker to change than an empty page is to fill. Blank is there if you'd rather start from nothing. Generate with Halo drafts one from a description under "What's this website for?", if your organization has that switched on. It uses AI credits, a lot for a whole website.

Your plan sets how many websites your organization can keep, and Halo says so if you try to create one more. See usage and limits.

Change a page

Open a page and you get three panes:

  • Blocks on the left: the page's parts, in order.

  • The page in the middle. It's the real one, drawn the way readers will get it, so there's no separate preview to compare against.

  • The chosen block's settings on the right.

Click anything on the page to choose its block. The page changes as you type.

It saves as you go, and the top of the page says so. Saving never reaches readers: they get what you've published, and nothing else.

Several people can edit one page at once. Everyone on a page sees each other's changes as they're made, and the list of blocks shows who's working on which. Whoever made the latest change saves it, for everyone. If your connection drops, the top of the page says Not connected, and your changes go out when you're back. Changing a page's address is its own step, and everyone's page follows it.

An entry can be edited together too. Everyone with it open sees each other's changes field by field, and who's on each field. Save entry saves everyone's changes, and Cancel takes back only yours.

The website's settings work the same way: each section shows who's in it, Save changes saves everyone's, and Discard takes back only yours.

So do a collection's fields and page layout, as pages do. Renaming a collection is its own step.

If something saves over your work from outside the editor, such as an integration, Halo tells you who, and shows you what they changed before you decide whose version to keep.

Undo takes back one change at a time, and only yours, never a colleague's. Quick typing in one field counts as one change. Use the buttons, or Ctrl+Z and Ctrl+Shift+Z (⌘Z and ⇧⌘Z on a Mac).

Blocks

Choose Add a block and search or browse. A block goes after the one you've chosen. To put blocks in a different order, drag one by its handle, or focus the handle, press Enter, and use the arrow keys.

Every block can wear a tone, one of the website's color schemes. Tones are set under Settings, and changing one changes every block wearing it. That's why there's no color picker on each block: a website stays consistent however many people work on it.

Writing text. A block's text, and an entry's long fields, have a formatting bar: a heading and a subheading, quotes, bold, italics, code, lists and links. Typing ## starts a heading, > a quote and - a list, and Ctrl+B, Ctrl+I and Ctrl+K (⌘ on a Mac) do bold, italics and a link. A link can go to one of the website's pages, offered as you type, to another website, to an email address or to a phone number.

A Table block's rows are written in a grid under its columns, or filled from a collection or from Halo. Removing or moving a column takes what's under it along.

If a save is refused, the page says which field and why, and your changes stay on the page until it's fixed.

Collections

A collection is a kind of content with its own fields, such as places, events or team members. You write each entry once, and blocks can list them anywhere.

  • Entries are the items themselves.

  • Fields are what each entry holds. A field that already has values keeps its key, because entries store their values under it. Add a new field and remove the old one instead.

  • Page layout is the page each entry gets, if the collection has an address. Blocks here can read an entry's fields, so {title} shows its title and {summary} its summary.

An entry's picture is the collection's first Image field. It shows on cards, at the top of the entry's page, and when someone shares a link to it. With more than one Image field, choose which a list of cards shows under Picture on its block.

Cards from a collection can choose what order they're in and which field fills each part: the title, the small line above it, the text, and the bottom corners. A Table from a collection chooses a field for each column.

Settings says what the whole website is called in search results, its language, the picture a shared link shows, and the links in the footer. A page's own settings can say otherwise for that page, and a collection's Fields tab does the same for its entries' pages, where a title or description can read an entry with {title}.

The language is a code such as en, es or fr-CA. Screen readers use it to pronounce your pages, and search engines to show them to the right people.

Who can do what

Viewing a website, editing it and its settings, publishing it, managing it (creating and deleting websites and connecting domains) and reading form responses are separate permissions. See roles and permissions.

Moving and removing things

Moving a page. Change its address from the page's own settings, and Halo offers to send the old address to the new one, which it does from the next publish. The list is under Settings, Redirects, where you can add others.

Moving an entry or a collection. Changing an entry's address, or where a collection's pages live, doesn't add redirects, and Halo says so when you do it. Links to the old addresses stop working with the next publish, so add a redirect if people use them.

A collection's name and the collection itself are under its Fields tab. A deleted collection goes to the Trash with its entries.

An entry's Goes on the website with the next publish box lets you keep one as a draft. A draft can be unfinished, but one going on the website needs its required fields.

Deleting a website is under Settings. It goes to the Trash for 30 days and comes off its addresses right away, and any preview links stop working for good. Restoring it brings back its pages and releases, off its addresses until you publish it, when it takes your Halo address if no other website is using it.

Deleting a collection Halo CRM fills says so first. Its feed waits while the collection is in the Trash and shows as paused on the CRM's Connections, picks up again if the collection is restored, and it's gone for good if the collection is.

Entries Halo CRM fills are kept by it: their title, address, whether they're on the website, and the fields its feed fills are read-only here, with a link to the listing to change them in. The other fields are the website's own. Deleting one takes that listing off the website until the entry is restored. See your directory on websites.

Your own front end

Every published website is also public JSON, so a developer can draw it however they like and use Halo only to write and publish it. It's at your website's address, under /_halo/content/: site.json, pages/{id}.json, collections/{key}.json and data.json. It has what the pages show, so it leaves out hidden blocks and how your data sources are set up.

The Halo badge

Published websites on some plans carry a small Made with Halo badge. Your plan says whether yours does, under usage and limits.