OpenCart Module

Site Health Doctor for OpenCart

Find what is wrong with your store before your customers do. PHP errors and the extension behind them, slow pages, database, disk, security and mail, each with a plain explanation and the steps to fix it.

Last Update: 28 Oct 2026
Version: 2.0.2
Compatibility: OpenCart 3.0.3.0 or newer and OpenCart 4.0.2.0 or newer (tested up to 3.0.5.1 and 4.1.0.4), PHP 7.2 or newer (OpenCart 4: PHP 8.0 or newer), MySQL or MariaDB

Why a store health check

A store rarely breaks all at once. An extension starts throwing warnings, pages get slower week by week, the database fills up with expired sessions, Display Errors stays on after a test, a backup archive lies in the web root where anyone can download it, and order e-mails quietly land in spam. Site Health Doctor watches all of this on your own server and tells you, in plain words, what is wrong, why it matters and how to fix it.

What it checks

  • PHP errors. Reads the OpenCart error log and the PHP error log, catches errors on the pages itself, groups the same error and tells which extension it comes from. A sudden spike of errors or a new fatal error becomes a problem on the Issues screen and an e-mail.
  • Server time. Measures 1 request in 10: time and memory, separately for store pages, administrator pages, AJAX, the API and the cron. Shows the slowest addresses and warns when the store became slower than its own normal.
  • Database. Table sizes and growth, MyISAM tables, unused space, expired sessions and old "Who's Online" rows, and the version of the database server.
  • Files and disk. Free disk space, the largest files, archives and database dumps in the web root, PHP files in the image folder, server tools left on the site, the install folder, and the storage folder of OpenCart inside the web root.
  • Security. Display Errors on a live store, an administrator called admin, the administrator folder with its default name, disabled extensions that are still installed, files such as .env open to anyone, attacks and password guessing seen in the server access logs, HTTPS, HSTS and the SSL certificate expiry.
  • E-mail. SPF, DKIM, DMARC and MX records of your domain, whether OpenCart sends mail through PHP mail or SMTP, and a test message to check that mail from the store arrives.
  • Server and OpenCart. PHP version and its end of support, memory limit, OPcache, missing PHP extensions, Log Errors switched off, a store left in maintenance mode, and whether the background checks run on time.

What you get

  • A health score from five areas: errors, performance, security, database and files, server and configuration. An area without data says "not measured" instead of pretending to be fine.
  • Every problem with the fix. What was found, why it matters and the steps to fix it, with the place in the OpenCart administrator. Hide an item for 30 days if you decided to live with it.
  • Alerts by e-mail for critical problems, without the same alert again and again, and a message when the problem is gone.
  • A weekly e-mail with the score, new and fixed problems, errors and server time.
  • A printable report of the last 7 days: print it or save it as PDF from your browser.
  • Its own item in the left menu of the OpenCart administrator.

Light on your server, private by design

  • A customer request never waits for the module: no database query and no outside request runs during a visit. Only 1 request in 10 writes one line to a file.
  • The analysis runs in the background in short portions: in OpenCart 4 from the cron of OpenCart (cron.php), and in OpenCart 3 and 4 after the administrator pages. For checks and alerts on time in OpenCart 3, turn on the cron address of the module in Settings and call it from a cron job every 5 minutes.
  • Everything is collected and stored on your own server. No account and no connection to SiteGuarding are needed; the module only asks siteguarding.com, from the administrator pages, whether a new version is out.
  • Visitor addresses are shortened before they are stored, page addresses are kept without the query string, and full log lines are never kept.

Fix it yourself, or let us do it

Every problem comes with the steps to fix it. If you would rather not do it yourself, the button next to the problem sends it to our engineers:

  • Fix it for me. Our engineer checks the problem and tells you the price before any work starts. Price after review.
  • Emergency help. The store is down or shows fatal errors: we bring it back online and find the cause. Price after review.
  • Site health audit. Our engineer reviews the whole store and sends you a report with the causes and a fix plan. Price after review.

Free and Pro

