Feedly hat deine Inhalte gestohlen - hier ist die Geschichte und ihr Code

Letzte Woche hat Feedly eine kontroverse neue Funktion ausgerollt - die Feed-Links gekidnappt. Hier ist die ganze Geschichte, warum Menschen wütend sind und wie ein Blogger dazu beigetragen hat, die Situation zu korrigieren.

Letzte Woche hat Feedly eine kontroverse neue Funktion ausgerollt - die Feed-Links gekidnappt.  Hier ist die ganze Geschichte, warum Menschen wütend sind und wie ein Blogger dazu beigetragen hat, die Situation zu korrigieren.
Werbung

Letzte Woche hat Feedly ein kontroverses neues "Feature" ausgerollt - Feed-Links entführt, um den Traffic von Millionen von Bloggern zu stehlen .

Das Umleiten von freigegebenen Links mit Feedly zu Feedlys eigener Ansicht des Artikels anstelle des Artikels selbst auf der ursprünglichen Website ist ein Problem für die ursprünglichen Ersteller von Inhalten in vielen Blogs. Das führt nicht nur zu Trafficverlusten, sondern trügt auch für diejenigen, die einem bestimmten Blog folgen.

Hier ist die ganze Geschichte, warum Menschen wütend sind und wie ein Blogger dazu beigetragen hat, die Situation zu korrigieren. Ich gehe auch auf ihren Quellcode ein, um Ihnen zu zeigen, wie schmutzig ihre kleinen Tricks sind.

Kredit fällig: Der Digital Reader war die ursprüngliche Quelle für diese Nachricht - ich habe mich gerade entschieden, ein wenig weiter zu forschen und genau zu sehen, was sie vorhatten.

Zuerst die gute Nachricht

Zum Zeitpunkt des Schreibens wurde das Verhalten etwas korrigiert, so dass gekürzte Feedly-Links tatsächlich an die Originator-Site gesendet werden, aber eine schnelle Untersuchung des HTTP-Statuscodes. Top 10 Websites für Fehlercodes und Fehlerbehebung Top 10 Websites für Fehlercodes & Fehlerbehebung Read More ergab, dass die Weiterleitung nicht in der typischen Server-Ebene mit 301 oder 302 Redirect durchgeführt wurde (200, die Feedly sendet, bedeutet "yep, wir haben diese Seite, festhalten"; 404 bedeutet " nicht gefunden "; 301 bedeutet" permanent auf eine andere URL umleiten; während 302 "temporäre Umleitung" bedeutet) .

Dies bedeutete, dass die Umleitung in JavaScript durchgeführt wurde, also wollte ich mehr wissen. Mit einem Befehlszeilen-Tool zum Aufrufen von Webseiten namens curl konnte ich den Quellcode eines Beispiel-Feedly-Links zu Techmeme.com abrufen, bevor die Umleitung erfolgte (da CURL kein JavaScript ausführen wird) - und es wurden einige überraschende Leckerbissen entdeckt. Hier ist, was ich gefunden habe.

(Ich habe die vollständige Quelle hier hochgeladen, wenn Sie einen Blick darauf werfen möchten - ich zeige nur einige interessante Ausschnitte unten)

Einige Leute waren besorgt über die SEO-Implikationen, dass ihre Inhalte grundsätzlich gestohlen und an anderer Stelle wieder veröffentlicht wurden; Die gute Nachricht ist, dass Feedly das Meta-Tag rel = "canonical" richtig gesetzt hat, um Google anzuweisen, dass alle Link-Werte an die ursprüngliche Site weitergegeben werden sollen. Es ist jedoch unmöglich festzustellen, ob dies nach dem Beginn der Beschwerden hinzugefügt wurde oder von Anfang an vorhanden war.

Sie sind Stripping-Anzeigen

In was war wahrscheinlich ein fehlgeleiteter Versuch, eine Lesbarkeit Typ Funktionalität 6 Bookmarklets, die Ihre Web-Surfing-Geschwindigkeit und Produktivität zu steigern 6 Bookmarklets, die Ihre Web-Surfgeschwindigkeit und Produktivität steigern wird Bookmarklets sind unverschämt kleine Helfer, die in der Lesezeichenleiste Ihres Browsers sitzen. Anders als Ihre normalen Lesezeichen archivieren sie keine URL, sondern Bookmarklets sind kleine Java-Applets mit einer Ein-Klick-Funktionalität. Es gibt hunderte von ... Lesen Sie mehr, die eine Seite auf ihre Kernelemente abzustreifen, hat Feedly alle Werbe-, Tracking-und Social-Sharing-Schaltflächen entfernt, die in das ursprüngliche Feed-Element eingebettet worden sein könnten. Hier ist die vollständige Liste der Dinge, die entfernt werden:

 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"]; 

Einen "Spenden" -Knopf zu erhalten, scheint aus irgendeinem Grund besonders ärgerlich zu sein.

Sie sind Hijacking Links

Hier kommen wir zum ernstesten Punkt, denn Feedly kratzte nicht nur den Inhalt von Ihrer Seite, sondern streifte auch die ursprünglichen sozialen Knöpfe ab und schrieb die Meta-Daten um. Dies bedeutet, dass wenn jemand den Artikel später geteilt hat, er tatsächlich den Feed-Link und nicht den ursprünglichen Beitrag teilen würde. Jeder, der auf diesen Link klickt, geht direkt zu Feedly.

Screenshot des ausgekratzten Inhalts von TheDigitalReader
Screenshot des ausgekratzten Inhalts von TheDigitalReader

Also, was könnten Sie fragen? Wenn ein Post viral wird, kann dies für die betreffende Website von großem Nutzen sein - indem Seitenaufrufe und Anzeigeneinnahmen erhöht werden und die Zielgruppe erweitert wird. Feedly hat diesen spezifischen Vorteil direkt von der Site gestohlen, um seine eigene Benutzerbasis zu erweitern. Der Feed-Code enthielt Prüfungen für mobile Geräte, die die Benutzer zur entsprechenden Appstore-Seite leiten würden.

 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(); } 

