Annons

Förra veckan, Feedly rullade ut en kontroversiell ny "funktion" - kapa flödeslänkar för att stjäla trafik från miljoner bloggare.

Att omdirigera delade länkar med Feedly till Feedlys egen vy av artikeln istället för själva artikeln på den ursprungliga webbplatsen är ett problem för skapare av originalinnehåll på många bloggar. Det leder inte bara till förlust av trafik, utan är också vilseledande för dem som följer en viss blogg.

Här är hela historien om varför människor är arga och hur en bloggare hjälpte till att rätta till situationen. Jag studerar också deras källkod för att visa hur smutsiga deras små trick är.

Skulder:Den digitala läsaren var den ursprungliga källan för den här nyheten - jag bestämde mig bara för att undersöka lite mer och se exakt vad de gjorde.

Först, de goda nyheterna

I skrivande stund har beteendet korrigerats något så att förkortade Feedly-länkar verkligen skickas till upphovsmannens webbplats, men en snabb undersökning av HTTP-statuskod Topp 10 webbplatser för felkoder och felsökning Läs mer

instagram viewer
avslöjade att omdirigeringen inte gjordes på det vanliga servernivå sättet med en 301 eller 302 omdirigering (200, som Feedly skickar, betyder "japp, vi har den sidan, håll på"; 404 betyder "inte hittat"; 301 betyder "permanent omdirigering till en annan URL; medan 302 betyder "tillfällig omdirigering").

Det innebar att omdirigeringen genomfördes i JavaScript, så jag ville veta mer. Med hjälp av en kommandorads hämtningsverktyg som heter ringla, Jag kunde hämta källkoden för ett exempel på en Feedly-länk till Techmeme.com innan omdirigeringen inträffade (eftersom CURL inte kommer att köra JavaScript) - och det avslöjade några överraskande lurar. Här är vad jag hittade.

(Jag har laddat upp full källa här om du vill ta en titt - jag har bara några intressanta utdrag nedan)

Vissa människor var oroliga för SEO-implikationerna av att i princip ha fått sitt innehåll stulet och publicerat på annat håll; den goda nyheten är att Feedly ställer in korrekt rel = ”canonical” metatagg för att instruera Google att alla länkvärden ska överföras till den ursprungliga webbplatsen. Det är emellertid omöjligt att fastställa om detta lades till efter att klagomål började eller var närvarande från början.

De har tagit bort annonser

I det som troligen var ett missvisat försök att duplicera a Funktionalitet för läsbarhetstyp 6 bokmärken som kommer att öka din webbsurfningshastighet och produktivitetBokmärken är små otrevliga små hjälpare som sitter i din webbläsares bokmärkesfält. Till skillnad från dina vanliga bokmärken arkiverar de inte en URL, snarare är bokmärken små Java-appleter med en klickfunktion. Det finns hundratals ... Läs mer , som raderar en sida ned till dess grundläggande väsentligheter, striade Feedly all annonsering, spårning och sociala delningsknappar som kan ha inbäddats i den ursprungliga flödesobjektet. Här är den fullständiga listan över saker som tas bort:


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", "creatives.commindo-media", "doubleclick.net", "i.techcrunch", "adview", "/ feed.gif", "annonser"," /.. avw.php”, "wp-digg-här", "feed-injektorn", "/ plugins /", "tweetmeme.com", "_ ikonen _", "/ ad -" "share knappar"," feedsportal. com", "BuySellAds", "Holstee", "Musictapp", "/ ad _", "/ knapp /", "donate.png", "/ sponsorer /", "googlesyndication.com", "/ pagead", "/ AdX", "tillgångar / feed-fb", "tillgångar / feed-tw", "feedburner.com/~ff","gstatic.com","feedsportal.com"]; 

Att ta ut en "donera" -knapp verkar särskilt gallande, av någon anledning.

De kapar länkar

