Home / Help Center / pos-app / Online Channels / Store Pages
📄 Online Channels

Store Pages

Store Pages lets you author free-form pages — About Us, Contact, FAQ, shipping/return policies, anything else — that appear on your public online store, each with a title, rich-text content, and a publish/draft toggle.

📍 Menu path: Online Channels → Store Pages
👤 Who uses it: All roles with Online Channels access

Overview

The page list shows every store page with a Published or Draft badge and its public /slug address.

Clicking New Page or the edit (pencil) icon on an existing page opens a modal with a Title field, a rich-text Content editor (bold, lists, links, etc.), and a Published checkbox.

Saving creates or updates the page and returns it — including its auto-generated URL slug — from the backend; Draft pages are saved but not shown on the public store until Published is turned on.

Before You Start

Step-by-Step Guide

1 Create a new store page

  1. Click New Page.
  2. Enter a Title (required) — e.g. "About Us", "Contact", "Shipping Policy".
  3. Write the page body in the Content rich text editor.
  4. Leave Published checked to make it live immediately, or uncheck it to save as a draft, then click Save.

2 Edit an existing page

  1. Click the pencil (edit) icon on the page row.
  2. Change the Title and/or Content as needed.
  3. Click Save to update it in place — its slug/URL does not change.

3 Publish or unpublish a page

  1. Open the page for editing and toggle the Published checkbox.
  2. Save — the badge on the list switches between Published (green) and Draft (grey) immediately.

4 Delete a page

  1. Click the trash icon on the page row and confirm the prompt.
  2. The page is permanently removed and its URL will 404 on the public store from that point on.

Every Field & Button, Explained

Field / ButtonWhat it does
New PageOpens a blank editor modal to create a store page.
Page list rowShows the page title, its Published/Draft badge, and its public /slug address.
Edit (pencil) iconOpens the same modal pre-filled with that page's existing title/content/published state.
Delete (trash) iconPermanently deletes the page after a confirmation prompt.
TitleRequired; also used by the backend to generate the page's URL slug.
ContentRich text editor (shared RichTextEditor component) for the page body.
Published checkboxControls whether the page is visible on the public online store or saved only as an internal draft.
Save / CancelSave persists the page (create or update); Cancel discards unsaved changes and closes the modal.

Tips & Best Practices

Troubleshooting & FAQ

I get a "Title is required" error and cannot save.
Every store page needs a non-empty Title — it is also used to generate the page's URL slug, so it cannot be left blank.
My page isn't showing on the public store.
Check the Published checkbox on that page — pages saved with Published unchecked stay as internal drafts and are not shown to customers.
I deleted a page by mistake.
Deletion is confirmed with a browser prompt but is not reversible from this screen — you will need to recreate the page and its content from scratch.
My edits don't seem to save.
Wait for the "Page updated"/"Page created" toast before closing the modal — the Save button is disabled while a save request is already in progress to prevent duplicate submissions.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/StorePagesPage.jsx

Backend endpoints used:

  • GET /store-content/pages
  • POST /store-content/pages
  • PUT /store-content/pages/:id
  • DELETE /store-content/pages/:id

Related tables (db-core repositories):

  • StorePage

Feature flag key: integrations (requires advanced plan tier or above)

Uses the shared RichTextEditor component (frontend-app/packages/pos-react-lib/src/components/RichTextEditor) for the Content field, the same editor used by the Blog page. Slug generation happens server-side — the frontend only sends title/content/isPublished/sortOrder and reads back whatever slug the API assigns.