Vous avez déjà vu ce message énervant en haut de votre site WordPress : « Strict Standards: Non-static method … should not be called statically » ? Cette erreur est fréquente après une mise à jour de PHP ou de plugins. Elle ne bloque pas toujours l’accès, mais elle gâche l’expérience utilisateur et peut inquiéter. Dans cet article, je vais vous expliquer pourquoi elle apparaît et surtout comment la supprimer définitivement, sans coder si possible.
Table des matières:
Qu’est-ce que l’erreur ‘Strict Standards’ exactement ?
L’erreur Strict Standards est un message de débogage généré par PHP lorsque votre code utilise une fonction ou une méthode de manière obsolète ou non conforme aux normes strictes. En clair, un plugin ou un thème contient du code ancien qui n’est plus compatible avec la version de PHP que vous utilisez.
Par exemple, si un plugin déclare une méthode comme static mais l’appelle comme une méthode d’instance, PHP lève cette alerte. Cela arrive souvent avec des plugins non maintenus ou des fonctions WordPress dépréciées.
Pourquoi cela se produit-il surtout après une mise à jour ?
WordPress et les hébergeurs poussent régulièrement à utiliser des versions récentes de PHP (7.4, 8.0, 8.1). Or, les versions 7 et 8 ont renforcé les contrôles de type et de déclaration. Un plugin codé pour PHP 5.6 peut donc générer des Strict Standards dès qu’il est exécuté sur PHP 7+. C’est un signal que le code doit être modernisé.
Identifier la source de l’erreur sur votre site
Avant de corriger, il faut savoir quel fichier ou plugin déclenche l’erreur. Voici comment procéder.
Activer le mode débogage de WordPress
Ajoutez ces lignes dans votre fichier wp-config.php :
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);
define('WP_DEBUG_LOG', true);
L’erreur s’affichera alors directement ou sera enregistrée dans le fichier wp-content/debug.log. Vous pourrez voir le chemin exact du fichier incriminé.
Utiliser un plugin de débogage
Des outils comme Query Monitor ou Debug Bar listent toutes les erreurs PHP avec leur provenance. Cela évite de toucher au code directement.
5 méthodes efficaces pour corriger l’erreur Strict Standards
Voici les solutions classées de la plus simple à la plus technique. Essayez-les dans l’ordre.
1. Mettre à jour le plugin ou le thème concerné
La cause la plus fréquente est un plugin obsolète. Rendez-vous dans Extensions > Extensions installées et vérifiez les mises à jour. Si une mise à jour est disponible, appliquez-la. Idem pour le thème. Un grand nombre d’erreurs disparaissent ainsi.
2. Désactiver le plugin ou changer de thème
Si aucune mise à jour n’existe, désactivez temporairement le plugin suspect. Pour le thème, passez à un thème par défaut comme Twenty Twenty-Four. Si l’erreur disparaît, vous avez trouvé le coupable. Contactez le développeur ou cherchez une alternative.
3. Modifier le niveau de rapport d’erreurs PHP
Vous pouvez masquer l’erreur sans la corriger (solution provisoire). Dans wp-config.php, ajoutez :
error_reporting(E_ALL & ~E_STRICT & ~E_DEPRECATED);
Cela empêche l’affichage des alertes Strict Standards. Pratique en attendant une vraie correction, mais attention : l’erreur reste sous-jacente.
4. Corriger le code du plugin ou du thème
Si vous êtes à l’aise avec PHP, ouvrez le fichier mentionné dans le message d’erreur. Cherchez la ligne indiquée. Typiquement, il faut ajouter le mot-clé static devant la déclaration de la méthode, ou utiliser self:: au lieu de $this->. Exemple :
// Avant (provoque l'erreur)
public function maMethode() { ... }
// Après (correct)
public static function maMethode() { ... }
Faites une sauvegarde avant toute modification. Si le plugin est sur le dépôt WordPress, vos changements seront perdus à la prochaine mise à jour. Mieux vaut soumettre un correctif à l’auteur ou utiliser un snippet via le fichier functions.php de votre thème enfant.
5. Revenir à une version antérieure de PHP
En dernier recours, si vous ne pouvez pas mettre à jour le plugin et que l’erreur est bloquante, vous pouvez demander à votre hébergeur de revenir à PHP 7.4 ou 7.3. Ce n’est pas recommandé pour la sécurité, mais cela peut dépanner temporairement.
Tableau récapitulatif des solutions
| Solution | Difficulté | Efficacité | Pérennité |
|---|---|---|---|
| Mettre à jour le plugin/thème | Facile | Très élevée | Définitive si mis à jour |
| Désactiver le plugin | Facile | Élevée (si pas essentiel) | Temporaire |
| Masquer l’erreur via wp-config | Moyen | Moyenne (cache l’erreur) | Temporaire |
| Corriger le code PHP | Avancé | Très élevée | Définitive |
| Revenir à une ancienne version PHP | Moyen | Élevée | Temporaire et risqué |
Comment éviter l’erreur ‘Strict Standards’ à l’avenir ?
Voici une checklist préventive pour votre site WordPress :
- Maintenez tout à jour : WordPress, thèmes, plugins. Activez les mises à jour automatiques pour les plugins critiques.
- Choisissez des plugins de qualité : Privilégiez ceux notés 4.5+ et régulièrement mis à jour. Évitez les plugins abandonnés depuis plus d’un an.
- Testez sur un site de staging : Avant de mettre à jour PHP ou un plugin majeur, faites un test sur un environnement de préproduction.
- Utilisez un thème enfant : Si vous modifiez le code, travaillez dans un thème enfant pour ne pas perdre les changements.
- Surveillez les logs : Activez WP_DEBUG_LOG en permanence et consultez régulièrement le fichier debug.log.
Questions fréquentes sur l’erreur Strict Standards
L’erreur Strict Standards est-elle dangereuse pour mon site ?
Non, c’est une alerte, pas une erreur fatale. Votre site continue de fonctionner, mais cela peut ralentir le chargement et indique un code non optimal. À long terme, cela peut causer des conflits.
Puis-je supprimer l’erreur sans toucher au code ?
Oui, en masquant les alertes via error_reporting dans wp-config.php, ou en utilisant un plugin comme Disable PHP Error Reporting. Cependant, ce n’est qu’un pansement.
Pourquoi l’erreur apparaît-elle seulement sur certains hébergements ?
Parce que les hébergeurs utilisent des versions de PHP différentes. Certains configurent le rapport d’erreurs pour masquer les Strict Standards, d’autres non. C’est pourquoi vous pouvez voir l’erreur chez l’hébergeur A mais pas chez B.
Que faire si le plugin n’est plus maintenu ?
Cherchez une alternative active. Si le plugin est indispensable et que vous savez coder, corrigez-le vous-même. Sinon, contactez un développeur freelance.
L’erreur peut-elle venir du fichier .htaccess ?
Non, le fichier .htaccess ne génère pas d’erreur Strict Standards. C’est toujours du code PHP. Vérifiez plutôt les fichiers de vos plugins et de votre thème.
Puis-je ignorer l’erreur si elle n’affecte pas le front-end ?
Vous pouvez, mais ce n’est pas conseillé. Elle peut empêcher l’administration de fonctionner correctement et compliquer le débogage d’autres problèmes. Mieux vaut la traiter.
Recommandations finales pour un site sans erreur
L’erreur Strict Standards est un signal que votre site utilise du code vieillissant. La meilleure approche est de mettre à jour ou de remplacer les extensions obsolètes. Si vous gérez plusieurs sites, automatisez les mises à jour avec des outils comme MainWP ou ManageWP. Pensez aussi à vérifier régulièrement la compatibilité de vos plugins avec les dernières versions de PHP. Un site propre, c’est un site rapide et sécurisé.
N’oubliez pas : si l’erreur persiste après toutes ces étapes, n’hésitez pas à consulter le support de votre hébergeur ou un développeur WordPress. Vous pouvez aussi poster sur les forums d’entraide en précisant le message exact et la version de PHP. Bonne chasse aux bugs !
Photo by Arno Senoner on Unsplash