Es war nicht "einfach, den Artikel einfacher zu sehen" - es war Diebstahl von Verkehr, schlicht und einfach. Das ist wirklich nicht cool.

Ihr erster Fix: Eine Hardcoded Exclusion List

Als der digitale Leser sich zuerst bei Feedly beschwerte, war seine Antwort, das Javascript neu zu kodieren, um eine Ausschlussliste aufzunehmen . Sie fügten jedem Feedly-Link buchstäblich ein Häkchen hinzu, um zu sehen, ob es sich um ein Element von The Digital Reader handelte, und wenn ja, um die Seitenübernahme zu umgehen.

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

Das ist natürlich eine absolut lächerliche Art, dies zu tun - wollten sie diese Liste mit der Zeit erweitern und mehr Blogger beschwerten?

Nate von The Digital Reader hat geantwortet:

Wo kommst du darauf, dass ich deine Entführung ablehne? Es ist so, als würde ich sagen, dass ich jemanden bitten sollte, mich nicht mehr in die Brieftasche zu schlagen. Und doch denkst du das ist vernünftig?

Ihr zweiter Fix: Ein schneller Hack, um den ganzen Code zu umgehen

Nach dem, was ich nur annehmen kann, war eine überwältigende Anzahl von Beschwerden, die folgten, stellten sie den Hijacking-Filter wie folgt ein:

 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"; } 

"Teilweise" bezieht sich auf den geschabten Inhalt, der ein vollständiger oder teilweiser Feed ist - es hat keinen Sinn, in Hijacking-Feeds nur einen Auszug zu veröffentlichen. Vermutlich begann diese Funktion als die einzige Prüfung, die bei der Auswahl getroffen wurde, ob der Benutzer zur ursprünglichen Site gesendet werden soll oder nicht. Sie können danach die erste Korrektur sehen, die die Funktion aufruft, um zu prüfen, ob diese Site in der Liste der Sites ist, die sich abgemeldet haben; Aber dann sehen wir ihre endgültige Lösung -

 || true. 

Wenn Sie irgendwelche Programmiererfahrung haben, werden Sie den schnellen Hack erkennen, der besagt, dass "der folgende Code immer ausgeführt wird". Er wird normalerweise nur beim Debuggen verwendet. Wenn eine dieser drei Bedingungen erfüllt ist (die ersten beiden sind nicht mehr relevant), leitet Feedly die Benutzer sofort zur ursprünglichen Site um.

Und hier steht es jetzt. Was haben wir gelernt?

Im Grunde ging es bei Feedly darum, eine Art abgespecktes Leseerlebnis zu schaffen, aber die Art und Weise, wie sie damit umgegangen sind - das Umschreiben von Links, um ihren eigenen Dienst durch nachfolgende Social Shares zu verbreiten, war verdammt ekelhaft. Dies ist nicht der einzige negative Schritt, den Feedly kürzlich vorgenommen hat - letzten Monat begannen sie, sich mit Google+ Konten einzuloggen (nachdem sie gesehen hatten, wie gut Google+ Login für YouTube funktioniert Aufgeräumt, mit freundlicher Genehmigung von Google+ Google hat YouTube mit einem neuen Kommentarsystem auf Google+ aufgeräumt: Sie sehen jetzt die am häufigsten aktualisierten Kommentare, die von Personen in Ihren Google+ Kreisen und vom Eigentümer des Videos rate), aber auch das wurde schnell wieder rückgängig gemacht. Die Lektion ist - Sie könnten beginnen, einen alternativen Feedreader zu finden Google Readers Ende ist nah: Bereiten Sie sich mit diesen alternativen RSS Leser Google Readers Ende ist nah: Bereiten Sie sich mit diesen alternativen RSS Leser Google Reader ist tot. Im Juli wird der wichtigste RSS-Dienst des Internets für immer heruntergefahren, sodass die Benutzer selbst einen Ersatz finden. Wenn Sie nach einem Äquivalent zu Google suchen, dann sind diese nur ... Read More, es sei denn, Sie waren bereits betrogen, um $ 99 für ein Pro-Konto zu bezahlen.

In this article