Feedly stava rubando il tuo contenuto - Ecco la storia e il loro codice

La scorsa settimana Feedly ha lanciato una nuova controversa funzionalità: il dirottamento dei link dei feed. Ecco la storia completa del perché le persone sono arrabbiate e di come un blogger abbia contribuito a correggere la situazione.

La scorsa settimana Feedly ha lanciato una nuova controversa funzionalità: il dirottamento dei link dei feed.  Ecco la storia completa del perché le persone sono arrabbiate e di come un blogger abbia contribuito a correggere la situazione.
Annuncio pubblicitario

La scorsa settimana, Feedly ha lanciato una nuova "caratteristica" controverso - dirottando i link dei feed per rubare il traffico da milioni di blogger .

Il reindirizzamento dei collegamenti condivisi con Feedly alla vista personale di Feedly dell'articolo anziché dell'articolo stesso sul sito originale è una preoccupazione per i creatori di contenuti originali su molti blog. Non solo si traduce in perdita di traffico, ma è anche ingannevole per coloro che seguono un determinato blog.

Ecco la storia completa del perché le persone sono arrabbiate e di come un blogger abbia contribuito a correggere la situazione. Ho anche approfondito il loro codice sorgente per mostrarvi quanto sono sporchi i loro piccoli trucchi.

Credito dovuto: il Digital Reader è stato la fonte originale di queste notizie - ho appena deciso di indagare un po 'oltre e vedere esattamente cosa stavano facendo.

Primo, la buona notizia

