Features · Storefront
Set the shop’s look in the panel, and the storefront draws it
GoCommerce keeps each store’s home page, page templates, header, footer and theme settings, edited in its panel with the live storefront beside the editor. Svelte Commerce draws them through @misiki/gocommerce-connector. Each tile names the connector release that brought it. Where Svelte Commerce draws something only on its gocomm branch, not yet merged into main, the tile or its group says so. The last end-to-end test of the pair ran on 28 October 2026 with version 0.14.0.
- 0 deployments to publish a change
- 1 renderer: the editor frames the real storefront
- 0.16.0 the connector release that carries all of it
Pages the shop arranges
ext/layouts, installed with -layouts. Its Theme editor plugin is on for every store from the start; switched off, the storefront draws its built-in pages.
-
A home page built from sections
Announcement bar, hero, product grid, picture beside words, text, benefits strip, slideshow, collection list, video, newsletter sign-up, questions and answers, and columns: any of them, any number of times, in any order. A product grid shows a collection, products the shop picks or the newest products. Connector 0.6.0 brought the page, and 0.8.0 the slideshow and the five types after it.
ext/layouts/registry.go · Sections -
Saved as you go, with the storefront beside it
Every edit saves itself, with undo, redo and Reset back to what is published. On a computer the editor frames the store’s own storefront, draws each edit there before it is saved and opens the section clicked in it. Each publish is a revision, and rolling back publishes an earlier one again.
admin/src/lib/components/PageEditor.svelte · ext/layouts/layouts.go -
Product and collection templates
One product page and one collection page per store, drawn for every product and every collection. The shop moves the core (the gallery, price and buy box, or the grid) and arranges sections around it, such as reviews, related products and suggestions. Connector 0.9.0.
ext/layouts/registry.go · Pages -
Publish at a time
Any page’s saved draft can be set to publish at a time up to a year ahead, exactly as it was when the time was set. Publishing by hand in the meantime leaves the schedule alone, so fixing a typo today does not call off a page set for Friday.
ext/layouts/schedule.go -
A starting home page with pictures
Until a shop publishes its own, the storefront shows the starting page: a hero on a colour block, four tiles, the newest products, a picture beside words and the benefits strip, with the pictures built into the engine and yellow buttons with near-black words. Svelte Commerce draws its bold look on the gocomm branch.
ext/layouts/http.go · Starter -
An icon for each benefit
Each item on the benefits strip can carry an icon from a fixed set, such as delivery, returns, secure payment or cash on delivery, drawn in the storefront’s own line style. Carried since connector 0.6.0; Svelte Commerce draws the icons on its gocomm branch.
ext/layouts/registry.go · BenefitIcons
Theme settings
Saved, previewed and published with the home page, and applied to every page the storefront draws. An unset one keeps the storefront’s own look. All of them reach Svelte Commerce from connector 0.8.0; its main branch draws the colours, fonts, corners and picture shape, and its gocomm branch the text, card, list and product page settings.
-
Colours, fonts and corners
Background, text, buttons, text on buttons and quiet backgrounds as #rrggbb, heading and body fonts from a fixed list of Google fonts, and corners from none to large. The editor warns, and still saves, when a pair of colours reads below 4.5:1.
ext/layouts/registry.go · ThemeSettings -
Picture shape and fit
Product pictures in lists square, portrait (3:4), tall (2:3) or landscape (4:3), either cropped to fill the frame or shown whole.
ext/layouts/registry.go · product_image_ratio -
Text size, weight and spacing
Text at 14, 16 or 18px, headings from medium to extra bold, compact, comfortable or spacious room around sections, cards and lists, and a colour for savings and offers.
ext/layouts/registry.go · type_scale -
Product cards
What each card shows: a badge on the picture, the brand line, one or two title lines, the star rating when there are reviews, % off when there is a compare-at price, the wishlist button, quick add and a second picture on hover.
ext/layouts/registry.go · card_badge -
Product lists
One or two products across on a phone and three to five on a computer, sub-category pictures, quick filter chips, filters beside the products or in a drawer, and a sort and filter bar on phones.
ext/layouts/registry.go · list_columns_mobile -
The product page
A buy button that stays on screen on phones, pictures one at a time or in a grid, highlights as a grid, a delivery check by PIN code, “only N left” from a number the shop picks, and a link to its size guide.
ext/layouts/registry.go · pdp_sticky_buy -
Match to logo
One button reads the store’s logo in the browser and offers palettes from its colours: the accent, black or white text that reads on it at 4.5:1, and a pale tint. It calls no AI model, and a palette is an ordinary edit until the shop publishes.
admin/src/lib/logo-palette.js
Finding and showing products
Svelte Commerce’s main branch draws these with the connector release named, except the badge, which it draws on its gocomm branch.
-
Typo-tolerant search
With -meilisearch installed and a store’s Meilisearch plugin switched on, a shopper’s words are searched in the store’s own index, so a misspelt word still finds the product. The database answers when the index cannot, and still supplies the filters beside the hits. Connector 0.14.0.
ext/search-meilisearch/meilisearch.go -
Filters with real countsPartial
The listing counts its own filters over every matching product, not one page: tags, brand, product type, category, category attributes and the price range, each group counted with every other choice applied but its own. Connector 0.10.0. Missing: filters on variant options such as size.
core/catalog_facets.go -
Pictures at the size shownPartial
The engine resizes a store’s pictures to the width the storefront asks for and keeps each size, so a small card downloads a small picture. Connector 0.15.0 asks for them, not yet run end to end. Missing: pictures in home page sections and banners, which load at full size.
core/images.go -
A badge on each productPartial
One line of up to 24 characters, typed in the product editor and shown on the product’s picture wherever the theme’s card badge is set to it, as it is for new stores. Connector 0.8.0. Missing: the product CSV does not carry it.
core/product_extras.go · MetaBadge
Not in GoCommerce yet
Named here so nobody has to find out at launch. Each is absent from the code; the last is absent by design.
- Other themesOne theme, the storefront’s default. No theme families and no theme store.
- A layout per productOne product template draws every product.
- Arranging other pagesCategory listings, content pages, the basket and checkout keep the storefront’s own layout.
- Your own fontsHeadings and text use fonts from a fixed list of Google fonts; a shop cannot upload one.
- Moving the logo, search or basketThe header’s words, links and menu are the shop’s; where the logo, search, account and basket sit is the storefront’s.
- Your own HTML, CSS or scriptsEvery setting is a plain value, so nothing a shop types reaches the storefront as markup, style or script.
FAQ
Questions about storefront and themes
Do I need a developer to change how my shop looks?
No, once the storefront is running. The home page, the product and collection templates, the header, the footer and the theme settings are edited and published in GoCommerce’s panel, with no deployment. Svelte Commerce draws what is published.
Which storefront draws these settings?
Svelte Commerce, through @misiki/gocommerce-connector. GoCommerce serves the published pages and settings on public routes under /x/layouts, so another storefront could read them, but it would have to draw them itself. Svelte Commerce draws the newer settings on its gocomm branch so far.
Can I see a change before shoppers do?
Yes. On a computer the editor shows your storefront beside the settings and draws each edit there before it is saved, and a preview link shows the draft for 30 minutes. Shoppers see nothing until you publish, or until a time you scheduled.
Can a theme change my prices or stock?
No. A page names collections and products, never their prices or stock, so a shopper always sees the catalogue’s own figures. Settings are plain values, so nothing typed in the editor reaches the storefront as code.
Can I undo a published change?
Yes. Every publish is kept as a revision, and rolling back publishes an earlier one again. Reset throws away edits that are not published yet.
Read the code behind every tile
Each file named on this page is in the GoCommerce repository, MIT licensed. Run it and check.