PHPackages                             jameshalsall/magento-site-checker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jameshalsall/magento-site-checker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jameshalsall/magento-site-checker
=================================

Checks your Magento sites and lets you know if they need patching

1.0.1(10y ago)3211MITPHP

Since Jun 7Pushed 10y ago1 watchersCompare

[ Source](https://github.com/jameshalsall/magento-site-checker)[ Packagist](https://packagist.org/packages/jameshalsall/magento-site-checker)[ RSS](/packages/jameshalsall-magento-site-checker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

Magento Site Checker
====================

[](#magento-site-checker)

The Magento site checker is a tool that can be used manually on a regular basis or scheduled on a cron to test your Magento stores for security vulnerabilities.

Why?
----

[](#why)

I got sick of manually checking sites against the API using curl and wanted something that would run all the time and let me know whenever one of my Magento stores was not patched up-to-date. In a studio environment where you have many stores to check it's not something you want to be running manually and it's easy to forget one of your clients' stores.

How?
----

[](#how)

The tool simply makes use of the Magento security checker API, and wraps it up with a command line interface and a site configuration file making it easier to check all of your Magento stores.

Setup
-----

[](#setup)

1. Add the package to your composer dependencies (`"jameshalsall/magento-site-checker": "~1.0"`)
2. Make sure your `composer.json` has `"bin-dir": "bin/"` in the `config` options (see [here](https://getcomposer.org/doc/04-schema.md#config)for more information on composer config.
3. Create a YAML configuration file for your sites (see `config/sites.yml.dist` for an example, or the Configuration section of this README for more information)
4. Run the site checker manually first, `bin/magento-site-checker path/to/your/sites.yml`
5. Schedule the site checker to run on a cron job and use the `--failures-only` option so you only get cron output for failing sites. Using something like `mutt` can facilitate in emailing the output.

Configuration
-------------

[](#configuration)

The `sites.yml` configuration file represents each of your Magento stores that are to be checked during execution of the tool. An example of the file can be seen in the `config/sites.yml.dist` file in this repository. The key for each entry in the file should be the name of the site, and each entry supports the following properties:

1. **domain** - the domain name of the site (without the protocol)
2. **admin\_path** - the path to the admin login screen on the site, which will usually be `admin` (optional, defaults to `admin`)
3. **https** - either `true` or `false` to indicate whether the site is available over SSL (optional, defaults to `false`)

Roadmap
-------

[](#roadmap)

1. Add native email support
2. Investigate methods for detecting which specific patches are missing on the Magento stores

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~58 days

Total

2

Last Release

3940d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/419dbae2ddb841eca08a765200e8d550314f3d7dc000823135c633981dbcf86b?d=identicon)[jaitsu](/maintainers/jaitsu)

---

Top Contributors

[![jameshalsall](https://avatars.githubusercontent.com/u/499932?v=4)](https://github.com/jameshalsall "jameshalsall (17 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jameshalsall-magento-site-checker/health.svg)

```
[![Health](https://phpackages.com/badges/jameshalsall-magento-site-checker/health.svg)](https://phpackages.com/packages/jameshalsall-magento-site-checker)
```

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

310107.9k1](/packages/cognesy-instructor-php)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

96374.6k23](/packages/friendsoftypo3-content-blocks)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