Al momento della stesura, il comportamento è stato in qualche modo corretto in modo che i collegamenti Feedly abbreviati siano effettivamente inviati al sito dei mittenti, ma un rapido esame del codice di stato HTTP Top 10 siti Web per codici di errore e risoluzione dei problemi relativi ai 10 siti Web per codici di errore & Risoluzione dei problemi Read More ha rivelato che il reindirizzamento non veniva eseguito nel tipico modo a livello di server con un reindirizzamento 301 o 302 (200, che Feedly sta inviando, significa "sì, abbiamo quella pagina, aspetta"; 404 significa " non trovato "; 301 significa" reindirizzamento permanente a un altro URL, mentre 302 significa "reindirizzamento temporaneo") .

Ciò significava che il reindirizzamento veniva eseguito in JavaScript, quindi volevo saperne di più. Utilizzando uno strumento di recupero della pagina web da riga di comando chiamato curl, sono stato in grado di prendere il codice sorgente di un collegamento Feedly di esempio su Techmeme.com prima che si verificasse il reindirizzamento (poiché CURL non eseguiva JavaScript) - e ha rivelato alcuni aspetti sorprendenti. Ecco cosa ho trovato.

(Ho caricato la fonte completa qui se vuoi dare un'occhiata - sto solo mostrando alcuni frammenti interessanti di seguito)

Alcune persone erano preoccupate per le implicazioni SEO di avere fondamentalmente il loro contenuto rubato e ri-pubblicato altrove; la buona notizia è che Feedly ha impostato correttamente il meta tag rel = "canonical" per indicare a Google che tutti i valori dei link devono essere passati al sito originale. Tuttavia, è impossibile accertare se questo è stato aggiunto dopo che i reclami sono iniziati o erano presenti dall'inizio.

Stripping Ads

In quello che è stato probabilmente un tentativo fuorviante di duplicare una funzionalità di tipo Leggibilità 6 Bookmarklets che aumenteranno la velocità e la produttività del Web 6 Bookmarklets che miglioreranno il tuo navigatore Velocità e produttività del surf I segnalibri sono insospettabili piccoli aiutanti che si trovano nella barra dei preferiti del browser. A differenza dei normali segnalibri, non archiviano un URL, piuttosto i bookmarklet sono piccole applet java con una funzionalità con un clic. Ci sono centinaia di ... Read More, che rimuovono una pagina in basso verso il suo nucleo essenziale, Feedly stava eliminando tutti i pulsanti di pubblicità, di monitoraggio e di condivisione sociale che potrebbero essere stati incorporati nell'elemento del feed originale. Ecco l'elenco completo delle cose che vengono rimosse:

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

Tirare fuori un pulsante "donare" sembra particolarmente irritante, per qualche motivo.

Sono collegamenti dirottanti

Qui arriviamo al punto più serio, perché non solo Feedly stava raccogliendo i contenuti dal tuo sito, ma stavano rimuovendo i pulsanti social originali e riscrivendo i meta-dati. Ciò significa che quando qualcuno ha successivamente condiviso l'oggetto, in effetti condivideva il link Feedly e non il post originale . Chiunque clicchi su quel link andrebbe direttamente a Feedly.

Screenshot del contenuto raschiato da TheDigitalReader
Screenshot del contenuto raschiato da TheDigitalReader

Quindi cosa potresti chiedere? Quando un post diventa virale, può essere di grande beneficio per il sito in questione - aumentare le visualizzazioni di pagina e le entrate pubblicitarie e ampliare il loro pubblico. Feedly stava rubando a titolo definitivo questo specifico vantaggio dal sito per espandere la propria base di utenti. Il codice Feedly includeva i controlli per i dispositivi mobili che indirizzavano gli utenti alla pagina dell'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(); } 

Non era "solo rendendo l'articolo più facile da visualizzare" - stava rubando il traffico, semplice e semplice. Non è davvero bello.

La loro prima correzione: una lista di esclusione hardcoded

Quando il Digital Reader si è lamentato per la prima volta di Feedly, la loro risposta è stata quella di ricodificare il Javascript per includere un elenco di esclusione . Hanno letteralmente aggiunto un segno di spunta a ogni link Feedly per vedere se si trattava di un elemento di The Digital Reader e, in tal caso, per bypassare il dirottamento delle pagine.

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

Questo è ovviamente un modo assolutamente ridicolo per farlo - se avessero intenzione di aggiungere a quella lista col passare del tempo e altri blogger si lamentassero?

Nate, di The Digital Reader, ha risposto:

dove esci chiedendo che io esca dal tuo dirottamento? È come dire che dovrei chiedere a qualcuno di smettere di colpirmi in faccia. Eppure pensi che sia ragionevole?

La loro seconda correzione: un attacco rapido per ignorare tutto il codice

Dopo quello che posso solo supporre fosse un numero schiacciante di lamentele che seguirono, aggiustarono il filtro di dirottamento come segue:

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

"Parziale" si riferisce al fatto che il contenuto raschiato è un feed completo o parziale - non c'è alcun punto nel dirottare i feed che pubblicano solo un estratto dopo tutto. Presumibilmente, questa funzione è iniziata come unico controllo che si è verificato quando si è scelto di inviare l'utente al sito originale o meno. Dopo puoi vedere la prima correzione, che chiama la funzione per verificare se questo sito si trova nell'elenco dei siti che hanno disattivato; ma poi vediamo la loro soluzione definitiva sul posto -

 || true. 

Se hai esperienza di programmazione, riconoscerai il trucco rapido che dice "il codice seguente verrà sempre eseguito" e di solito viene utilizzato solo nel debug. Se una qualsiasi di queste 3 condizioni è vera (i primi due non contano più), Feedly reindirizza immediatamente gli utenti al sito originale.

Ed è qui che sta ora. Quindi cosa abbiamo imparato?

Fondamentalmente, Feedly ha iniziato a creare una sorta di esperienza di lettura ridotta, ma il modo in cui l'hanno affrontato, riscrivendo i link per propagare il proprio servizio attraverso le condivisioni sociali successive, è stato piuttosto dannatamente disgustoso. Questa non è la sola mossa sbagliata che Feedly ha recentemente fatto - il mese scorso hanno iniziato a richiedere l'accesso con gli account Google+ (dopo aver visto quanto bene l'accesso a Google+ sta funzionando per YouTube, la sezione commenti di YouTube è ora pulita, per gentile concessione di Google+. Pulito, per gentile concessione di Google+ Google ha ripulito YouTube con un nuovo sistema di commenti basato su Google+. Ora vedrai i commenti più ottimizzati, quelli delle persone nelle tue cerchie di Google+ e dal proprietario del video. indovina), ma anche questo è stato rapidamente ripristinato. La lezione è: potresti iniziare a cercare un feedreader alternativo. Google Reader's End Is Nigh: Preparati con questi lettori RSS alternativi Google Reader's End è vicino: preparati con questi lettori RSS alternativi Google Reader è morto. Entro luglio il primo servizio RSS di Internet si spegnerà per sempre, lasciando agli utenti la possibilità di trovare un sostituto per conto proprio. Se stai cercando un equivalente a Google, questi sono solo ... Leggi altro, a meno che tu non sia già stato risucchiato a pagare $ 99 per un account Pro.

In this article