
CommerCentr Community — self-hosted store build
The same store software this marketplace runs on, packaged and ready to deploy. The download is free and complete — no trimmed features, no trial period.
Description
This is a self-hosted ecommerce platform you deploy on your own hosting: catalogue, cart, checkout and integrations are already inside. The build is the same store software this marketplace itself runs on. The download is free and complete.
Below is what is in it, where each piece is configured, and which modules from the extensions catalogue continue each block. Anything you do not need can stay switched off — the build forces no module on you.
Search, filters and faceted landing pages
Faceted search means filtering by product attributes — size, colour, brand, price — with live counts, so a shopper sees how many products remain before clicking. The engine is built in: there is no separate search service to run or pay for.
The part that matters for SEO: a combination of filters can become a standalone landing page with its own heading, intro text and meta data. Each preset carries an indexing flag and a canonical field, so you decide which combinations go into search and which stay internal — that removes the classic facet problem where thousands of near-identical URLs eat your crawl budget. Configured under Catalog → Filter presets; sidebar block order under Catalog → Filter layout.
JSON-LD: structured data for search and AI
JSON-LD is a machine-readable description of a page that search engines and AI assistants read instead of guessing meaning from markup. It is where rich snippets come from: price, availability, rating, breadcrumbs.
The markup is built in and filled automatically from page data, separately per type: home (Organization + WebSite), product (Product + Offer + AggregateRating + Review), category and facet pages (CollectionPage + ItemList), brand (Brand), news or article (NewsArticle or Article depending on kind), video (VideoObject). BreadcrumbList is added throughout. Home page data comes from Settings → site; everything else is picked up from product, category and brand records with no duplicate typing. You can go deeper with the SEO modules from the marketplace.
Canonical, hreflang and sitemap
A canonical tells search engines which address is the primary one when the same product is reachable by several paths; hreflang tells them which language version is for whom. Both are computed locale-aware rather than pasted as a string, so the language prefix is never dropped mid-journey.
The XML sitemap is generated as a static file by the Sitemap module: an administrator or cron writessitemap.xmlonce, and the web server then serves it directly with no PHP involved. On a large catalogue that is the difference between paying for every crawler visit and paying nothing.
MCP server: a store AI agents can read
MCP (Model Context Protocol) is the standard AI assistants use to reach external data sources. Instead of scraping your markup, an assistant receives the catalogue as structured data.
The build ships an MCP server with seven read-only tools: product search, product detail, category list and category page, brand list and brand detail, and facet listing. Writing is not exposed at all — an agent cannot change anything in your store. Entry point:POST /mcp/catalog.
llms.txt: a short brief for the assistant
MCP answers an agent's request. But first the agent has to find you and understand what you sell at all. That is what llms.txt is for — a standard (llmstxt.org) doing for AI roughly whatrobots.txtdid for crawlers: it puts a short, plain-language orientation file at the root of your site.
It is a curated summary, not a catalogue dump — listing every product is the sitemap's job, and duplicating it serves nobody. The file carries: your store name and description, a pointer to your MCP catalogue, top categories, curated faceted landing pages and your policy pages. With several languages, the versions cross-link to each other so an agent does not mix language branches.
The file is static: a daily cron writes it and the web server serves it directly, with no PHP involved — same as the sitemap. What goes into it is your choice: categories, facets and articles are ticked in the plugin settings (the ⚙ icon in the Plugins section).
Together they form a pair:llms.txtis the signpost, MCP is the door. An assistant reads the first to learn where to go, and calls the second to get the data. The rest of this direction lives in the AI modules.
Performance: code, cache and images
The client-side code is plain JavaScript: no jQuery, no bundler, no npm. There is nopackage.jsonin the project, so there is no build step either — files are served as they are. That removes a whole class of dependency-update problems and keeps the code readable for your own developer.
Hot paths are cached with different lifetimes per data type: the category tree lives long, product listings briefly, so stock is not shown stale. Redis is supported but not required.
Images are served as AVIF and WebP with JPEG/PNG fallback, density-aware, through<picture>.
Web Vitals: why the page does not jump
Core Web Vitals are Google's metrics affecting both ranking and conversion. The two that hurt most: LCP (when the main element appears) and CLS (how much content shifts while loading).
The first hero slide is the LCP element, so it gets apreloadhint in<head>and high fetch priority, while the rest of the images load lazily. Image dimensions come from presets ahead of time, so space is reserved before the file arrives — which is exactly what removes layout shift.
Image presets per block
Rather than one size for everything, each surface has its own preset: hero slider, product card in the grid, main product photo, category tile, recommended block. Each has three breakpoints — mobile, tablet, desktop — with their own dimensions and crop mode.
Base values live in config, and your admin changes are written as a separate diff on top — so updating the build does not wipe your settings. Configurator: System → Image presets.
Extended SEO settings
Meta title, description and a custom slug are set separately for a product, category, brand, article and filter preset — and separately per language. URL prefixes for products, categories and news are configurable rather than hard-coded, so you can match a structure that is already indexed. Section: Catalog → Catalog SEO, plus SEO fields on each entity form.
Cart, checkout and payment
The cart works for guests — no account needed to add a product. Then comes checkout, and that is where an order is either completed or lost.
Card payments. Two Ukrainian gateways ship with the build: LiqPay (LiqPay Checkout, API v3) and monobank (monobank Acquiring — one token to enable). Both return a confirmation the store uses to mark the order paid on its own. More in the payment modules.
Shipping.Nova Poshta, Ukrposhta and Meest follow one model: checkout reads a local branch database rather than calling the carrier API on every keystroke. The practical effect is that a customer picks a branch even while the carrier service is down, and completes the order instead of leaving. Ukrposhta is backed by the Address Classifier, the carrier's official address directory. All options: shipping modules.
Fiscal receipts.Checkbox registers a receipt per order automatically, with no separate application and no manual entry of amounts. Related: fiscalisation.
Five storefront themes
Five ready vertical themes ship with the build: fashion, rugs, food, furniture, books. It is not only colours — different verticals present the product card and listing differently. Switched under Settings → Appearance, with no template editing.
The small storefront elements that move behaviour most are separate modules: the trust bar under the banner, product badges, "buy two, get three" promotions and email subscription with a coupon. Together with the rest: marketing modules.
Built-in analytics
The build runs its own analytics on your server: events are collected from the storefront into your database, and the summary appears in the admin panel. Data does not travel to a third party, and the page pulls no external counter — that is both a privacy and a speed decision. External systems can still be added if you want them.
Social sign-in for customers
Registration and sign-in via Google, Facebook or GitHub, alongside ordinary email and password. Each provider is enabled separately: with no keys configured, the button simply does not appear.
Admin panel: permissions, menu, two-factor sign-in
Roles and permissions are granular: you can give a content manager the catalogue and articles without opening finance or system sections. The permission gate checks access on the server, not by hiding a menu item.
Admin sign-in can be protected with two-factor authentication using the TOTP standard — the same one Google Authenticator and similar apps use.
The storefront menu is assembled in the admin panel: items, nesting, blocks — CMS → Menu, no template editing.
Security
Forms are protected with CSRF tokens, in a stricter mode for sensitive actions, plus a bot honeypot. Database queries use prepared statements with bound parameters — which is what closes SQL injection. Permissions are checked by a gate on every request, not only in the interface.
Reviews, cookies and market compliance
Reviews are moderated: the customer submits, the administrator publishes, and published ones feed the rating markup. A cookie consent banner is built into the layout.
The compliance module adds GPSR (EU), UKCA (UK) and Prop 65 (US) fields — and shows them only for the markets you have enabled. For the EU it also acts as a gate: a product missing required data does not reach the listing. Related: compliance modules.
Who it fits
If you want an ecommerce platform for a small business without a monthly subscription, this covers it: the licence is perpetual, the code and the data are yours, and there is no fee for the right to keep using what you already installed.
If you are a developer weighing an open source ecommerce platform for a client, you get the same code that runs this marketplace in production — readable and editable. Other builds and versions: CMS & builds.
Compared with hosted services
Unlike a typical Shopify plan, nothing here is rented: no platform commission on your sales, no plan gate on features, and no data hostage if you stop paying. In exchange you take on hosting and updates yourself — that trade is the whole point, and it does not suit everyone.
Why two buttons
Both give you exactly the same thing. Contributing is voluntary, unlocks nothing extra and changes nothing — it simply goes towards the platform's development.
Updates
They arrive from the marketplace separately from this build: you update when you decide to, not when an old version gets switched off.
An honest limit
This is a build, not a turnkey store: the domain, the hosting, the catalogue content and the copy are yours to bring. Speed also depends on your hosting — code does not compensate for a slow server. Ukrainian fiscal rules in particular depend on your tax setup: check checkbox.ua and tax.gov.ua. We ship the integration, not a legal guarantee.
Videos
Reviews
No reviews yet — be the first.