2 minute(s) de lecture

icone flux rss.pngIl n’est pas rare de voir ses propres contenus recopiés à droite et à gauche par différents sites plus ou moins bien intentionnés, qui cherchent trop souvent à monétiser votre contenu ou bien à bénéficier de vos contenus pour leur propre référencement. C’est en voyant passer des twits aujourd’hui, sur le fait que Blogbang s’est mis à indexer salement sur son site les contenus de tous les gens qui utilisent cette plateforme publicitaire, que j’ai eu une idée lumineuse (enfin je crois :-)) pour limiter ce genre d’abus.

La plupart des robots/sites/voyous qui tentent de s’approprier votre contenu le font en utilisant le contenu de votre flux RSS. Et dans la plupart des cas, pour trouver votre flux, ces système utilisent ce que l’on appelle l’autodiscovery, un mécanisme qui fonctionne en indiquant aux robots dans une balise HTML spécifique de l’entête de votre quelle est l’url de votre flux. Ce système est aussi utilisé par les navigateurs pour afficher l’icone “RSS” dans la barre d’adresse afin de vous permettre de vous abonner facilement.

L’idée est donc de faire en sorte que par ce mécanisme, les robots ne trouvent pas votre flux contenant l’intégralité de vos articles, mais plutôt qu’ils détectent un flux spécialement conçu pour eux, ne contenant que des résumés très courts de vos articles. Pour cela c’est assez simple: vous allez sur Feedburner, et vous créez un flux RSS que vous configurer pour ne présenter que des articles tronqués (via l’onglet “Optimize” / “Summary Burner”). Une fois ce flux généré, deux possibilités:

  • Vous avez un gros encart sur votre site pour inciter les gens à s’abonner, avec en particulier le lien RSS, auquel cas, vous pouvez vous passer de l’autodiscovery comme méthode d’abonnement, et alors il suffit de remplacer dans l’entête de votre site la balise:

</code> par la balise

</code>

  • Vous souhaitez que les navigateurs continuent de proposer le lien d’abonnement correct dans la barre d’adresse, auquel cas, au lieu de remplacer la balise comme indiqué précédemment, il vous suffit d’ajouter la balise pointant vers votre flux tronqué avant la balise pointant vers votre flux intégral. En effet, lorsque les robots tombent sur plusieurs balises précisant un flux, ils ont tendances à prendre la première (conformément aux spécifications de l’autodiscovery).

Des deux méthodes, la première est la plus radicale, car avec la seconde méthode, un robot très intelligent pourrait détecter l’astuce.

Voila, avec ce système, vos utilisateurs continuent à s’abonner à votre flux normal, mais les robots auront tendance à récupérer votre flux tronqué… Alors elle n’est pas lumineuse l’idée ? Je viens de la mettre en place sur Veille Perso et les articles sont tronqués à 50 caractères ;-)

Update : J’ai peaufiné la méthode, et il existe une troisième solution, qui à mon avis est la meilleure. D’abord on remplace le flux normal par le flux tronqué dans l’entête du blog (selon la méthode de la première solution), puis en fin de page, avant la balise </body>, on ajoute le javascript suivant (à personnaliser avec vos urls de flux):

<script type=”text/javascript”> try { var links = document.getElementsByTagName('head')[0].getElementsByTagName('link'); for(i = 0; i < links.length; i++) { if (links[i].href == 'http://mon_flux_tronqué') { links[i].href = 'http://mon_flux_intégral'; } } } catch (e) {}; </script> @@

Ce script permet de remettre, via du javascript, la bonne url d’autodiscovery (celle avec les articles en intégralité). Ainsi une personne qui s’abonne en utilisant le picto RSS de la barre d’adresse de son navigateur aura bien le flux avec les articles “entiers” alors qu’un robot quelconque ne verra que le flux tronqué … CQFD ;-) </code>