The numbers
- 2,343 plugins (77%) use nothing that PHP 8.0–8.5 removed or deprecated.
- 16 plugins (1%) use something PHP 8 removed and can fail when that code runs. All of them were last updated before PHP 8 existed.
- 252 plugins get new deprecation notices on PHP 8.4 that they did not have on 8.3.
What changed in PHP 8.4
The change that affects most plugins is the deprecation of implicitly nullable parameters: a parameter written as Foo $x = null must now be written ?Foo $x = null. Old code still runs; PHP only logs a deprecation notice. Many of these notices come from bundled libraries (HTTP clients, SDKs) rather than the plugin's own code.
Deprecation notices do not break a site. They matter because a deprecated feature is usually removed in a later major version, and because sites with WP_DEBUG or display_errors on will show the notices to visitors.
Popular plugins with new PHP 8.4 notices
These still work on 8.4. Keep them updated; most authors fix these notices in routine releases.
| Plugin | Installs |
|---|---|
| Elementor Website Builder | 10,000,000+ |
| Site Kit by Google | 5,000,000+ |
| WPForms | 5,000,000+ |
| UpdraftPlus: WP Backup & Migration Plugin | 3,000,000+ |
| Hostinger Reach | 1,000,000+ |
| Loginizer | 1,000,000+ |
| ManageWP Worker | 1,000,000+ |
| Image Optimizer | 1,000,000+ |
| WPvivid | 900,000+ |
| MainWP Child | 700,000+ |
| Kadence Security | 700,000+ |
| Backuply | 600,000+ |
| Forminator Forms | 600,000+ |
| Royal Addons for Elementor | 600,000+ |
| WP Statistics | 500,000+ |
| WooCommerce Tax (formerly WooCommerce Shipping & Tax) | 500,000+ |
| SureForms | 500,000+ |
| Broken Link Checker | 500,000+ |
| Ocean Extra | 400,000+ |
| PixelYourSite | 400,000+ |
| BackWPup | 400,000+ |
| SiteOrigin Widgets Bundle | 400,000+ |
| Post SMTP | 300,000+ |
| Breeze Cache | 300,000+ |
| WebP Express | 300,000+ |
Before you switch to PHP 8.4
- Update WordPress, every plugin and your theme.
- Check plugins that have not been updated for 2+ years; replace them if they break.
- Scan your own site (premium and custom code is not in this index).
- Test on a staging copy, then switch PHP in your hosting panel. You can switch back if something goes wrong.