Feedly a été voler votre contenu - Voici l'histoire, et leur code

La semaine dernière, Feedly a lancé une nouvelle fonctionnalité controversée - détourner des liens de flux. Voici l'histoire complète de pourquoi les gens sont en colère, et comment un blogueur a aidé à redresser la situation.

La semaine dernière, Feedly a lancé une nouvelle fonctionnalité controversée - détourner des liens de flux.  Voici l'histoire complète de pourquoi les gens sont en colère, et comment un blogueur a aidé à redresser la situation.
Publicité

La semaine dernière, Feedly a lancé une nouvelle "fonctionnalité" controversée - détournant des liens de flux pour voler le trafic de millions de blogueurs .

Rediriger des liens partagés avec la propre vue de Feedly to Feedly sur l'article au lieu de l'article lui-même sur le site d'origine est une préoccupation pour les créateurs de contenu originaux sur de nombreux blogs. Cela entraîne non seulement une perte de trafic, mais est également trompeur pour ceux qui suivent un blog particulier.

Voici l'histoire complète de pourquoi les gens sont en colère, et comment un blogueur a aidé à redresser la situation. Je me penche également sur leur code source pour vous montrer à quel point leurs petits trucs sont sales.

Crédit dû: Le lecteur numérique était la source originale de cette nouvelle - j'ai juste décidé d'enquêter un peu plus loin et de voir exactement ce qu'ils faisaient.

D'abord, la bonne nouvelle

Au moment de l'écriture, le comportement a été quelque peu corrigé afin que les liens Feedly raccourcis sont en effet envoyés au site d'origine, mais un examen rapide du code d'état HTTP Top 10 des sites Web pour les codes d'erreur et dépannage Dépannage Read More a révélé que la redirection n'était pas effectuée au niveau du serveur type avec une redirection 301 ou 302 (200, que Feedly envoie, signifie "oui, nous avons cette page, attendez"; 404 signifie " non trouvé "; 301 signifie" redirection permanente vers une autre URL, tandis que 302 signifie "redirection temporaire") .