Här kommer vi till den allvarligaste punkten, för inte bara skrapade Feedly innehållet från din webbplats, de tappade sedan alla ursprungliga sociala knappar och skrev om metadata. Detta betyder att när någon senare delade föremålet, skulle de faktiskt vara det dela Feedly-länken och inte det ursprungliga inlägget. Den som klickar på den länken går direkt till Feedly.

Skärmdump av skrapat innehåll från TheDigitalReader
Skärmdump av skrapat innehåll från TheDigitalReader

Så vad, kanske du frågar? När ett inlägg blir viralt kan det vara till stor fördel för webbplatsen i fråga - att höja sidvisningar och annonsintäkter och utöka sin publik. Feedly var direkt 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 relevant appstore-sida.

funktionsåtgärd (var) { var actionName = "följ"; var url = " http://feedly.com/#" + kodURURIComponent ("prenumeration /" + feedInfo.id); if (/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 = "marknad: // detaljer? id = com.devhd.feedly "; } _gaq.push (['_trackEvent', hink (), actionName + "." + var, feedInfo.id]); windows.setTimeout (funktion () {document.location.href = url;}, 20); windows.event.cancelBubble = sant. window.event.stopPropagation (); window.event.preventDefault (); }

Det var inte bara "att göra artikeln enklare att se" - den stjal trafik, enkel och enkel. Det är verkligen inte coolt.

Deras första fix: En hårkodad uteslutningslista

När The Digital Reader först klagade till Feedly var deras svar att koda Javascript igen för att inkludera ett uteslutningslista. De lägger bokstavligen till en check till varje Feedly-länk för att se om det var ett objekt från The Digital Reader, och i så fall för att kringgå sidkapningen.


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

Detta är naturligtvis ett helt löjligt sätt att göra detta - planerade de att lägga till den listan när tiden gick och fler bloggare klagade?

Nate, från The Digital Reader svarade:

var går du av med att 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 ansiktet. Och ändå tycker du att det är rimligt?

Deras andra fix: ett snabbt hack för att kringgå all koden

Efter vad jag bara kan anta var överväldigande antal klagomål som följde, justerade de kapningsfiltret på följande sätt:

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

"Delvis" hänvisar till att det skrapade innehållet är ett helt eller delvis flöde - det finns ingen mening med att kapa flöden som bara publicerar ett utdrag trots allt. Antagligen började denna funktion som den enda kontrollen som inträffade när man valde att skicka användaren till den ursprungliga sajten eller inte. Du kan se den första fixen efter det, som anropar 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 fix på plats -


|| Sann.

Om du har någon programmeringsupplevelse känner du igen det snabba hacket som säger "följande kod kommer alltid att köras" och används vanligtvis bara vid felsökning. Om något av dessa tre villkor är sanna (de två första spelar inte längre någon roll), 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 på att skapa en slags slimmad läsupplevelse, men hur de gick omkring it - att skriva om länkar för att sprida sin egen tjänst genom efterföljande sociala aktier var ganska fördömd äcklig. Detta är inte det enda dåliga steget som Feedly har gjort nyligen heller - förra månaden, de började kräva inloggning med Google+ konton (efter att ha sett hur bra Google+ inloggning fungerar för YouTube YouTubes kommentaravsnitt är nu städat upp, med tillstånd från Google+Google har städat upp YouTube med ett nytt Google+ driven kommentarsystem. Nu ser du de mest kommenterade kommentarerna, de från personer i dina Google+ cirklar och från ägaren till videon. Läs mer , Antar jag), men det blev också snabbt tillbaka. Lektionen är - du kanske vill börja hitta en alternativ matare Google Reader's End är nära: Förbered dig med dessa alternativa RSS-läsareGoogle Reader är död. I juli stängs Internets främsta RSS-tjänst för evigt och lämnar användare att hitta en ersättning på egen hand. Om du letar efter en motsvarighet till Google är dessa bara ... Läs mer , såvida du inte redan suttit till att betala $ 99 för ett Pro-konto.

James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.