Store Builder

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