Writing articles
Create a blog article, file it under categories, know the body is sanitised on save — and why the "Page" body type is switched off.
The blog lives under Manage → Blog. Categories are separate, under Blog Categories.
The list shows Title, Slug, Status, Categories, Published; it searches by title or slug and filters by status.
Creating an article
New article. The form has four tabs: Content, Meta, SEO, Categories.
Content
Title — required.
Slug — generated from the title if left blank, and it is the article's address. Lowercase letters, numbers and hyphens only. A clash gives you "An article with this slug already exists."
An article's slug is derived and de-duplicated. A category's slug is neither — it is required and you set it yourself, because it is a URL segment an author picks.
Summary — one line, used in listings and for SEO.
Body type — Rich text is the only option you can pick today. The other, Page (visual editor), is greyed out with "coming soon": published pages cannot yet render a body built in the page builder, so the select will not let you create an article with no body.
An article that was already saved with that type still opens, with the
warning "the article would go out with no body at all. Switch it back to Rich
text", and the list marks it No body. Through the API, writing such an
article answers 409 unsupported_body_type rather than silently deleting the
body — see The public API.
Meta
Cover image URL, Author, Status, Tags (type and press Enter).
SEO
Meta title, Meta description, Keywords — what search engines read. See SEO.
Categories
Pick the categories for the article. With none created yet, the tab says so: "No blog categories found. Create one under Blog Categories first."
Categories are managed under Blog Categories and can form a tree. A
category cannot be moved beneath its own descendant — trying gives
cycle_detected.
The body is sanitised on save
The body is sanitised as it is written: script tags and event handlers are stripped, because this content is rendered verbatim into a storefront page a shopper downloads.
The consequence: read the content back after saving rather than assuming what you pasted is what will be served. HTML pasted from elsewhere may have lost some of itself.
Where articles appear
Articles do not get an individual page you build. They use the site's template page of type Post; listings use the page of type Blog. Build those two once, and every article shares them. With no Post template, article addresses have nothing to render. See Pages and the canvas.
To put a list of articles on any page, use a list element — see Lists that fill themselves.
Deleting
Deleting an article is permanent and cannot be undone.
Through the API
GET, POST, PUT, DELETE for /api/v1/articles and
/api/v1/blog-categories, both under the blog.read / blog.write pair.
Unknown categoryIds are dropped rather than failing the whole write — compare
the response to see which stuck.
Updated 26/09/2026