Skip to main content
Card class: StandardCategory: Ecommerce Platform
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 countsThe 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 enabledAn 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 fromOpenCart records extension registrations in oc_extension, with installation metadata. OCMOD packages also appear in oc_modification. The connector reconciles both.
Marketplace vs customThe count includes marketplace extensions, agency-built custom extensions, and anything hand-installed by FTP. OpenCart does not distinguish provenance, so neither does this card.
ThemesInstalled themes count as extensions in OpenCart. A store with three themes installed but one active still shows three.
Multi-storeOne OpenCart instance shares one extension set across all store_id values. The count is per instance, not per store.
Why no alertA 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 windowRT (real time, evaluated each sync)
Alert triggerNone
Rolesowner, operations

Calculation

COUNT(DISTINCT extension)
  WHERE status IN ('installed')

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 typeInstalledEnabledDisabled
Payment gateways422
Shipping methods330
Modules (storefront blocks)14113
Order totals550
Themes211
Feeds (Google Shopping, etc.)321
OCMOD packages770
Installed Extensions / Modules (this card)38317
What’s interesting here:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

CardWhy pair it with Installed Extensions / Modules
Extension / Modification ConflictsThis card is the denominator. Conflicts ÷ installed extensions is your fragility ratio.
Platform Error Spike or Extension ConflictA 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 StatusExtension compatibility is version-dependent. A version change can strand extensions built for the old core.
Disabled ProductsBoth 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 in oc_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.
Why our number may legitimately differ:
ReasonDirection 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
Cross-connector note: this is a platform-health count with no payment-processor or analytics equivalent. It exists because OpenCart’s feature set is almost entirely extension-driven.

Known limitations / merchant FAQs

Is a high extension count bad? Not by itself. OpenCart is designed to be extended, and a feature-rich store of 30 to 60 extensions is completely normal. The risk is not the count, it is conflicts, errors, and slow load time that a heavy stack can carry. Watch the ratios, not the headline. Why is there no alert on this card? Because there is no universally bad value. An alert would fire constantly on healthy stores. The card is context for other cards. A sudden jump is worth a manual look, but it is not an incident on its own. Does it count disabled extensions? Yes. A disabled extension is still installed: its files are still on disk and its OCMOD edits may still apply. We count installed and split enabled from disabled in the detail view, because disabled is not the same as removed. Why does my admin show fewer extensions than this card? The admin shows one extension type at a time, and can be filtered to enabled only. This card sums every type and includes disabled extensions, so it is usually higher than any single admin screen. Should I uninstall extensions I no longer use? Generally yes. Retired payment gateways and old themes left installed add weight and conflict risk for no benefit. Uninstalling reduces the surface area that the Extension / Modification Conflicts card has to watch. Do themes count as extensions? Yes. In OpenCart a theme is an extension type. A store with two themes installed but one active shows two in this count. The count jumped overnight, what happened? Someone installed a batch of extensions, most often an agency doing scheduled work. Batch installs are a leading cause of new conflicts, so refresh Modifications and check the conflicts card after any jump. Does this distinguish marketplace extensions from custom ones? No. OpenCart records all installed extensions the same way regardless of where they came from. Marketplace, agency-custom, and FTP-installed extensions all count alike.

Tracked live in Vortex IQ Nerve Centre

Installed Extensions / Modules is one of hundreds of KPI pulses Vortex IQ tracks across OpenCart and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.