J’ai un site multilingue, est-ce que cette erreur peut être causée par un plugin de traduction ?
Oui, certains plugins de traduction comme WPML ou Polylang peuvent générer des erreurs Strict Standards s’ils ne sont pas à jour ou compatibles avec votre version de PHP. Vérifiez leurs mises à jour ou contactez leur support.
Attention, la modification du niveau de rapport d’erreurs peut cacher d’autres problèmes plus graves. Mieux vaut corriger la source.
Tout à fait d’accord. Masquer les erreurs est une solution temporaire. Je recommande de toujours privilégier la mise à jour ou le remplacement du plugin concerné pour une correction définitive.
Et si on ne trouve pas le plugin en cause ? Y a-t-il un moyen de localiser précisément le fichier sans installer un plugin de débogage ?
Oui, vous pouvez activer le mode débogage de WordPress en ajoutant les constantes WP_DEBUG, WP_DEBUG_DISPLAY et WP_DEBUG_LOG dans wp-config.php. Les erreurs seront alors enregistrées dans le fichier debug.log, avec le chemin exact du fichier incriminé.
Super article ! J’ai essayé la méthode 1 (mise à jour du plugin) et l’erreur a disparu immédiatement. Merci !
Ravi que cela ait fonctionné pour vous. La mise à jour des plugins est souvent la solution la plus simple et la plus efficace.