Résoudre les bugs de flux RSS sous WordPress

WordPress génère automatiquement un flux RSS non seulement pour votre site mais aussi pour vos catégories et vos commentaires d’articles. Or, il arrive parfois qu’une erreur de ce type survienne : Error on line 2: The processing instruction target matching. Voici comment la résoudre.

Obtenir l’URL du flux RSS sous WordPress

Pour obtenir l’URL de votre flux RSS, il suffit de rajouter le suffixe /feed après chacune de vos adresses ou de passer par les fonctionnalités de flux offertes par votre navigateur Web.

Voici un affichage standard sous Firefox :

Capture d'écran - Flux RSS WordPress Channel sous Firefox
Le flux de WordPress Channel sous Firefox

Si vous n’obtenez pas un résultat similaire mais une erreur XML, il nous faut intervenir dans certains fichiers de WordPress pour que votre flux redevienne valide.

Identifier et corriger les erreurs de flux RSS

Si l’erreur est survenue subitement alors que votre flux fonctionnait il y a encore quelques jours, essayez de vous souvenir d’éventuelles modifications opérées sur votre site WordPress :

  • Installation d’un plugin ;
  • Modification de votre thème et notamment du fichier functions.php ;
  • Modification de fichiers du cœur de WordPress ;

Dans tous les cas, cette erreur fait référence à une ligne vide quelque part dans un fichier PHP.

Des tutoriels anglophones nous indiquent qu’il faut intervenir dans des fichiers propres au cœur de WordPress puis de retirer d’éventuelles lignes vides.

En réalité, la solution est bien souvent plus simple car il y a très peu de chance que vous ayez modifié les fichiers propres à WordPress. Dans ce cas, il nous reste les thèmes et les plugins.

Pour identifier la source du bug, procédez comme suit en prenant soin d’actualiser votre flux après chaque point pour vérifier si le problème est corrigé :

  1. Activer le thème par défaut TwentyTen ou TwentyEleven – réinstallez ce dernier si nécessaire ;
  2. Désactivez tous les plugins ;

Si le problème vient du thème, il y a 99% de chance que l’erreur vienne d’un fichier appelé functions.php. Si vous avez inséré des fonctions personnalisées, supprimez-les une à une pour identifier celle qui pose soucis.

Si le problème vient d’un plugin – honnêtement cela m’étonnerait, activez-les un par un puis rechargez à chaque fois le flux RSS. Les plugins de création automatique de sitemap.xml – un fichier utile pour aider l’indexation de votre site auprès de Google et consorts, dépendent bien souvent de la validation de votre flux RSS. Il est donc inutile de leur imputer la faute si vous obtenez une erreur de type XML.

Valider votre flux RSS

Pour vérifier si votre flux RSS est correct et qu’il ne comporte pas d’erreurs, rendez-vous sur le site Feed Validator.

Capture d'écran - Feed Validator
Validez votre flux RSS avec Feed Validator

Copiez puis collez l’URL de votre flux dans le champ prévu à cet effet puis cliquez sur Validate.

Cette technique m’avait notamment permis d’identifier des erreurs dans mon flux de podcasts – des erreurs directement liées à des bouts de code présents dans mes tutoriels.

Méfiez-vous également des messages d’erreurs : certaines erreurs peuvent être causées par d’autres problèmes plus globaux. Les habitués des outils de validation HTML / CSS du W3C comprendront… bref, ce n’est pas toujours évident !

Les flux RSS sont très utiles pour effectuer une veille technologique et mériteraient d’être plus connus du grand public. Et suivez donc celui de WordPress Channel !

Crédits photo : zyenth

