Un script essaie de lire une information (une propriété) sur un objet qui n’existe pas : undefined signifie qu’il n’a jamais été défini, null qu’il a été cherché sans être trouvé, souvent un élément absent de la page. Le mot entre apostrophes après « reading » est la propriété demandée. Le script s’arrête à cette ligne, et ce qu’il gère (menu, carrousel, formulaire, éditeur) ne répond plus.
Pourquoi cette erreur apparaît
- Le script cherche dans la page un élément qui n’y est pas, ou pas encore : bloc supprimé, classe CSS renommée, script exécuté dans l’en-tête avant le contenu.
- L’optimisation JavaScript (regroupement, chargement différé ou retardé) change l’ordre des scripts : l’un s’exécute avant la bibliothèque ou les réglages dont il a besoin.
- Une extension et son module complémentaire, ou deux extensions entre elles, ne sont plus compatibles après la mise à jour de l’une d’elles.
- Un cache sert encore l’ancienne version d’un fichier JavaScript alors que le reste du site a changé.
- Une erreur plus haut dans la console a empêché un objet d’être créé : celle-ci n’en est que la conséquence.
Comment corriger le problème
Repérer la première erreur et son fichier
Dans la console du navigateur (touche F12, onglet Console), regardez la première ligne rouge : les suivantes en découlent souvent. Le lien à droite mène au fichier fautif ; un chemin en wp-content/plugins/nom ou wp-content/themes/nom désigne le responsable, même si le fichier est compressé et difficile à lire.
Vider tous les caches
Videz le cache de votre extension de cache, celui de l’hébergement et du CDN s’il y en a un, puis rechargez la page en navigation privée. Si l’erreur disparaît, elle venait d’un ancien fichier encore servi.
Suspendre l’optimisation des scripts
Coupez temporairement la minification, le regroupement et le chargement différé ou retardé des fichiers JavaScript. Si la console redevient propre, réactivez ces options une à une et excluez le fichier qui pose problème.
Tester les extensions et le thème
Mettez à jour l’extension désignée par le chemin, ainsi que ses modules liés. Si l’erreur persiste, désactivez les autres extensions une à une, puis essayez un thème par défaut, sur une copie du site de préférence, pour trouver le conflit.
Vérifier l’élément avant de s’en servir
Dans votre propre code, attendez que la page soit construite et testez la présence de l’élément : sur les pages où il n’existe pas, le script s’arrête proprement au lieu de planter.
document.addEventListener( 'DOMContentLoaded', function () {
const bouton = document.querySelector( '.menu-toggle' );
if ( ! bouton ) {
return;
}
bouton.addEventListener( 'click', function () {
document.body.classList.toggle( 'menu-ouvert' );
} );
} );
Notez le texte exact de l’erreur avant de toucher aux réglages, et sauvegardez le thème avant de modifier un fichier JavaScript : une seule faute de syntaxe peut bloquer tous les scripts de la page.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur