Feedly stal ditt innehåll - här är historien och deras kod
Förra veckan rullade Feedly ut en kontroversiell ny “funktion” - kapning av foderlänkar för att stjäla trafik från miljontals bloggare.
Omdirigering av delade länkar med Feedly till Feedlys egen syn på artikeln istället för själva artikeln på den ursprungliga webbplatsen är ett bekymmer för originalinnehållare på många bloggar. Det resulterar inte bara i förlust av trafik, men är också vilseledande för dem som följer en viss blogg.
Här är den fullständiga historien om varför människor är arg och hur en bloggare hjälpte till att rätta till situationen. Jag dyker också in i källkoden för att visa dig hur smutsiga deras lilla trick är.
Förfallna skulder: Digitalläsaren var den ursprungliga källan till den här nyheten - jag bestämde mig för att undersöka lite längre och se exakt vad de var för.
Först, det goda nyheterna
Vid skrivning har beteendet blivit något korrigerat så att förkortade Feedly-länkar skickas faktiskt till upphovsmannens webbplats, men en snabb undersökning av HTTP-statuskoden Topp 10 webbplatser för felkoder och felsökning Top 10 webbplatser för felkoder & Felsökning Läs mer visade att omdirigeringen inte gjordes på den typiska servernivå med en 301 eller 302 omdirigering (200, vilket Feedly skickar, betyder “Ja, vi har den sidan, fortsätt”; 404 betyder “hittades inte”; 301 betyder “permanent omdirigering till en annan webbadress medan 302 betyder “tillfällig omdirigering”).
Detta innebar att omdirigeringen utfördes i JavaScript, så jag ville veta mer. Med hjälp av en kommandorads webbsida som hämtade verktyget kallas curl kunde jag ta tag i källkoden för ett prov Feedly länk till Techmeme.com innan omdirigeringen inträffade (eftersom CURL inte kör JavaScript) - och det avslöjade några överraskande pratbitar. Här är vad jag hittade.
(Jag har laddat upp hela källan här om du vill ta en titt - jag har bara några intressanta utdrag nedan)
Vissa människor var oroliga för SEO-konsekvenserna av att i princip ha sitt innehåll stulet och åter publiceras på annat håll; Den goda nyheten är att Feedly korrekt ställer in rel =“kanonisk” metataggen för att instruera Google att alla länkvärden ska skickas till den ursprungliga webbplatsen. Det är emellertid omöjligt att fastställa om detta tillsattes efter att klagomål började eller var närvarande från början.
De är Stripping Ads
I det som förmodligen var ett felaktigt försök att duplicera en läsbarhetstypfunktionalitet 6 bokmärken som kommer att öka din surfningshastighet och produktivitet 6 webbläsare som kommer att öka din webbsurfning och produktivitet Bookmarklets är omedvetna småhjälpare som sitter i webbläsarens bokmärkesfält. Till skillnad från dina vanliga bokmärken arkiverar de inte en webbadress, snarare bokmärken är små Java-appletter med enklickfunktion. Det finns hundratals ... Läs mer, som remsor en sida ner till dess kärnkrav, Feedly tog bort alla reklam-, spårnings- och sociala delknappar som kan ha varit inbäddade i originalmatningsobjektet. Här är den fullständiga listan över saker som strippas ut:
var visualExcludePatterns = ["feedproxy", "feedburner", "/ ~", "feeds.wordpress.com", "stats.wordpress.com", "googleadservices.com", "feedads", "tweet-this" fmpub " "- annonser", "_ annonser", "pheedo", "Zemanta"," u.npr.org/iserver","openx.org","slashdot-it","smilies","/ico- " "commindo-media.de", "annonser creatives.commindo-media", "doubleclick.net", "i.techcrunch", "adview", "/ feed.gif", "."," / AVW .php”,"Wp-digg-här", "feed-injektorn", "/ plugins /", "tweetmeme.com", "_ ikon _", "/ ad -" "share knappar", "feedsportal.com", "BuySellAds "," holstee "," musictapp "," / ad _ "," / button / "," donate.png "," / sponsorer / "," googlesyndication.com "," / pagead "," / adx " tillgångar / feed-fb", "tillgångar / feed-tw", "feedburner.com/~ff","gstatic.com","feedsportal.com"];
Ta ut en “donera” knappen verkar speciellt galande, av någon anledning.
De är kapningslänkar
Här kommer vi till den allvarligaste punkten, för inte bara Feedly skrapade innehållet från din webbplats, de tog sedan bort några ursprungliga sociala knappar och skrev om metadata. Det betyder att när någon senare delade objektet skulle de faktiskt vara dela Feedly-länken och inte det ursprungliga inlägget. Den som klickar på den länken går direkt till Feedly.
Så vad kanske du frågar? När ett inlägg går viralt kan det vara till stor nytta för webbplatsen i fråga - höja sidvisningar och annonsintäkter och utöka deras publik. Feedly var ständigt att stjäla den specifika fördelen bort från webbplatsen för att utöka sin egen användarbas. Feedly-koden inkluderade kontroller för mobila enheter som skulle leda användarna till den relevanta appstore-sidan.
funktionsåtgärd (var) var actionName = "follow"; var url = "http://feedly.com/#" + encodeURIComponent ("prenumeration /" + feedInfo.id); om (/iPhone|iPad/i.test (navigator.userAgent)) actionName = "installera"; url = "http://itunes.apple.com/us/app/feedly/id396069556"; annars om (/android/i.test (navigator.userAgent)) actionName = "installera"; url = "market: // detaljer? id = com.devhd.feedly"; _gaq.push (['_trackEvent', hink (), actionName + "." + where, feedInfo.id]); window.setTimeout (funktion () document.location.href = url;, 20); window.event.cancelBubble = sant window.event.stopPropagation (); window.event.preventDefault ();
Det var det inte “gör bara artikeln enklare att se” - det stal trafiken, ren och enkel. Det är verkligen inte coolt.
Deras första fix: En hårdkodad uteslutningslista
När Digital Reader först klagade till Feedly, var deras svar att omkoda Javascript för att inkludera en uteslutningslista. De lade bokstavligen en check till varje Feedly-länk för att se om det var ett objekt från Digital Reader, och om så skulle passera sidan kapning.
var siteExcludePatterns = ["/ TheDigitalReader /"]; funktion shouldExcludeSite (url)
Det här är förstås en helt löjligt sätt att göra detta - var de planerade att lägga till den listan som tiden gick och fler bloggare klagade?
Nate, från Digital Reader svarade:
var börjar du kräva att jag väljer bort din kapning? Det är som att säga att jag borde behöva be någon att sluta slå mig i ansiktsplånboken. Och ändå tycker du att det är rimligt?
Deras andra fix: En snabb hack för att byta alla koden
Efter det jag bara kan anta var överväldigande antal klagomål som följde, justerade de kapningsfiltret enligt följande:
om (vänlig == "partiell" || shouldExcludeSite ("http://www.techmeme.com/131202/p30#a131202p30") || true) document.body.innerHTML = ""; document.location.href = "http://www.techmeme.com/131202/p30#a131202p30";
“Partiell” hänvisar till att det skrapade innehållet är en hel eller delvis matning - det finns ingen mening i kapningsfeeds som bara publicerar ett utdrag trots allt. Förmodligen började denna funktion som den enda kontrollen som inträffade när man valde huruvida man skulle skicka användaren till den ursprungliga webbplatsen eller inte. Du kan se den första åtgärden efter det, som kallar funktionen för att kontrollera om den här webbplatsen finns på listan över webbplatser som har valt bort. men då ser vi deras slutliga fixa på plats -
|| Sann.
Om du har någon programmeringserfarenhet kommer du att känna igen det snabba hack som säger “Följande kod kommer alltid att köras”, och brukar bara användas vid felsökning. Om någon av dessa 3 villkor är sanna (de två första inte längre är viktiga), omdirigerar Feedly användarna direkt till den ursprungliga webbplatsen.
Och det är där det står nu. Så vad har vi lärt oss?
I grund och botten gick Feedly om att skapa en sorts nedsläckt läsupplevelse, men hur de gick om det - omskrivning av länkar för att sprida sin egen tjänst genom efterföljande sociala aktier var ganska förbannad motbjudande. Det här är inte det enda dåliga flyget Feedly har gjort nyligen heller - förra månaden började de behöva logga in med Google+ konton (har sett hur bra Google+ inloggning fungerar för YouTube YouTubes kommentaravsnitt nu rengjorts, heder av Google+ YouTubes kommentarer avsnitt nu Renat upp, Heder av Google+ Google har rengjort YouTube med ett nytt kommandosystem för Google+ drivrutiner. Nu ser du de mest uppdelade kommentarerna, de från personer i dina Google+ cirklar och från ägaren till videon. Läs mer, jag gissa), men det var också snabbt tillbaka. Lektionen är - du kanske vill börja hitta en alternativ feedreader Google Reader's End är nära: Förbered dig på dessa alternativa RSS-läsare Google Reader's End är nära: Förbered dig på dessa alternativa RSS-läsare Google Reader är död. I juli stänger Internetens främsta RSS-tjänst för alltid, vilket gör att användarna kan hitta en ersättare på egen hand. Om du letar efter ett ekvivalent med Google så är det bara ... Läs mer, om du inte redan hade suckered att betala $ 99 för ett Pro-konto.
Utforska mer om: Feed Reader, FeedReader, RSS.