Solidshop is distributed as a single Joomla package file that installs the core component, system plugin, payment plugins, and all supporting modules in one step.

Download the package

Download Solidshop Core from the Downloads page. No account or licence key is required.

Open the Extension Manager

In your Joomla admin panel, navigate to System → Install → Extensions.

If you are new to Joomla: the admin panel is at https://yoursite.com/administrator. Log in with the admin credentials you created during Joomla installation.

Upload and install

Drag and drop Solidshop ZIP into the upload area, or click “Browse for file” and select it. Joomla will install everything automatically. You should see a success message listing the installed components.

Find Solidshop in the admin menu

After installation, Solidshop appears in the left sidebar of your Joomla admin. Click it to see the submenu with Dashboard, Stores, Products, Orders, and all other admin views.

What gets installed

The Core installer is a Joomla package that bundles eleven extensions and installs them in one pass. Once it finishes you have a complete storefront, an admin UI, the asynchronous email worker, and the storefront modules — no further downloads required.

Extension What it is
lib_solidshop Shared Solidshop library — the namespaced classes (cart, tax, discount engine, invoice generator, events) used by the component, plugins, and modules. Installed first so everything else can depend on it.
com_solidshop The core component — products, orders, checkout, tax, shipping, dashboard
plg_system_solidshop System plugin for routing, event dispatching, and frontend integration
plg_solidshoppayment_cod Cash on Delivery payment method
plg_solidshoppayment_banktransfer Bank Transfer payment method — shows your bank account details and a payment reference on the order confirmation
plg_task_solidshopemailqueue Scheduled task plugin that sends queued transactional emails in batches. Requires a one-time scheduler setup — see Set up the email queue below.
mod_sshop_cart Shopping cart sidebar module
mod_sshop_products Product listing/showcase module
mod_sshop_search Product search form module
mod_sshop_filters Product filter sidebar (category, price, brand, rating, tags)
mod_sshop_languages Language switcher — links to the translated version of the current Solidshop product or category, falling back to the target language’s home menu on non-Solidshop pages

Set up the email queue (required)

Solidshop sends transactional emails (order confirmations, status updates, invoices) asynchronously through a background queue. Each email is written to the #__sshop_email_queue table the moment it’s triggered, and a scheduled task ships them out in batches of twenty.

Without a working scheduler, queued emails simply pile up — nothing is sent. This is the single most common reason for “my order emails aren’t arriving” reports, so this section walks through the setup end to end.

The Joomla Scheduled Tasks component

Joomla 4.1+ ships with a built-in scheduler at System → Manage → Scheduled Tasks (com_scheduler). Many site builders miss it because it lives under System rather than Components. This is where you add, run, and monitor recurring jobs — including the Solidshop email queue task.

Each scheduled task has:

  • A type — the task plugin that does the work (e.g. Solidshop — Process email queue).
  • A cron-style schedule — how often it should run (e.g. every minute, every 5 minutes, hourly).
  • A status (Enabled/Disabled) and an execution history, so you can see whether each run succeeded or failed and how long it took.

How tasks actually get triggered

Creating a task only schedules it — something still has to fire the scheduler at the right interval. Joomla supports three trigger options. Pick whichever fits your hosting environment:

Option A — System Cron (recommended)

A real cron job on your server hits a Joomla CLI script every minute. This is the most reliable option because it runs even when nobody is visiting the site, and it has no impact on page-load performance.

On most Linux hosts, add this entry to your crontab (crontab -e):

* * * * * /usr/bin/php /path/to/your/site/cli/joomla.php scheduler:run --all

Replace /path/to/your/site with your Joomla document root and adjust the PHP path to match your environment. Most shared hosts (cPanel, Plesk, DirectAdmin) expose a UI for adding cron jobs — the command is the same; just paste it into the form.

Option B — Web Cron

A unique URL hits Joomla’s scheduler endpoint over HTTP. Useful when you don’t have shell access but you do have access to an external cron-as-a-service (cron-job.org, EasyCron, UptimeRobot, GitHub Actions on a schedule).

Enable the System — Schedule Runner plugin (plg_system_schedulerunner) and switch its Web Cron option on. Joomla will generate a secret URL of the form:

https://yoursite.com/index.php?option=com_ajax&plugin=runschedulerwebcron&format=json&hash=<your-secret>

Configure your external cron service to call that URL every minute. Keep the URL secret — anyone with it can fire your tasks.

Option C — Lazy Scheduler

Joomla checks for due tasks on the back of normal frontend page loads. No cron job is required — it works out of the box on any host.

Enable the System — Schedule Runner plugin and turn on Lazy Scheduler. The trade-off: tasks only run when somebody visits the site. On low-traffic stores this can mean order confirmation emails are delayed by minutes or hours, so treat this option as a fallback — convenient for development, fragile for production.

Pick System Cron in production. Web Cron is a solid alternative when shell access isn’t available. Lazy Scheduler is convenient but unsuitable for live stores — emails won’t go out until somebody visits the site.

Create the Solidshop email queue task

With a trigger in place, create the task that processes queued emails:

Open Scheduled Tasks

Go to System → Manage → Scheduled Tasks and click New in the toolbar.

Choose the task type

Pick Solidshop — Process email queue. This is the plg_task_solidshopemailqueue plugin that ships with the core package — it’s installed and enabled automatically, so it appears in the type dropdown right after install.

Set the schedule

On the Schedule tab choose Custom — Use cron-like expression and enter * * * * * to run every minute. Slower intervals work too (e.g. */5 * * * * for every 5 minutes), but every minute is recommended for transactional email so order confirmations arrive promptly.

Save and verify

Set Status to Enabled, save, then click Test in the toolbar. The Last Exit Code column should read OK. Place a test order and confirm the confirmation email arrives within a minute.

The same scheduler handles other Solidshop background jobs you may add later — invoice PDF generation, recurring invoices, subscription renewals, downloadable file expiry. They each ship as their own task plugin (in the optional plugins) and are configured the same way: one task per plugin, on whatever interval fits.