The total number of installed extensions and modules on your OpenCart store, the size of the surface area that can break, slow down, or conflict.
At a glance
OpenCart ships lean and gains almost all of its features through extensions: payment gateways, shipping methods, modules, themes, SEO packs, feeds, and OCMOD modifications. This card counts how many are installed. There is no alert on it, because a high count is not inherently bad. It is context. It is the denominator for Extension / Modification Conflicts and the first place to look when load time, error volume, or a conflict spikes.
| What it counts | The number of installed extensions and modules across OpenCart’s extension types: modules, payments, shipping, total (order totals), feeds, themes, dashboards, captchas, and any installed OCMOD / vQmod packages. |
| Installed vs enabled | An extension can be installed but disabled. This card counts installed; the detail view splits installed-and-enabled from installed-but-disabled, because a disabled extension still sits in the codebase and still ships its files. |
| Where it comes from | OpenCart records extension registrations in oc_extension, with installation metadata. OCMOD packages also appear in oc_modification. The connector reconciles both. |
| Marketplace vs custom | The count includes marketplace extensions, agency-built custom extensions, and anything hand-installed by FTP. OpenCart does not distinguish provenance, so neither does this card. |
| Themes | Installed themes count as extensions in OpenCart. A store with three themes installed but one active still shows three. |
| Multi-store | One OpenCart instance shares one extension set across all store_id values. The count is per instance, not per store. |
| Why no alert | A large stack is normal and often healthy. The signal is in the change and in the ratio to conflicts and errors, not in the absolute number. |
| Time window | RT (real time, evaluated each sync) |
| Alert trigger | None |
| Roles | owner, operations |
Calculation
Worked example
A mid-market homeware merchant runs OpenCart 4.0. Their agency built the store over three years and has steadily added capability. On 12 Jun 26 the connector reads the current extension set.| Extension type | Installed | Enabled | Disabled |
|---|---|---|---|
| Payment gateways | 4 | 2 | 2 |
| Shipping methods | 3 | 3 | 0 |
| Modules (storefront blocks) | 14 | 11 | 3 |
| Order totals | 5 | 5 | 0 |
| Themes | 2 | 1 | 1 |
| Feeds (Google Shopping, etc.) | 3 | 2 | 1 |
| OCMOD packages | 7 | 7 | 0 |
| Installed Extensions / Modules (this card) | 38 | 31 | 7 |
- Two payment gateways are installed but disabled. A retired PayPal Standard and an old Authorize.Net module are still in the codebase. They no longer process orders, but their files still load on every checkout render and their OCMOD edits still apply. Disabled does not mean inert. Cleaning these out reduces both surface area and conflict risk.
- 38 is a normal, healthy count for a three-year-old store. OpenCart stores routinely carry 30 to 60 extensions. The number itself is not a worry. What matters is whether Extension / Modification Conflicts stays at zero and whether error volume is flat.
- Seven OCMOD packages is the figure to watch. Each OCMOD package patches core files, so seven is seven chances of a post-update conflict. The ratio of conflicts to OCMOD packages is the real fragility signal, and right now it is
0 / 7, which is clean. - The count is the denominator, not the headline. On its own it answers “how big is my stack”. Its value comes from pairing: conflicts per extension, errors per extension, and the jump in the count after an install spree that precedes a slowdown.
- A sudden jump deserves a look even without an alert. If this number climbs by five in a day, an agency or admin installed a batch of extensions. That is the moment to refresh Modifications and check conflicts, because batch installs are a leading cause of new collisions.
Sibling cards merchants should reference together
| Card | Why pair it with Installed Extensions / Modules |
|---|---|
| Extension / Modification Conflicts | This card is the denominator. Conflicts ÷ installed extensions is your fragility ratio. |
| Platform Error Spike or Extension Conflict | A new install often precedes an error spike. Watch the two after any extension change. |
| Error Log Volume (24h) | Errors per installed extension is a useful health ratio for a heavy stack. |
| OpenCart Version Status | Extension compatibility is version-dependent. A version change can strand extensions built for the old core. |
| Disabled Products | Both are “clutter” signals. Disabled extensions and disabled products both add weight without value. |
Reconciling against OpenCart
Where to look in OpenCart admin: Extensions → Extensions. The dropdown at the top filters by extension type (Modules, Payments, Shipping, Order Totals, Feeds, Themes, and more). Each type lists installed extensions with a green install or red uninstall control and an enable / disable toggle. Extensions → Marketplace is where new extensions are downloaded and installed from. OCMOD packages appear under Extensions → Modifications. The underlying records sit inoc_extension (registrations) and oc_modification (OCMOD rules).
Other OpenCart views that look related but are not the same number:
- Extensions → Marketplace: shows extensions available to install, not installed. A much larger number.
- Extensions → Modifications: counts OCMOD packages only, a subset of this card.
- Dashboard widgets: each dashboard tile is itself an extension, so the dashboard does not list the full set.
| Reason | Direction of divergence |
|---|---|
| Installed vs enabled. The admin can be filtered to show only enabled extensions. This card counts installed, including disabled. | Vortex IQ higher than an enabled-only admin filter |
| Type filter. The admin shows one extension type at a time. This card sums all types into one number. | Vortex IQ higher than any single-type screen |
| OCMOD double-count guard. A single marketplace extension may register both an extension row and an OCMOD package. We de-duplicate to the logical extension. | Vortex IQ lower than naive row count |
Hand-installed extensions. Extensions copied in by FTP without going through the installer may not register in oc_extension and may be undercounted until enabled in the admin. | Vortex IQ lower for unregistered installs |
| Sync lag. An extension installed seconds ago is picked up on the next sync. | Self-resolves at next sync |