
Objectif du flux XML pour le référencement
Le flux XML permettent d'afficher les titres des derniers articles, avec un lien.
Notez qu'il s'agit d'une intégration complète avec des liens "en dur", à la différence des solutions basées sur un code JavaScript.
Intégration d'un flux RSS dans une page web
Cet article n'aborde pas la création d'un flux RSS (ceci pourra faire l'objet d'un autre article).
Si vous souhaitez afficher de cette façon des liens vers les derniers articles de l'actualité de WebRankInfo (ou de votre site préféré...), il faut utiliser un code qui sache lire le fichier XML situé sur WebRankInfo. Je vous propose d'utiliser un outil en PHP disponible sous licence GPL : il s'agit de MagpieRSS - "a simple RSS integration tool".
Parmi les fonctionnalités de MagpieRSS, citons :
- support des formats RSS v0.91 et v1.0 (et dans une moindre mesure la v2.0)
- support du format Atom (testé sur des blogs de Blogger par exemple)
- interface très simple, orientée objet
- code accompagné de nombreux commentaires
Pour l'installer, il suffit de copier le répertoire quelque part sur votre site. Dans mon exemple je l'ai copié dans un répertoire nommé magpierss
situé à la racine de mon site.
La seule configuration à effectuer se trouve dans le fichier rss_cache.inc
dans lequel vous pouvez choisir le répertoire utilisé pour la gestion du cache, et la durée de vie du cache en secondes (si vous mettez 300, le cache sera recréé si le fichier dans le cache date de plus de 300 secondes).
Pour l'utiliser, je vous conseille de créer une fonction nommée FeedParser()
qui sera chargée de formater la liste des derniers éléments des flux à lire. De cette façon, si vous souhaitez changer l'aspect, vous n'aurez qu'à le changer à cet endroit. Voici le code de cette fonction, que j'ai écrit dans le fichier feedparser.php
stocké à la racine de mon site :
<?php // inclusion de la classe magpierss require_once("magpierss/rss_fetch.inc"); function FeedParser($url_feed, $nb_items_affiches=10) { // lecture du fichier distant (flux XML) $rss = fetch_rss($url_feed); // si la lecture s'est bien passee, // on lit les elements if (is_array($rss->items)) { // on ne recupere que les elements les + recents $items = array_slice($rss->items, 0, $nb_items_affiches); // debut de la liste // (vous pouvez indiquer un style CSS // pour la formater) $html = "<ul>n ; // boucle sur tous les elements foreach ($items as $item) { $html .= "<li> ; $html .= "<a href="".$item['link']."">".$item['title']."</a> ; $html .= "</li>n ; } $html .= "</ul>n ; } // retourne le code HTML a inclure dans la page return $html; } ?>
Exemples d'intégration
Pour intégrer une liste à puces contenant les derniers éléments d'un flux XML, il suffit de deux lignes de code.
Par exemple pour intégrer les 10 derniers messages de l'actualité de WebRankInfo, il suffit de mettre ce code sur votre page :
<?php require_once("feedparser.php"); echo FeedParser("https://www.webrankinfo.com/dossiers/feed"); ?>
Si vous souhaitez afficher des liens vers les 5 dernières définitions du Dico du Net, il suffit de mettre ce code sur votre page :
<?php require_once("feedparser.php"); echo FeedParser("http://www.dicodunet.com/rss.php", 5); ?>
L'URL du fichier XML à utiliser est indiquée en général par un petit logo RSS, Atom, ou XML.
Ressources sur les flux RSS
- le site officiel de MagpieRSS
- d'autres fils RSS
- annuaires de fils RSS
- influence des fils RSS sur le PageRank
- les flux RSS sont-ils indexés ?
- petits conseils pour générer ou lire des flux RSS
Source image : Shutterstock (sous licence)
Si vous avez des questions, posez-les dans le forum WebRankInfo.
Si vous préférez du consulting, j'en propose sur mon site WebRankExpert.
➡️ Offre MyRankingMetrics ⬅️
pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)
Voir les détails ici

