1. Création site Internet
  2. > Articles Techniques
  3. > Développement Web
  4. > Erreur dans le sitemap de Wordpress SEO
Erreur dans le sitemap de Wordpress SEO

Erreur dans le sitemap de Wordpress SEO

lundi 27 octobre 2014, par Guillaume Orsal

A l’occasion d’un rapide tour de contrôle de l’indexation de mes sites web depuis l’outil Google Webmaster Tools, j’ai constaté un problème sur le sitemap d’un de mes sites sous Wordpress, généré automatiquement par le plugin Wordpress SEO by Yoast. L’erreur indiquait la présence de lignes vides en début de fichier ce qui n’est pas conforme.

 Rappel sur le fichier sitemap.xml

Pour rappel, un fichier sitemap.xml n’est pas une page à destination des visiteurs du site, mais un fichier xml qui contient l’ensemble des pages de votre site pour indiquer aux moteurs de recherche les pages à indexer.

La présence de ce fichier est importante pour le bon référencement de votre site. N’oubliez d’ailleurs pas d’aller le déclarer dans l’interface de Google Webmaster Tools.

Sur un CMS comme Wordpress, le fichier sitemap est généré automatiquement. Pour un site statique, il existe des générateurs de fichier sitemap en ligne, mais si le contenu du site change souvent cela deviendrait fastidieux de toujours mettre à jour le fichier. Il existe donc de nombreux plugins sous Wordpress pour la génération automatique de ce fichier. Personnellement j’utilise Wordpress SEO By Yoast qui propose plein de fonctionnalité pour un bon référencement.

 Erreur dans le sitemap.xml

Mais voilà, récemment j’ai obtenu l’erreur suivante :

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.

Première investigation du côté du plugin, puisque c’est lui génère le fichier. Le site du support évoque le problème, mais précise que cela ne vient pas du plugin et qu’il faut regarder du côté du template ou d’un autre plugin.

 Lignes vides hors bloc PHP

En fait, le problème est dû à un des fichiers PHP du template qui contient des lignes vides en dehors d’un bloc de balise <?php ?>.

Sur mon installation, le problème venait d’une modification que j’avais introduit il y a quelques jours pour limiter l’accès aux mises à jour Wordpress. En ajoutant le bloc de code PHP indiqué dans l’article, à la fin de mon fichier functions.php j’ai ajouté un saut de ligne entre deux blocs de code PHP, ce qui a engendré l’erreur.

Une fois l’emplacement de l’erreur déterminé, la correction est évidente. J’ai supprimé les 2 lignes de codes suivantes qui ne servent à rien :

?>
<?php

pour n’obtenir plus d’un seul bloc de PHP, et tout est rentré dans l’ordre.

 Recherche des dernières modifications PHP

Si vous rencontrez le même problème, la cause est surement la même. La seule difficulté est de trouver le fichier concerné. Alors commencez par reprendre les dernières modifications que vous avez apporté au site.

Petite astuce, pour trouvez les dernières modifications effectuées sur votre site. S’il est hébergé sous linux et que vous avez un accès ssh, en vous plaçant à la racine du site, la commande suivante vous donnera les fichiers qui ont changé depuis 2 jours, à l’exclusion du cache :

find . -mtime -2 | grep -v /cache/

Vous pouvez adapter le nombre de jours pour la recherche en modifiant le paramètre.

Spip | Plan du site | RSS 2.0 |
Habillage visuel © digitalnature sous Licence GPL