Free Site Health Doctor
Site Health Doctor Pro
All checks, the health score, problems with the steps to fix them YES
PHP errors, server time, database, files, traffic, mail YES
History 7 days
Alerts E-mail
Weekly e-mail and printable report YES
Timeline: what changed before it broke -
One-click clean-ups with a copy for 7 days -
Monthly report by e-mail with your own brand -

Pro is an add-on to the free module, with a 14-day free trial.

FAQ

Does it slow my store down?

No. Customer requests do not query the database or call anything outside. Only 1 request in 10 writes one line to a file, and all analysis runs in the background.

Does it change anything in my store?

Only when you ask. The module checks and reports. The one-click clean-ups of Pro run only when you press the button, show what they will change first and keep a copy for 7 days.

Where does it keep its data?

In its own database tables and in the folder sgshd inside the storage folder of OpenCart (system/storage/sgshd/ by default). Nothing about your store is sent to SiteGuarding.

Do I need an account?

No. The free module works without an account and without a licence key.

Which OpenCart versions are supported?

OpenCart 3.0.3.0 or newer and OpenCart 4.0.2.0 or newer. Each has its own file: download the one for your version.

How do the background checks run?

In OpenCart 4 the module adds a task to the cron of OpenCart: when your hosting runs "php cron.php" from a cron job, the checks run on time. Without a cron job, and in OpenCart 3, they run after the pages of the administrator. Settings shows when they ran last, and the cron address of the module (off by default) is there for a cron job of the server.

The Traffic screen says that no access log was found.

Server access logs are not readable for PHP on every hosting. On cPanel, turn on "Archive logs" in Raw Access, or enter the path of the log file in Settings. Everything else works without access logs.

What happens when I remove the module?

Uninstalling removes the module, its events and its cron task. The data stays unless you ticked "Delete all data when Site Health Doctor is uninstalled" in Settings.

Requirements

OpenCart 3.0.3.0 or newer (tested up to 3.0.5.1) with PHP 7.2 or newer; OpenCart 4.0.2.0 or newer (tested up to 4.1.0.4) with PHP 8.0 or newer. MySQL or MariaDB.

Download

Free, no account needed. Keep the file name: OpenCart 4 takes the extension code from it.

Installation

OpenCart 3.0.x

1. In the administrator area, open Extensions > Installer and upload opencart3healthdoctor.ocmod.zip.

2. Open Extensions > Extensions, choose Modules, find Site Health Doctor and click Install.

3. Open Site Health Doctor in the left menu. The first checks start at once; some numbers appear after a day of data.

OpenCart 4.0.2 to 4.1

1. Open Extensions > Installer, upload siteguardinghealthdoctor.ocmod.zip (keep the file name) and click Install.

2. Open Extensions > Extensions, choose Modules, find Site Health Doctor and click Install.

3. Open Site Health Doctor in the left menu. The first checks start at once; some numbers appear after a day of data.

Pro: install the Pro add-on the same way, next to the free module, and enter your licence key in Site Health Doctor > Licence.

Updates

OpenCart has no automatic updates for modules: the screens of the module show a notice when a new version is out, with a download link and the steps.

OpenCart 3: upload the new file in Extensions > Installer, then open Site Health Doctor once.

OpenCart 4: in Extensions > Extensions > Modules uninstall Site Health Doctor, in Extensions > Installer uninstall and delete it, then upload the new file, install it and install the module again.

Settings, history and findings stay in both cases.

Changelog

2.0.2
First version for OpenCart 3.0.3 and newer and OpenCart 4.0.2 and newer, on one core with the WordPress and Joomla editions: checks with explanations and the steps to fix them, a health score by area, PHP errors from the OpenCart log grouped by extension, sampled server time and slow addresses, database and disk, archives in the web root, bots and attacks from the access logs, SPF, DKIM, DMARC and MX records, OpenCart settings (Display Errors, Log Errors, maintenance mode, mail engine, the administrator and storage folders), alerts, weekly e-mail, printable report, the cron of OpenCart 4 and a cron address.

Live Chat Support
Our website uses cookies, which help us to improve our site and enables us to deliver the best possible service and customer experience. See our policy Accept