J'ai également une page blanche
voici mon adresse : http://www.jeux-pc-gratuit.fr/rss/
Bonjour la réponse des caractères remplacé par des ?" pour ActifPub svp ça serait sympa car aucune réponse à était donné
Merci Olivier, même un article qui date de 8 ans est d'actualité! Plusieurs personnes parlent du déclin du RSS pourtant, pour moi, il s'agit encore de ma façon de choix pour consommer mon information.
Je ne connaissais pas Magpie avant de lire votre article et de mon côté, j'utilisais RSSPHP qui est gratuit et qui fait un bon travail.
mercii bcpp pour vow conseils il fallait justement changer dans le fichier parse et utiliser un serveur de php pour pouvoir interpréter le code et tout marchera nickel!!!et reste qu'appliquer un style CSS
Merci bcp,en 40 minutes j'ai reussi a integré le flux rss dans mon site.Les conseils des uns et des autres de site sont tt a fait apreciable!!!Merci
Bonjour,
J'ai utilisé la méthode avec magpierss 0.51 mais rien ne marche. Le flux RSS de webrankinfo n'est pas affiché, que du blanc sur ma page html test.
Merci de votre aide.
Bonjour,
Pour ceux qui utilisent WordPress, il existe un excellent plugin permettant d'insérer facilement un flux RSS externe dans une page ou un widget : Lexi
Sinon, j'ai une question : dans quelle mesure les flux RSS externes affichées posent-ils des problèmes de duplicate. Et sont-ils considérés comme des mises à jour régulières de la page où ils sont affichés par Google ? (En résumé, est-ce bénéfique pour le référencement de la page qui récupère et affiche des flux RSS externes ?)
Merci pour votre éclairage
Bonjour, je viens de créer un site et je souhaite insérer des flux RSS externes de différents sites. Je n'arrive pas à trouver la documentation m'indiquant les différentes étapes à suivre. J'ai déjà insérer le module Blog et j'ai vu l'onglet "Flux rss" mais c'est là que ça se complique. existe t'il un tutoriel expliquant les différentes étapes à suivre pas à pas.
La page dans laquelle je souhaite insérer les flux comprendra plusieurs flux. Je vais donc créer des tableaux dans lesquels je ferais des liens. Mais comment faire en pratique ???
Merci pour cette source, elle fonctionne merveilleusement bien avec les quelques modifications suggérées dans ce fil (UTF8, etc.).
J'ai le même soucis que EC,
et la solution de changer le code iso par utf-8 ne fonctionne pas...
"juste les apostrophes sont remplacé par des ?"... Je ne trouve pas la solution
bonjour j'utilise ce systeme , mais j'ai une erreur quand je viens pour la premiere fois sur la page ou je recupere le flux :
Suggestion : Undefined property: MagpieRSS::$etag dans le fichier /var/www/vhosts/monsite/httpdocs/site/magpierss/rss_fetch.inc à la ligne 156
cette erreur disparait aprés rafraichissement .
Bonjour, j'essaye de trouver une solution au probleme d'affichage des images sur magpierss. sur certains flux rss les liens des images dans le xml sont entier avec http://... d'autres ne comportent pas le nom de domaine ex : \images\images.jpg, donc l'image ne s'affiche pas.
Savez vous comment je peux déclarer le site du flux.
je vous donne deux liens ci dessous un qui marche et l'autre qui marche pas:
- http://www.soleya.fr/index.php?journal1=rugbyramalaune
- http://www.soleya.fr/index.php?journal1=lequiperugby
merci d'avance
nicolas
EC
la solution à été donné ici un peu plus haut
dans le fichier rss_fetch.inc tu dois modifier ISO-8859-1 par UTF-8
Merci pour ces bonnes sources, juste un soucis, mon apostrophe est remplacé par des ?"... Je ne trouve pas le problème
Merci Jerome pour l'UTF-8.
Quelques bugs que j'ai rectifié aussi dans le fichier rss_parse.inc :
Remplacer
$this->feed_version = $attrs['version'];
PAR
if (isset ($attrs['version'])) $this->feed_version = $attrs['version'];
Remplacer
split
PAR
explode
Remplacer
if ( isset($attrs['rel']) and $attrs['rel'] == 'alternate' )
{
$link_el = 'link';
}
else {
$link_el = 'link_' . $attrs['rel'];
}
PAR
if ( isset($attrs['rel']) and $attrs['rel'] != 'alternate' )
$link_el = 'link_' . $attrs['rel'];
else
$link_el = 'link';
Merci pour les infos...je vais maintenant essayer...
J'en redonnerai de nouvelles pour vous dire si ça fonctionné.
Bonjour
Je trouve tout ça bien compliqué...je suis encore novice, mais j'ai hâte de maîtriser tout ça.
Marie-Micheline
Pour le probleme des caractères accentués ("cela fonctionne parfaitement mais m’affiche un « ? » à la place des lettres avec accent"), il faut modifier dans le fichier rss_fetch.inc qui est a la racine du répertoire modpierss la ligne de code de l'encodage:
Remplacer
if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
define('MAGPIE_OUTPUT_ENCODING', 'ISO-8859-1');
}
PAR
if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
}
Merci pour ce script, j'ai testé la méthode rapide avec actifpub mais j'ai également un pb avec les caractètes accentués (un « ? » à la place des lettres avec accent). Merci au brave et valeureux développeur qui va venir à notre secours !!!
Bonjour,
cela fonctionne parfaitement mais m'affiche un ?" à la place des lettres avec accent, ai je loupé quelque chose ?, je ne peux pas l' intégrer à mon futur site comme cela.....
merci
Bonjour à tous,
je cherche depuis plusieurs heures à modifier l'apparence des liens avec le fichier feedparser.php mais je n'y arrive pô. Si j'ai bien compris, je dois créer un fichier style.css (à moins que je puisse inclure le code directement dans le feeparser.php ?), mais comment (avec quel code) dois-je appeler la feuille de style dans ce fichier feedparser.php? Je seche complètement. Si quelqu'un pouvait poster un feedparser.php et un style.css types ce serait sympa.
Merci d'avance à tous!
Bonjour,
Je cherche le moyen d'ajouter des images qui sont pourtant presentes sur le flux.
Avez vous une solution ?
bonsoir;
j'ai fais comme indiqué plus haut, mais sur ma page il s'affiche le message suivant :
Warning: main(feedparser.php) [function.main]: failed to open stream: No such file or directory in essais.php on line 125
Fatal error: main() [function.require]: Failed opening required 'feedparser.php' (include_path='.:/include/') in essais.php on line 125
Que dois-je faire ?
Merci d'avance pour votre aide si précieuse.
Et bien moi j'ai beau avoir fait exactement comme l'exemple (dossier à la racine toussa) ca ne fonctionne pas :(
Il y à quelque chose à activer dans PHP ?
Bonjour, Térence à emis un soucis concernant les caractères spéciaux, Je voulais savoir si une solution a été trouvée.
Merci bien en tout cas. A part ce soucis ça marche au poil ;)
Bonjour Tribal,
En effet, ne te fais pas de souci pour cet avocat. D'abord, t'a-t-il écrit par courrier ? Qui te dit qu'il est avocat ? Comment désire-t-il être payé ? Par chèque ? Très bien , dans ce cas, demande lui son nom et son adresse.....tu n'obtiendras aucune réponse ! Ce type n'est pas un avocat .
C'est un escroc qui cherches à se faire du fric! A quel titre te réclame-t-il ce fric? sur quoi se base-t-il pour évaluer le montant de son "indemnité" ?
N'hésite pas à me contacter si tu as des problèmes.
Ne t'inquiète pas trop.
Il essaie une manoeuvre de "chantage".
À partir du moment où ton article se contente de citer et que tu as mis en clair les sources, tu ne risque absolument rien, d'autant plus que l'article que tu as écrit était édité sur un site public.
Bon week-eng.
Gérard
Bonjour, je viens de recevoir un mail d'un avocat me poursuivant pour plagiat parce que j'ai affiché le flux rss de google news qui affichait 2 de ces articles du site de sont client. Il prétent que j'ai brimé les droit d'auteur de son client. Pourtant, le flux RSS est simplement un titre et une courte description avec un lien vers son site Web. Tous pour avantagé son classement sur les moteurs de recherche.
En suite il me demande 200 Euro pis il sèsse les poursuites et il me dis que si je paye pas les 200 E. Ça va me couter plus cher.
Qu'est-ce que vous en pensez ?
MERCI MON SEIGNEUR DIEU DE BOUZOUC
J'avais essayé il y a des mois de faire marcher magpierss sur mon site wordpressé, en suivant les instructions de divers sites. Et puis j'y arrivais pas, et puis j'essayais de bidouiller, et puis j'y arrivais encore pas, et puis je re faisais des recherches, et je re bidouillais, et j'arrivais encore pas. J'étais encore une biquette en RSS et tout ça il y a 6 mois - et j'en suis toujours une menfin - du coup j'ai franchement eu du mal et j'ai fini par abandonner.
Et puis aujourd'hui je me dis "oh tiens et si je réessayais", et je tombe sur vote site, je suis les instructions, et ça marche nickel.
Hé ba merci beaucoup et gros bisou.
=)
Hello,
En utilisant votre fonction PHP j'ai un problème avec les caractères sépciaux, sur cette page par exemple : .
Comment régler ce problème s'il vous plaît ?
Sympa la fonction, mais attention au '"' oublié !
$html .= n ;
$html .= "n ;