Introduction
Solidshop is a free, open-source e-commerce component for Joomla 6+. Self-hosted, GPL-3, no SaaS subscriptions, no platform fees, no transaction cuts, no data harvesting — just your store, running on infrastructure you control.
Solidshop — Free, self-hosted e-commerce for Joomla 6+
Short description
Long description
Solidshop is a free, open-source shopping cart for Joomla 6. It installs like any Joomla extension — no account, no licence key, no activation server, no feature gating behind a subscription. Your catalogue, customer list, and order history live in your own database, on your own server. Released under GPL-3.
Why self-hosted
Typical SaaS platforms charge a monthly fee plus a per-sale transaction cut, and they hold your data on their infrastructure. Solidshop charges nothing, takes nothing per sale, and stores everything in your Joomla database. There is no Solidshop cloud, no telemetry, no analytics beacon, and no third-party sub-processor — your install never calls home.
What's included (all free)
- Storefront home page — A Storefront home menu item, so a landing page no longer needs an empty article to sit on, and four modules to fill it: a slideshow hero that swipes and scrolls before any script runs, a category showcase grid or strip, a "Shop by brand" band built from brand logos, and a recently-viewed strip drawn from the shopper's own session — no tracking table, no profile, and nothing on the page a visitor is not allowed to see. Title, meta description, and tagline come from the store, and the page publishes Organization and WebSite structured data with a search action pointing at your product listing.
- Catalogue — Products with variants, options, brands (each with its own logo), and inventory tracking, plus curated related-product suggestions shown alongside each product. The edit form follows the product type, so a product only ever shows the tabs and defaults that apply to what it is — Physical in the box, and plugins can register their own types (the free Downloadable Products plugin adds one for digital files, delivered as token-secured links on the customer's account page). Drag-and-drop media uploads, bulk edits via CSV import/export, and a Regenerate images run — batched and resumable in the admin, or one command on the CLI — for when you change an image size after the catalogue is already full.
- Custom fields — Define your own fields with Joomla's own Custom Fields — all 19 types, validation, view levels, groups, and language assignment. Put them on products for a storefront Specifications tab and Schema.org output, at checkout for a gift message or PO number, on addresses, or per order line for engraving and personalisation. Captured answers are frozen onto the order with their labels, so renaming or deleting a field later never rewrites a placed order.
- Cart & checkout — Multi-step checkout with guest support, address book, shipping selection, and tax at order time. Mini-cart drawer, coupon field on cart and checkout, template-overridable throughout.
- Orders — Full lifecycle (order, payment, fulfillment, return status) with inline editing, batch actions, and auto-generated invoices you or the customer can download as PDF. An optional approval step gates the PDF, the customer email, and whether the customer sees the invoice at all, so nothing goes out until you say so.
- Reports — Sales by period, by product and by payment method, plus tax collected, over any date range — each exportable as CSV. Payment-scoped and per-currency, so the figures reconcile with your books.
- Dashboard — KPI cards, sales chart, top products, and customer insights in the Joomla admin, plus backlog tiles on the Joomla home page counting pending, unpaid, and unfulfilled orders — each linking to exactly the rows it counted. Plugin-extensible widgets.
- Tax — Zone-based rates by country, state, or ZIP range, snapshotted at order time so historical orders never shift when a rate changes.
- Shipping — Profiles with zones, regions, and rate tiers, attachable per product or variant. No carrier lock-in.
- Payments — Cash on delivery and bank transfer are bundled; gateway plugins install separately, and PayPal Checkout is free. Captures recorded by a gateway — inline, webhook-reconciled, or partial — read as plain language on the order's activity timeline, with the gateway transaction id underneath.
- Discounts — Automatic discounts and coupon codes, visible on the cart page before checkout begins. A discount can reduce shipping as well as line items, and tax is calculated on the discounted amount — the shopper never pays tax on money they did not spend, and the order, invoice, and reports all agree.
- Deals — Give a product a compare-at price and it is on sale everywhere at once: a Products on Sale Only menu item for a Deals page, Show / Hide / Only plus a Discount ordering on the products module, an On sale toggle in the filters panel counted like every other facet, and a Biggest discount sort on the storefront, the REST API, and the MCP catalogue tools.
- Search & SEO — Products indexed into Joomla Smart Search, a native XML sitemap, clean SEF URLs, canonical tags, Product structured data (SKU included), breadcrumbs on product and listing pages that feed Joomla's own BreadcrumbList output, Open Graph cards, and per-store SEO settings.
- Catalog API & AI discovery — A read-only REST API for products, categories, and brands, plus an MCP server that hands the same catalogue to AI assistants as five read-only tools. Guest-visible data only — no cost prices, no stock counts, no customer data — and every response carries the canonical link back to your own storefront. Public by default, or gated behind Joomla API tokens with one switch. Every store is also discoverable from its domain alone:
/llms.txtstates in plain text what the store sells, which categories and policy pages exist, and where the API, MCP endpoint, and sitemap live — rendered from your own store data, declarative rather than instructions to the agent, and switchable off. The admin dashboard flags the AI crawlers yourrobots.txtshuts out, including the ones Joomla's stock file blocks from the API. - Multilingual — One catalogue, many languages: translated product, category, option, status, and email text with per-language slugs, hreflang tags, and emails in the customer's language, falling back to your default. Solidshop's own storefront and admin text ships in 22 languages beside English.
- Currency — A currency switcher module lets shoppers read the catalogue, cart, and checkout in any published currency that has an exchange rate. Display-only by design: the order, invoice, emails, reports, and the amount actually charged all stay in your store currency, stated with the exact figure at checkout.
- Customer accounts — Joomla-user-linked profiles with order history, address book, invoices, and shareable wishlists.
- Admin quick search — One box in the administrator header. Type an order id or reference, a customer name or email, a product name, SKU, or barcode, or a discount name or coupon code, and jump straight to the record — results grouped by entity with status badges and "view all" links into the pre-filtered lists. Ctrl+K from anywhere in the admin, full keyboard and screen-reader support, and every group respects the searching user's own permissions.
- Email templates & delivery — Edit order confirmations, shipping updates, and status-change emails from the admin, without touching code. A failed send is never invisible: the Email Queue screen lists every message with its delivery status, attempt count, and last error, previews the exact body that was stored, and retries the ones that failed. Any order confirmation can be re-sent from the order screen, re-rendered from the order's current state so address and template fixes are picked up.
- Modules — Slideshow, Categories, Brands, Recently Viewed, Cart (with mini-cart drawer), Products, Search, Filters (category, brand, price, rating, tags, on sale), Currency switcher, and Language switcher on the storefront; quick search in the administrator. Below a width you choose, the filters panel folds into an off-canvas drawer behind a Filters button on the listing toolbar — filters still apply live, and the button counts the active ones.
- Accessibility & dark mode — WCAG 2.1 AA storefront and admin: semantic landmarks, ARIA, full keyboard navigation, visible focus states, RTL support, and a contrast-preserving dark palette.
- Extensions at a glance — A System → Extensions tab lists every Solidshop extension on the site with its version, enabled state, pending update, and anything wrong with it — including the updates Joomla's own installer hides, and an extension Joomla would never be able to update — followed by the add-ons published but not installed here.
- Granular ACL — Joomla ACL across every admin view: view, create, edit, delete, publish, and manage, per user group.
For developers
Built for extension, not modification. Major features are self-contained Joomla plugins that own their own database tables, admin MVC, frontend layouts, language strings, and event handlers — the core never needs to be patched. Dispatch custom events, register product types, reports, quick-search providers, and /llms.txt sections, inject checkout tabs, and extend the admin panel through Joomla's standard event system. The read-only catalog REST API and MCP server ship in the box, sharing one set of response shapers and the storefront's own visibility rules. PSR-12, PHP 8.4 enums, backed by PHPUnit, full GPL-3 source.
Requirements
- Joomla 6.x or later
- PHP 8.4 or later
- MySQL 8.4 or later
Licence
GNU General Public License v3 (or later).
Solidshop
- Version:
- 1.5.0
- Developer:
- Solid Labs
- Last updated:
-
Sep 09 2026
1 week ago - Date added:
- Apr 29 2026
- License:
- GPLv2 or later
- Type:
- Free download
- Includes:
- c m p
- Compatibility:
- J6
Share