Cela signifiait que la redirection était en cours de réalisation en JavaScript, donc je voulais en savoir plus. À l'aide d'un outil de récupération de page Web en ligne de commande appelé curl, j'ai pu récupérer le code source d'un exemple de lien Feedly vers Techmeme.com avant que la redirection ne se produise (car CURL n'exécutera pas JavaScript). Voici ce que j'ai trouvé.

(J'ai téléchargé la source complète ici si vous voulez jeter un coup d'oeil - je ne montre que quelques extraits intéressants ci-dessous)

Certaines personnes s'inquiétaient des implications du référencement naturel du fait que leur contenu soit volé et republié ailleurs; La bonne nouvelle est que Feedly a correctement défini la balise rel = "canonical" pour indiquer à Google que toutes les valeurs de lien doivent être transmises sur le site d'origine. Cependant, il est impossible de savoir si cela a été ajouté après le début ou le début des plaintes.

Ils dépouillent les annonces

Dans ce qui était probablement une tentative erronée de dupliquer une fonctionnalité de type Readability 6 Bookmarklets qui va booster votre vitesse de navigation Web et de la productivité 6 Bookmarklets qui vont booster votre vitesse de navigation Web et la productivité sont les petites aides insusceptibles qui siègent dans la barre de favoris de votre navigateur. Contrairement à vos signets habituels, ils n'archivent pas d'URL, mais plutôt les bookmarklets sont de petites applets Java avec une fonctionnalité en un clic. Il y a des centaines de ... Read More, qui dépouille une page de ses éléments essentiels, Feedly supprimait tous les boutons de publicité, de suivi et de partage social qui ont pu être intégrés dans le flux original. Voici la liste complète des choses qui sont supprimées:

 var visualExcludePatterns = [ "feedproxy", "feedburner", "/~", "feeds.wordpress.com", "stats.wordpress.com", "googleadservices.com", "feedads", "tweet-this", "fmpub", "-ads", "_ads", "pheedo", "zemanta", "u.npr.org/iserver", "openx.org", "slashdot-it", "smilies", "/ico-", "commindo-media.de", "creatives.commindo-media", "doubleclick.net", "i.techcrunch", "adview", "/feed.gif", ".ads.", "/avw.php”, "wp-digg-this", "feed-injector", "/plugins/", "tweetmeme.com", "_icon_", "/ad-", "share-buttons", "feedsportal.com", "buysellads", "holstee", "musictapp", "/ad_", "/button/", "donate.png"", "/sponsors/", "googlesyndication.com", "/pagead", "/adx", "assets/feed-fb", "assets/feed-tw", "feedburner.com/~ff", "gstatic.com", "feedsportal.com"]; 

Sortir un bouton «donner» semble particulièrement irritant, pour une raison quelconque.

Ils détournent des liens

Ici nous arrivons au point le plus sérieux, car non seulement Feedly raclant le contenu de votre site, ils dépouillaient alors tous les boutons sociaux originaux et réécrivaient les méta-données. Cela signifie que lorsque quelqu'un partagera ultérieurement l'objet, il partagera en fait le lien Feedly et non le message original . Toute personne cliquant sur ce lien irait directement à Feedly.

Capture d'écran du contenu écorché de TheDigitalReader
Capture d'écran du contenu écorché de TheDigitalReader

Alors quoi, vous pourriez demander? Lorsqu'un message devient viral, il peut être très bénéfique pour le site en question - en augmentant les pages vues et les revenus publicitaires, et en élargissant son audience. Feedly a carrément volé cet avantage spécifique loin du site pour élargir sa propre base d'utilisateurs. Le code Feedly incluait des vérifications pour les appareils mobiles qui dirigeaient les utilisateurs vers la page d'appstore pertinente.

 function action( where ) { var actionName = "follow"; var url = "http://feedly.com/#" + encodeURIComponent( "subscription/" + feedInfo.id ); if( /iPhone|iPad/i.test( navigator.userAgent ) ) { actionName = "install"; url = "http://itunes.apple.com/us/app/feedly/id396069556"; } else if( /android/i.test( navigator.userAgent ) ) { actionName = "install"; url = "market://details?id=com.devhd.feedly"; } _gaq.push( [ '_trackEvent', bucket(), actionName + "." + where, feedInfo.id ] ); window.setTimeout( function() { document.location.href = url;}, 20 ); window.event.cancelBubble = true window.event.stopPropagation(); window.event.preventDefault(); } 

Il ne s'agissait pas simplement de «rendre l'article plus facile à voir» - il volait la circulation, simplement et simplement. Ce n'est vraiment pas cool.

Leur première difficulté: une liste d'exclusion codée en dur

Lorsque The Digital Reader s'est plaint à Feedly, sa réponse a été de recoder le Javascript pour inclure une liste d'exclusion . Ils ont littéralement ajouté une vérification à chaque lien Feedly pour voir s'il s'agissait d'un élément de The Digital Reader et, dans l'affirmative, pour contourner le détournement de page.

 var siteExcludePatterns = [ "/TheDigitalReader/" ]; function shouldExcludeSite( url ) 

C'est bien sûr une façon absolument absurde de le faire - avaient-ils l'intention d'ajouter à cette liste au fur et à mesure que le temps passait et que plus de blogueurs se plaignaient?

Nate, de The Digital Reader a répondu:

D'où viens-tu pour exiger que je me retire de ton détournement? C'est comme dire que je devrais demander à quelqu'un d'arrêter de me frapper au visage. Et pourtant tu penses que c'est raisonnable?

Leur deuxième difficulté: un hack rapide pour contourner tout le code

Après ce que je ne peux que supposer était un nombre écrasant de plaintes qui ont suivi, ils ont ajusté le filtre de détournement comme suit:

 if( kind == "partial" || shouldExcludeSite( "http://www.techmeme.com/131202/p30#a131202p30" ) || true ) { document.body.innerHTML = ""; document.location.href = "http://www.techmeme.com/131202/p30#a131202p30"; } 

"Partiel" fait référence à un contenu complet ou partiel - il ne sert à rien de détourner des flux qui publient seulement un extrait après tout. Vraisemblablement, cette fonction a commencé comme la seule vérification qui s'est produite lors du choix d'envoyer ou non l'utilisateur sur le site d'origine. Vous pouvez voir le premier correctif après cela, qui appelle la fonction pour vérifier si ce site est sur la liste des sites qui ont désactivé; mais alors nous voyons leur dernière solution en place -

 || true. 

Si vous avez une expérience de programmation, vous reconnaîtrez le hack rapide qui dit que "le code suivant sera toujours exécuté", et il est généralement utilisé uniquement dans le débogage. Si l'une de ces trois conditions est vraie (les deux premières n'ont plus d'importance), Feedly redirige instantanément les utilisateurs vers le site d'origine.

Et c'est là où il se trouve maintenant. Alors qu'avons-nous appris?

Fondamentalement, Feedly a commencé à créer une sorte d'expérience de lecture amincie, mais la façon dont ils l'ont fait - réécrire des liens pour propager leur propre service par le biais des actions sociales ultérieures était assez dégoûtant. Ce n'est pas le seul mauvais coup que Feedly a fait récemment - le mois dernier, ils ont commencé à se connecter avec des comptes Google+ (après avoir vu à quel point les connexions Google+ fonctionnent pour YouTube) YouTube Section des commentaires Maintenant nettoyé, courtoisie de Google+ Nettoyé, avec l'aimable autorisation de Google+ Google a nettoyé YouTube avec un nouveau système de commentaires fonctionnant sous Google+. Vous verrez désormais les commentaires les plus mis à jour, ceux des personnes de vos cercles Google+ et ceux du propriétaire de la vidéo. devinez), mais cela aussi a été rapidement inversé. La leçon est - vous voudrez peut-être commencer à trouver un lecteur alternatif La fin de Google Reader est proche: Préparer avec ces lecteurs RSS alternatives La fin de Google Reader est proche: Préparer avec ces lecteurs RSS alternatives Google Reader est mort. En juillet, le premier service RSS d'Internet est en train de s'éteindre pour toujours, laissant les utilisateurs trouver eux-mêmes un remplaçant. Si vous cherchez un équivalent à Google, ce sont juste ... Lire la suite, sauf si vous étiez déjà aspirés à payer 99 $ pour un compte Pro.

In this article