Résoudre l'erreur d'analyse XML sous WordPress

erreur-xml-wordpress
WordPress Lecture 3 minutes • 1 juin 2014

Après une mise à jour de votre thème, un ajout d’extension, ou bien une mise à jour WordPress, il se peut que vous ayez à faire à une erreur XML. Ce message s'affichait sur un de mes sites, lorsque je souhaitais afficher le Sitemap avec les plug-ins Yoast SEO ou Google Sitemap :

erreur-xml-wordpress

Erreur d'analyse XML : instruction de traitement XML ou texte pas au début d'une entité externe
Emplacement : http://mon-domaine.fr/feed
Numéro de ligne 2, Colonne 1 :
<?xml version="1.0" encoding="UTF-8"?> ^

ou

This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start
of the document
Below is a rendering of the page up to the first error.

Le saut de ligne provoque cette erreur

Après de longues recherches pour résoudre ce problème agaçant, j'ai remarqué que la plupart du temps, l'erreur était causée par un saut de ligne avant la déclaration XML.

Fondamentalement cette erreur se produit si il y a un espace avant une déclaration XML (<? Xml ...?>) dans votre flux. Cette erreur indique que le code comporte des lignes vides, qui peuvent s'être facilement introduites dans le code PHP WordPress d'un plugin, d'un thème ou de n'importe quel fichier de configuration.

C'est pourquoi il vous faudra aller chercher les sauts de ligne vide avant les tags PHP :
<? php
et après la balise de fermeture PHP
?>

Je vous vois déjà en train de soupirer... Mais une solution simple existe, la voici.

wejnswpwhitespacefix.php, un script qui corrige tous les sauts de lignes

1. Téléchargez le fichier suivant: http://wejn.org/stuff/wejnswpwhitespacefix.php.
Oui, je craignais qu'il contienne un tas de virus, mais après vérification (et l'utilisation sur plusieurs sites WordPress), il s'avère être clean.

2. Transférez le fichier "ejnswpwhitespacefix.php" via FTP dans votre répertoire à la racine de l'installation de WordPress. Là ou il y a le fichier wp-config.php.
J'insiste sur ce point, ne le placez pas autre part.

3. Modifiez le fichier index.php que vous trouverez dans votre répertoire à la racine également. Ajouter le code suivant juste après l'ouverture de la balise <? php  du fichier index.php.

[pastacode lang="php" manual="include('wejnswpwhitespacefix.php')%3B" message="Appel du fichier depuis index.php" highlight="" provider="manual"/]

Ne pas oublier de sauvegarder la page index.php.

4. Rechargez votre page : tadaaa l'erreur XML à disparue et tout fonctionne correctement !

Vous pouvez maintenant effacer la ligne de code précédemment ajoutée dans index.php (étape 3) et supprimer le fichier "ejnswpwhitespacefix.php" (étape 2).


Si cet article vous a aidé, lâchez votre plus bel applaudissement en remerciement ! 🤗