24 commentaires

  1. jacques

    Bonjour,
    N’ayant jamais réussi à localiser le pb je l’ai contourné comme ceci:

    header(« content-type:text/xml;charset=utf-8 »);
    ob_clean(); //added
    echo « \n »;

    mais c’est vraiment une rustine ! a recoller à chaque maj.

  2. hawsen

    salut et merci aurélien

    je n’arrive pas à résoudre mon problème, cela donne:

    « L’URL ne semble pas faire référence à un fichier XML valide. Nous avons rencontré le problème suivant: Erreur sur la ligne 1: Le marquage du document avant l’élément racine doit être bien formé. »

    serait tu le résoudre?

  3. Judicael

    Bonjour,

    J’ai testé la désactivation des plugins et du thème et cela ne fonctionne toujours pas dans mon cas. Du coup je ne sais pas trop de quoi cela peut venir.

    Si quelqu’un a une idée

    Salutations

    1. Aurélien Denis auteur de l’article

      Passes le flux au validateur ça peut aider. Ensuite, vérifies que ce n’est pas un bug d’encodage (restes en UTF-8 et fais attention au BOM sous Notepad++). Sinon, regardes si une ligne vide ne pose pas de soucis dans tes fichiers PHP.

      1. Judicael

        Merci pour ta réponse.

        Sur l’un de mes blogs c’était en fait une bannière dans les règlages de mon template canvas qui posait problème. J’ai trouvé après analyse sur feed validator.

        Pour le second blog, je cherche encore

        Salutations

  4. ApollineR

    Merci pour ton article qui m’a aidé à récupérer mon flux. Si vous avez le même problème pensez aussi à vider le cache quand vous faites des modifications pour bien voir si le problème est résolu ou pas.

  5. Othello

    Bonjour,

    J’ai pour ma part installé et fait tourner le plugin « fix rss feed », qui m’indique que mon flux rss a bien été réglé.
    En revanche, il n’est toujours pas validé sur Feed validator et ne s’affiche pas sur mon blog (http://www.detection-du-mensonge.com/blog/feed/), alors que cette adresse affiche bien le flux rss dans mon navigateur.

    Est-ce que qqu’un saurait comment régler l’erreur « XLM parsing » qui m’est indiquée par Feed validator ?

    Un grand merci,

  6. Thomas

    Bonjour,

    De mon côte le flux rss fonctionne et est valider par feed validator le problème que je rencontre c’est qu’il est bloqué sur la même date.

    Seul les articles du 11 février s’affichent, le reste impossible de les voir.

    Qqn serait-il comment réparer cela?

  7. Thomas M.

    Pour ma part, et bien c’est Internet Explorer qui m’a donné la source du problème (pour une fois qu’il me sert à qqchose…). En entrant l’adresse de mon flux, il m’a affiché un extrait du problème et là surprise : il venait du texte en lui-même !!

    Moi qui cherchais depuis longtemps dans les codes, j’en suis presque énervé d’avoir trouvé ce problème (pourtant ridicule) mais restant sans explication… J’ai effacé le paragraphe qui me posait problème et entièrement réécrit, une petite mise-à-jour de l’article et tout refonctionnait. Alors si qqn a une petite explication, je suis preneur.

    En tout cas, merci pour tout ces articles qui nous dépannent bien souvent

  8. Referencement web Tunisie

    Bonjour,

    J’ai un site WordPress et je rencontre un problème avec mon flux RSS que je ne peux pas gérer. En fait, après chaque rubrique j’ai toujours /feed/ . est ce normal ou bien je dois corriger ça. Merci

  9. JeanlouisClrd

    J’obtiens toujours la même erreur impossible de retrouver le flux RSS

    The URL does not appear to reference a valid XML file. We encountered the following problem: Error on line 314: The element type « head » must be terminated by the matching end-tag «  ».

  10. Nicolas

    Bonjour, J’ai un problème vraiment étrange : mon feed est validé sur feed validator, le seul problème celui-ci ne s’actualise plus, il n’affiche aucun des nouveaux produits (c’est un feed de boutique en ligne). j’ai eu beau désactivé tous les plugins récents que j’avais ajouté le problème persiste. Quelqu’un aurait une idée de piste ? merci

  11. béren

    Bonjour, Merci pour le tuto mon feed a l’air de fonctionner il passe meme au validator mais j’ai un soucis annexe je voudrais bien que le widget natif de wordpress n’affiche pas de résultats sous le bouton, j’ai décoché la date il l’a met aussi c’est très bof alors s’il ya une solution ? avant que je ne fasse un widget texte avec image et lien rss… merci

  12. Cédric

    Bonjour,

    Concernant les erreurs sur le fil rss, je rajoute qu’une fois j’ai dû intervenir sur le site d’un client qui a eu une panne sur son fil rss. Après avoir longuement cherché, je me suis aperçu que dans la section réglages > général dans son admin WordPress, il y avait un espace blanc juste après le titre, et c’est cela qui posait problème !

    Si ce petit partage d’expérience peut servir à d’autres

    Par ailleurs, j’ai écrit un petit article pour régler les pannes courantes sur les fils rss : http://onirisweb.net/manuel-combat-pour-fil-rss-wordpress/

  13. Guillaume

    Bonjour,

    Merci pour ton article sur les bugs du flux RSS.
    J’ai un problème avec mon flux, il n’affiche pas l’extrait de mes articles !! J’ai pourtant, dans l’admin, paramétré sur extrait, mes rien à faire… J’ai également ajouté la balise more dans mes articles mais toujours rien. Mon flux n’ajoute pas d’extrait !
    J’ai peut être oublié quelque chose? Auriez vous une solution ?

    Merci d’avance

Laisser un commentaire