WP Manifestindependent plugin directory
manifest / admin / axle-license-tracker

Axle License Tracker

Track premium plugin and theme licenses: what is licensed, what has lapsed and what renews when.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/aryanjasala/axle-license-tracker/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Axle License Tracker

Try in WordPress Playground Latest release WordPress 6.6+ PHP 7.4+ License: GPL-2.0-or-later
PHPCS PHPStan Unit tests E2E tests Plugin Check

See which premium plugins and themes are licensed, which lapsed, which stopped getting updates, and what renews when.

Licenses: an expired license and a blocked update, then a renewal date and cost added by hand" width="880">


A typical client site runs 5 to 15 paid plugins and a paid theme, each with its own license screen and its own renewal email, sent to whoever bought it. When a license lapses, updates stop, WordPress mostly says nothing, and security scanners that compare versions with WordPress.org skip premium plugins. Axle License Tracker lists every premium plugin and theme under Plugins > Licenses with its license state and how old that is, whether updates actually arrive, the renewal date, the cost and the owner. It only reads what is already on the site: it never activates, checks or changes a key.

[!NOTE] Free and open source under the GPL. No pro version, no upsells, no ads in wp-admin, no tracking. And it stays that way.

Part of Axle by AryanX, a family of plugins for running WordPress sites safely.

Features

  • Finds the premium ones: WordPress.org plugins are recognised from the update data WordPress already has. Premium ones from an Update URI header, a vendor updater in the update data, an updater or licensing SDK in their code (Freemius, EDD Software Licensing, Plugin Update Checker, WooCommerce API Manager, StellarWP Uplink, SureCart, Appsero, Brainstorm Force) or a known vendor. Plugins a theme ships through TGM Plugin Activation are marked bundled
  • Reads license state without touching it: built-in readers for Freemius, EDD Software Licensing, WooCommerce.com, Elementor Pro, ACF PRO, Gravity Forms and Envato Market. No vendor code runs, no request goes out, no seat is used. Every state says how old it is
  • Update risk: blocked when a newer version is out but cannot be downloaded, at risk when the vendor knows a newer version the site is not offered or the updater has been silent for 30 days, watch for a version unchanged for 180 days
  • Renewals and costs: renewal date, cost and currency (stored in minor units, never converted), billing cycle, owner, seats, account and invoice links. What you enter wins, and the list shows which values were set by hand
  • Reminders: 30, 14, 7 and 1 days before a renewal date, each sent once, plus an email when a license expires or an update is blocked, and an optional monthly digest
  • Everywhere you look: a License column on Plugins, a dashboard widget with the next renewals, and a Site Health check that goes critical when an update is blocked
  • Keys stay on the site: never stored, shown, sent or logged. Only a fingerprint (a 12-character hash prefix and the last 4 characters) to spot one license used on several sites
  • For agencies: a read-only REST report and a License reporter role that can read it and nothing else
  • WP-CLI for everything (scan exits 1 for monitoring), abilities for AI agents, CSV and JSON export, and privacy export and erase

Install

  1. Download axle-license-tracker.zip from the latest release.
  2. In WordPress, go to Plugins > Add New Plugin > Upload Plugin, choose the zip and activate it.

Or with WP-CLI:

wp plugin install https://github.com/aryanjasala/axle-license-tracker/releases/latest/download/axle-license-tracker.zip --activate

Needs WordPress 6.6+ and PHP 7.4+. To try it first, the Try in WordPress Playground badge opens a throwaway WordPress in your browser with the plugin and some demo content.

Quick look

wp axle-license-tracker scan
# 4 premium: 1 expired, 1 expiring, 0 missing a key, 2 not getting updates (1 blocked).
# - ALC Blocked Fixture: unknown, blocked

wp axle-license-tracker list --risk=at-risk
wp axle-license-tracker set plugin:elementor-pro/elementor-pro.php --renewal=2027-03-01 --cost=59 --currency=USD --cycle=yearly --owner="Bean There"
wp axle-license-tracker expiring --days=30
wp axle-license-tracker remind --dry-run

Or open Plugins > Licenses.

Screenshots

Licenses: license state and age, update risk, renewal dates, costs per currency and owners">
Plugins > Licenses: license state and age, update risk, renewal dates, costs per currency and owners
Editing the details detection cannot know, next to what was detected
Editing the details detection cannot know, next to what was detected
The License column on the Plugins screen
The License column on the Plugins screen
The dashboard widget: what needs a look and the next renewals
The dashboard widget: what needs a look and the next renewals

Documentation

Doc What it covers
Reference Detection layers, adapters, update risk, reminders, hooks, the adapter API, abilities, REST, WP-CLI, data and privacy
Development Local setup, commands and tests
Contributing Pull requests, required checks and PR titles
Releasing How merged pull requests become releases
Security Reporting a vulnerability
readme.txt What WordPress.org shows, with the FAQ and changelog

Project structure

axle-license-tracker.php  plugin header and PSR-4 autoloader
data/
├── signatures.json      updater and SDK signatures for the scan
└── vendors.json         known vendors
src/
├── Plugin.php           creates the services
├── Inventory.php        installed plugins and themes
├── Updates.php          the update transients, and when updaters answered
├── Scanner.php          the bounded code scan
├── Classifier.php       directory, premium, bundled, custom
├── Adapters/            the seven license readers
├── Risk.php             update risk
├── Tracker.php          one row per component, and syncing
├── Licenses.php         alc_license records
├── Details.php          details entered by hand
├── Reminders.php        reminders, alerts and the digest
├── Report.php           the report, Export.php CSV and JSON
├── Rest/                the read-only report route
├── Abilities.php        abilities for agents
├── Privacy.php          export, erase and policy text
├── Health/SiteHealth.php the Site Health check
├── Admin/               Plugins > Licenses, the column, the widget
└── Cli/Command.php      wp axle-license-tracker
assets/                  admin.css, admin.js
tests/
├── Unit/                PHPUnit
└── e2e/                 Playwright specs, fixtures and the Docker site
docs/                    reference, development, contributing, releasing

More free plugins

Small plugins that each fill one gap in WordPress, all free with no pro version:

Plugin What it does
Page Template Usage See which template every page uses, and fix the pages on a missing template
Staging Guard Stops staging copies from emailing real people or getting indexed
Category & Tag Trash A trash for categories, tags and custom terms, with undo and full restore
Axle Read-Only Mode Read-only mode for WordPress during migrations and deploys
Restore Blocks from Revisions Restore a single block from an old revision, not the whole post
Activity Log with Undo An activity log where every change you can reverse has an Undo button
Agent Governance Hold risky AI agent calls for approval, preview what they change, and roll back a session
Block Doctor Scan the whole site for invalid and broken blocks and fix them in bulk, with undo
Block Theme Ops Find Site Editor changes that override your theme files, see the diff, reset them or send them to Git
Role Right-Sizer Recommends the smallest role each user needs, from what they actually do
Update Rehearsal Try plugin, theme, core and PHP updates on a disposable copy of your site in WordPress Playground first
User Session Manager See every device signed in, sign out one, and limit sessions per role

License

Copyright Aryan Jasala. Licensed under GPL-2.0-or-later.