Directory / plugin

CompatNav – PHP Upgrade Checker

v1.3.0 · by COMPATNAV

PHP compatibility check before you upgrade: scans every plugin and theme locally and shows what will break on PHP 8.0–8.5.

View on WordPress.org

About this plugin

CompatNav is a PHP compatibility checker for your site. Before you or your host move it to a newer PHP version, CompatNav reads the code of every installed plugin and theme and tells you, in plain words, what will break and what will only show deprecation notices.

Documentation and guides: compatnav.com

What you get

  • One clear answer. “Safe to upgrade to PHP 8.5”, or “Not ready yet” with a short “What to do first” list.
  • How far you can upgrade. For each PHP version up to the one you chose: what will break and how many deprecation notices come up, and the highest version with nothing found that will break. All from one scan.
  • Your PHP version’s support status. Whether the PHP version your site runs still gets official fixes, and until when (dates from php.net, bundled with the plugin). Before your first scan, CompatNav suggests a target that keeps getting security fixes for at least a year.
  • Checks for PHP 8.0 to 8.5. 58 checks for the changes each PHP version brings, from removed functions to new deprecations. You choose the version you plan to move to.
  • Only what changes for your site. CompatNav compares the PHP version your site runs today with the one you choose, and reports only what changes between the two.
  • Few, meaningful results. Each check looks for exact code patterns, and code that is already protected (by a PHP version check or function_exists()) is not reported. On three of the most-installed plugins (about 7,800 PHP files together), it reports 27 items for an upgrade from PHP 7.4 to 8.5 (tested in September 2026), all of them deprecation notices, each checked by hand.
  • Next steps you can act on. For each plugin and theme: whether an update is available, whether the code looks like your own, a plain explanation of each issue, and a before/after example for whoever maintains the code.
  • Reports to share. Download a self-contained HTML report (opens in any browser, can be printed to PDF) or a CSV file, or copy a plain-text summary for your developer or host (no site name or address in it; also as a .txt file).
  • In Site Health too. WordPress’s Site Health shows whether the last scan found something that will break. It reads the stored report and never starts a scan.
  • Built not to hang. The scan runs in short background steps with a progress bar, and you can pause, resume or cancel it. A file too heavy for your server’s memory is skipped and listed, and the scan continues. On a test site with 17 plugins and themes (8,374 PHP files), a full scan took about 70 seconds.

Private by design

  • The scan runs entirely on your own server. No code, file names or results are sent anywhere, and CompatNav makes no external requests.
  • It only reads files. It never runs or changes the code it checks.
  • It stores only scan results (file paths, line numbers, check IDs), never personal data.

Honest about its limits

CompatNav reads code; it does not run it. Some problems only appear when code runs with real data, and no code reader can see those. Files that could not be checked are listed with the reason, and while any active file could not be checked, the verdict never says “Safe to upgrade”.

Documentation and guides

The CompatNav website explains how to read the report and what to do when a plugin isn’t ready yet, with plain guides to PHP upgrades: PHP 8.2’s end of life, what changes in PHP 8.4 and 8.5, and how to fix a critical error after a PHP update.

Libraries

CompatNav includes PHP-Parser by Nikita Popov (BSD 3-Clause license), copied under CompatNav’s own namespace so it can never clash with another plugin’s copy.

Plugin tags