La Case de l’Oncle Tom

Développement Web, bonnes pratiques et performances

Migrer un flux RSS vers Feedburner

Feedburner logo

Pour mesurer l’utilisation des flux RSS d’Emu Nova, j’ai décidé d’utiliser Feedburner dans sa version gratuite. Je l’utilise déjà pour ce blog et j’en suis très satisfait, que ce soit pour les données fournies, les personnalisations possibles ou encore la qualité du service.

La problématique du jour : comment utiliser Feedburner sur des flux RSS déjà existants ? Le changement doit être transparent pour les utilisateurs.

Créer son flux Feedburner

Avant de faire quoi que ce soit, il convient de créer son flux Feedburner à partir d’un flux déjà existant (qu’on souhaite rediriger tant qu’à faire). L’étape la plus simple.

Création d'un flux Feedburner

Modifier les liens vers les flux

Une fois le flux créé, pensez à mettre à jour tous vos liens pointant vers ce fichier (balises <link />, liens hypertextes, boutons personnalisés etc.). Ceci a pour but d’unifier toute les adresses et éviter qu’il y aient plusieurs adresses visibles pour accéder à la même information.

Rediriger les flux existants

Arrivé à ce stade, il faut bien comprendre que nous avons 2 cas de figure :

  • les anciens abonnés : ceux qui ont souscrit au flux avant que la modification précédente n’ait eu lieu. Le changement doit être transparent pour eux et ils ne doivent pas avoir à modifier la configuration de leurs agrégateurs actuels
  • les nouveaux abonnés

L’intérêt est d’auditer tous les abonnés et donc pas seulement les nouveaux. C’est là que la redirection s’avère indispensable.
On est bien d’accord qu’il faudrait créer une redirection renvoyant l’ancienne adresse du flux vers la nouvelle adresse (celle fournie par Feedburner).

Le plus simple consiste à créer un fichier .htaccess (ou d’éditer directement les directives de votre serveur virtuel) dans le même répertoire que celui du fichier XML. Il contiendrait ce code :

RewriteEngine on
RewriteRule ^votreFlux\.xml$ http://feeds.feedburner.com/votreFluxFeedburner [R=301,L]

On teste, ça marche. Un peu trop bien puisqu’en suivant ce principe, quiconque appelle la véritable URL de votre flux sera redirigé vers le flux Feedburner. Si en soi ça ne pose pas problème majeur, ça l’est pourtant pour le robot d’indexation Feedburner qui, lui, a besoin d’accéder au véritable flux pour en extraire les informations.

Feedburner ayant bien fait les choses, leur robot d’indexation se signale en envoyant une entête User Agent FeedBurner/1.0 (http://www.FeedBurner.com). Ca tombe bien, il existe un filtre RewriteCond dans le module mod_rewrite. Ce dernier va nous servir à exclure le robot Feedburner de notre redirection précédente.

Juste au-dessus de notre RewriteRule, il suffit d’insérer la ligne suivante :

RewriteCond %{HTTP_USER_AGENT} !FeedBurner

L’utilisation de cette condition est d’ailleurs la seule raison pour laquelle une règle de réécriture a été employée en lieu et place d’un RedirectPermanent.
Attention cependant, le RewriteCond est à spécifier à chaque règle de réécriture. La documentation est assez explicite à ce sujet : la condition n’est effective que pour une seule règle de réécriture.

Le résultat final

Et plutôt qu’un long discours, voici le résultat final obtenu pour Emu Nova. Les fichiers RSS étaient placés dans le répertoire go/rss/. J’y ai donc placé un fichier .htaccess contenant le code suivant :


RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^news\.xml$ http://feeds.feedburner.com/emunovaNews [R=301,L]
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^veda\.xml$ http://feeds.feedburner.com/emunovaVedaTests [R=301,L]
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^veda_commentaires\.xml$ http://feeds.feedburner.com/emunovaVedaCommentaires [R=301,L]

Pas difficile et tellement pratique ;-)

Votre lecture de l'article Migrer un flux RSS vers Feedburner est terminée. Il y a encore plein de choses à lire ici ... vous voulez des idées ?

Commentaires & rétroliens

  1. Migration du flux RSS

    Ce midi, je viens de migrer mes flux RSS vers FeedBurner, ceci dans le but de tester ce service utilisé et recommandé par beaucoup de blogueurs, et d’en savoir un peu plus sur la fréquentation de mes flux. C’était une idée qui me trottait dans l…

  2. Aguillem dit :

    J’ai découvert ton site grâce à cet article.
    Je viens de le suivre pas à pas pour migrer également mes flux RSS. C’était une idée que j’avais depuis un petit moment mais j’avais la flemme de me pencher sur la régle de redirection du .htaccess.
    Je me suis permis de citer ton blog dans mon billet et de faire un lien et un trackback vers ton article…

    Bonne continuation ;)

  3. Oncle Tom dit :

    Oui je l’ai lu d’ailleurs ^^ j’étais repassé dessus pour voir si tes commentaires avaient bougé.
    Tu n’y perdras pas au change dans tous les cas car Feedburner est rapide, te déchargera éventuellement de la charge de ton serveur et surtout, tu sauras combien tu as d’abonnés et quels sont les articles qui ont le davantage plu ;)

  4. [...] d’une telle envergure. Pour information, j’ai également publié un billet expliquant comment migrer un flux RSS vers Feedburner pour celles et ceux ne pouvant installer ce [...]

  5. florent dit :

    Merci pour cet article très bien détaillé. Je me lance de suite dans la migration de mes flux ! :-)

  6. lgop dit :

    Je ne suis pas sûr d’avoir bien tout compris :
    Voici ce que je crois devoir faire, merci de me dire si c’est pas tout bon :

    Je place dans le dossier où se trouve le fichier mon_podcast.xml un autre fichier, que je crée avec le Blocnote et qui s’appelle mon_podcast.htaccess

    C’est bien ça ?

  7. Oncle Tom dit :

    Presque, le fichier doit s’appeler .htaccess tout court. Son contenu devrait correspondre à ça, à vue de nez :

    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} !FeedBurner
    RewriteRule ^mon_podcast.xml$ http://feeds.feedburner.com/epiphanie/hnkA [R=301,L]

    Et je crois me souvenir qu’il y une option spéciale dans Feedburner pour les Podcast. À voir car ça peut être utile :-)

  8. Oxyaxion dit :

    Bonjour,
    Merci pour le tutoriel fort interessant.
    Petite question complétementaire, ou placer le fichier .htaccess sur un hebergement free + moteur wordpress ? vu que je n’ai pas accés directement aux fichier du serveur mais uniquement à mon repertoire perso.
    (pas de ficher .xml en vu en tout cas).

    • Oncle Tom dit :

      La réécriture ne fonctionne pas chez Free.

      Après, indépendamment de Free, le .htaccess se place en général à la racine de l’hébergement (en fait c’est plus complexe que ça mais restons simple).

      WordPress ne génère pas de fichier XML qui plus est vu que ce n’était pas l’exemple en question. Par contre si tu as accès à ton répertoir eperso, tu as accès aux fichiers du serveur :D

  9. Araen dit :

    En fait c’est ça le truc, on fait comment sous wordpress (quand on a un hébergement perso) ? Y’a pas de .xml…

  10. ML dit :

    Merci pour le tuto, je m’en vais migrer mon flux de ce pas. J’espère que je n’aurai pas trop de problème, mais je ne vois pas ce qu’il pourrait y avoir.

Répondre

Balises HTML autorisées : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Thème graphique par LeslyG, intégré par Oncle Tom.
Propulsé par WordPress, Blueprint et WP-LESS.