Matomo for WordPress: fatal Call to undefined function is_plugin_active() after hosting migration
Hi,
After migrating a WordPress site from Hostinger Cloud Professional to Hostinger Agency hosting, Matomo for WordPress stopped working correctly.
Environment:
- Matomo for WordPress 5.13.0
- WordPress
- PHP 8.4.24
- nginx / Hostinger
- Site migrated on 29 August 2026
Initially, tracking requests to:
/wp-content/plugins/matomo/app/matomo.php
returned HTTP 500.
Changing Endpoint for HTTP Tracking API to WP REST API fixed the tracking endpoint:
/wp-json/matomo/v1/hit/
However, Matomo Reporting still returns HTTP 500 when loading:
/wp-content/plugins/matomo/app/index.php
The PHP error log shows:
PHP Fatal error: Uncaught Error: Call to undefined function is_plugin_active() in wp-content/plugins/matomo/app/bootstrap.php:166
For the tracking endpoint the same fatal occurred via:
app/matomo.php -> app/piwik.php -> app/bootstrap.php
For Reporting:
app/index.php -> app/bootstrap.php
bootstrap.php successfully finds and loads wp-load.php; ABSPATH is defined. It subsequently reaches:
if ( !is_plugin_active('matomo/matomo.php') ... )
at line 166, but is_plugin_active() is not defined in that direct-request context.
The site otherwise works normally.
Is this a known issue with the direct Matomo bootstrap, PHP 8.4, nginx, symlinked hosting environments, or Hostinger? Is there a recommended fix that does not involve modifying Matomo core files?