How to let a client update their own website without breaking the design
Separate what changes from what doesn't. The layout, headings and design stay as you built them; the content that changes every week or month (menu items, news posts, projects, team members, events) goes into a structured list the client edits like a form. They can't break a page by adding a dish, and you don't get an email every time the soup changes.
Find the content that really changes
Sit down with the client and go through the site section by section, asking one question: how often does this change, and who changes it? Most sites split cleanly.
| Content | Changes | Best home |
|---|---|---|
| Headline, about text, services overview | Once or twice a year | The page itself, edited by you or in a visual editor |
| Menu, price list, class timetable | Weekly to monthly | A collection |
| News, offers, announcements | Whenever there's news | A collection with a date field |
| Projects, portfolio pieces, case studies | Every few weeks | A collection with an image field |
| Team members | When people join or leave | A collection |
| Opening hours | Seasonally | The page, with a reminder to check |
Anything in the "collection" column is a list of similar items with the same parts. That's the signal: if you can describe one item as a set of fields (name, price, description, photo), it belongs in a collection.
Design the fields like a form
The client will see each field as a box to fill in, so design them for the person, not the database.
- Use the client's words for labels: "Dish", "Price", "Allergens", not "title", "amount", "meta".
- Mark only the essentials as required. A required photo on every news post means posts that never get written.
- Pick the narrowest type: a number for prices, a date for events, so a typo can't turn a price into text.
- Keep rich text for the one long field, such as a post's body, where headings and links are useful.
- Leave out fields nobody fills. Each empty optional field is a question the client has to think about.
Set it up with Anticode collections
- Open the project in the dashboard and choose Create collection. The data page lists the project's Collections down the side.
- Pick a starting point under Start from: Blog posts, Team or Products each come with suitable fields, and Just a title starts almost blank.
- Adjust the fields. Each has a label, a key and a type: text, rich text in Markdown, number, date, image URL, or a reference to another collection. Tick Required only where it matters.
- Add two or three real entries yourself, so the client has examples to copy.
- Check the published pages. A collection is served as
/<collection>/, and each entry at/<collection>/<slug>on the site, so news posts or projects get their own addresses. - Show the client how to add, edit and delete an entry, then watch them do one without help.
Rich text fields take Markdown (bold, italics, links, lists and headings), and scripts or HTML typed into them are shown as plain text, so pasted code can't change the page. Image fields take an image address rather than an upload. App builds can read collections too, read-only, so a menu app or a portfolio app shows the same entries.
Hand over the rest of the editing
For occasional wording changes outside collections, Anticode's visual editor edits text in place, and Simple mode shows just the preview and visual editing, without the code and report tabs. Version history keeps the most recent saves, up to a number set by the plan, as versions you can preview and restore, which takes the fear out of a client's first edit. Write a one-page guide for the client covering where to log in, how to add each type of entry, what not to touch, and who to ask. The website handover checklist covers the rest of the handover.
Common mistakes
- Making everything editable. Clients rarely want to edit the layout; giving them the option mostly gives them ways to break it.
- One giant rich-text field per page. It's flexible for a week and inconsistent for ever after.
- No examples. An empty collection is intimidating; two good entries teach the format.
- Forgetting who owns the account. Projects can't be transferred between separate Anticode accounts, so decide at the start whose account the site lives in.
Questions people ask
What is a CMS collection?
A list of items with the same fields, such as menu dishes or news posts. The site's design decides how they look; the client only fills in the fields.
How do I stop a client breaking their website?
Give them collections for the content that changes and keep the layout out of their way. Version history means any mistake on the page can be rolled back.
Can my client post news on their website?
Yes, as entries in a news collection with a title, date and body. Each post gets its own page under the collection's address.