Feedly ήταν κλοπή του περιεχομένου σας - εδώ είναι η ιστορία, και ο κώδικας τους

Την περασμένη εβδομάδα, η Feedly ξεκίνησε ένα αμφισβητούμενο νέο χαρακτηριστικό - την αεροπειρατεία feed links. Εδώ είναι η πλήρης ιστορία γιατί οι άνθρωποι είναι θυμωμένοι, και πώς ένας blogger βοήθησε να διορθωθεί η κατάσταση.

Την περασμένη εβδομάδα, η Feedly ξεκίνησε ένα αμφισβητούμενο νέο χαρακτηριστικό - την αεροπειρατεία feed links.  Εδώ είναι η πλήρης ιστορία γιατί οι άνθρωποι είναι θυμωμένοι, και πώς ένας blogger βοήθησε να διορθωθεί η κατάσταση.
Διαφήμιση

Την περασμένη εβδομάδα, η Feedly ξεκίνησε ένα αμφιλεγόμενο νέο "χαρακτηριστικό γνώρισμα" - πειρατεία συνδέσμους τροφών για να κλέψει την κυκλοφορία από εκατομμύρια bloggers .

Η ανακατεύθυνση των κοινόχρηστων συνδέσεων με την άποψη της Feedly στην Feedly για το άρθρο αντί για το ίδιο το άρθρο στον αρχικό ιστότοπο αποτελεί ανησυχία για τους αρχικούς δημιουργούς περιεχομένου σε πολλά ιστολόγια. Δεν οδηγεί μόνο σε απώλεια της κυκλοφορίας, αλλά είναι επίσης παραπλανητική για όσους ακολουθούν ένα συγκεκριμένο ιστολόγιο.

Εδώ είναι η πλήρης ιστορία γιατί οι άνθρωποι είναι θυμωμένοι, και πώς ένας blogger βοήθησε να διορθωθεί η κατάσταση. Επίσης, βυθίζω τον πηγαίο κώδικα για να σας δείξω πόσο βρώμικα είναι τα μικρά κόλπα τους.

Πιστωτική οφειλή: Ο Ψηφιακός Αναγνώστης ήταν η αρχική πηγή για αυτά τα νέα - μόλις αποφάσισα να ερευνήσω λίγο περισσότερο και να δω ακριβώς τι είχαν να κάνουν.

Πρώτον, τα καλά νέα

Κατά τη στιγμή της σύνταξης, η συμπεριφορά έχει διορθωθεί κάπως έτσι ώστε οι συντομεύσεις Feedly να αποστέλλονται στον ιστότοπο των εντολέων, αλλά μια γρήγορη εξέταση του κώδικα κατάστασης HTTP Top 10 ιστοσελίδες για κωδικούς σφαλμάτων & Αντιμετώπιση προβλημάτων Top 10 ιστοσελίδων για κωδικούς σφαλμάτων & Η αντιμετώπιση προβλημάτων Read More έδειξε ότι η ανακατεύθυνση δεν έγινε στο τυπικό επίπεδο του διακομιστή με μια ανακατεύθυνση 301 ή 302 (200, την οποία η Feedly στέλνει, σημαίνει "βέβαια, έχουμε αυτή τη σελίδα, κρατήστε πατημένο", 404 σημαίνει " δεν βρέθηκε ", 301 σημαίνει" μόνιμη ανακατεύθυνση σε άλλη διεύθυνση URL, ενώ 302 σημαίνει "προσωρινή ανακατεύθυνση") .

Αυτό σήμαινε ότι η ανακατεύθυνση πραγματοποιήθηκε στο JavaScript, οπότε ήθελα να μάθω περισσότερα. Χρησιμοποιώντας ένα εργαλείο ανάκτησης γραμμής εντολών που ονομάζεται curl, μπορώ να αρπάξω τον πηγαίο κώδικα ενός δείγματος Feedly στο Techmeme.com πριν από την ανακατεύθυνση (αφού το CURL δεν θα εκτελέσει JavaScript) - και αποκάλυψε μερικές εκπληκτικές ιδιότητες. Εδώ βρήκα αυτό που βρήκα.

(Έχω ανεβάσει την πλήρη πηγή εδώ αν θέλετε να ρίξετε μια ματιά - έχω μόνο μερικά ενδιαφέροντα αποσπάσματα παρακάτω)

Μερικοί άνθρωποι ανησυχούσαν για τις συνέπειες του SEO που βασικά έχουν το περιεχόμενό τους κλαπεί και εκ νέου εκδοθεί αλλού. τα καλά νέα είναι ότι η Feedly ορίστηκε σωστά το rel = "canonical" meta tag για να δώσει οδηγίες στην Google ότι όλες οι τιμές σύνδεσης θα έπρεπε να μεταβιβαστούν στον αρχικό ιστότοπο. Ωστόσο, είναι αδύνατο να εξακριβωθεί αν αυτό προστέθηκε μετά την έναρξη των καταγγελιών ή από την αρχή.

Απελευθερώνουν τις διαφημίσεις

Σε ό, τι ήταν πιθανώς μια λανθασμένη προσπάθεια για την αναπαραγωγή μιας λειτουργικότητας τύπου αναγνωσιμότητας 6 Σημειωματάρια που θα ενισχύσουν την ταχύτητα και την παραγωγικότητα του Web Surfing σας 6 Σημειωματάρια που θα ενισχύσουν την ταχύτητα και την παραγωγικότητα του Διαδικτυακού σας Surfing Οι bookmarks είναι ανυποψίαστοι βοηθοί που κάθονται στη γραμμή σελιδοδεικτών του προγράμματος περιήγησής σας. Σε αντίθεση με τους συνηθισμένους σελιδοδείκτες σας, δεν αρχειοθετούν μια διεύθυνση URL, μάλλον οι bookmarklets είναι μικρές μικροεφαρμογές Java με λειτουργίες με ένα κλικ. Υπάρχουν εκατοντάδες ... Διαβάστε περισσότερα, που διαγράφει μια σελίδα προς τα βασικά στοιχεία της, η Feedle απομάκρυνε όλα τα κουμπιά διαφήμισης, παρακολούθησης και κοινωνικής μοιρασιάς που μπορεί να έχουν ενσωματωθεί στο αρχικό στοιχείο ροής. Εδώ είναι ο πλήρης κατάλογος των πράξεων που έχουν αφαιρεθεί:

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

Η λήψη ενός κουμπιού "donate" φαίνεται να ενοχλεί ιδιαίτερα, για κάποιο λόγο.

Είναι σύνδεσμοι πειρατείας

Εδώ βρισκόμαστε στο πιο σοβαρό σημείο, γιατί όχι μόνο ήταν η Feedly ξύστε το περιεχόμενο από τον ιστότοπό σας, τότε απογύμνωσαν οποιαδήποτε αρχικά κοινωνικά κουμπιά και ξαναγράφηκαν τα μετα-δεδομένα. Αυτό σημαίνει ότι όταν κάποιος μοιραστεί στη συνέχεια το στοιχείο, θα μοιραζόταν τον σύνδεσμο Feedly και όχι την αρχική ανάρτηση . Οποιοσδήποτε κάνει κλικ στον σύνδεσμο θα πάει κατευθείαν στην Feedly.

Στιγμιότυπο οθόνης του περιεχομένου από το TheDigitalReader
Στιγμιότυπο οθόνης του περιεχομένου από το TheDigitalReader

Τι μπορείς να ρωτήσεις; Όταν μια δημοσίευση μεταδίδεται με ιούς, μπορεί να αποφέρει τεράστιο όφελος για τον εν λόγω ιστότοπο - αυξάνοντας τις προβολές σελίδων και τα έσοδα από διαφημίσεις και διευρύνοντας το κοινό τους. Η Feedly απέκρυψε οριστικά αυτό το συγκεκριμένο όφελος μακριά από τον ιστότοπο για να επεκτείνει τη δική του βάση χρηστών. Ο κώδικας Feedly περιελάμβανε ελέγχους για κινητές συσκευές που θα κατευθύνουν τους χρήστες στη σχετική σελίδα εφαρμογών.

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

Δεν ήταν "απλά να καταστήσει το άρθρο πιο εύκολο να δει" - ήταν κλοπή της κυκλοφορίας, απλό και απλό. Αυτό δεν είναι πραγματικά δροσερό.

Η πρώτη τους επιδιόρθωση: μια λίστα εξαιρούμενων κωδικών

Όταν ο Ψηφιακός Αναγνώστης καταγγέλθηκε για πρώτη φορά στην Feedly, η απάντησή τους ήταν να επανακωδικοποιήσει το Javascript για να συμπεριλάβει έναν κατάλογο αποκλεισμού . Προσθέτουν κυριολεκτικά μια επιταγή σε κάθε σύνδεσμο Feedly για να διαπιστώσετε εάν πρόκειται για στοιχείο από το The Digital Reader και, αν ναι, να παρακάμψετε την αεροπειρατεία της σελίδας.

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

Αυτό είναι βέβαια ένας απολύτως γελοίο τρόπος να το κάνουμε αυτό - σχεδιάζονταν να προσθέσουν σε αυτόν τον κατάλογο με το πέρασμα του χρόνου και περισσότεροι μπλόγκερ παραπονέθηκαν;

Ο Νάτε, από τον ψηφιακό αναγνώστη απάντησε:

από πού ζητάτε να αποχωρήσω από την αεροπειρατεία σας; Είναι σαν να λέω ότι θα έπρεπε να ζητήσω από κάποιον να σταματήσει να με χτυπάει στο πορτοφόλι. Και όμως νομίζετε ότι είναι λογικό;

Το δεύτερο fix τους: μια γρήγορη χάκερ για να παρακάμψει όλο τον κώδικα

Μετά από αυτό που μπορώ μόνο να υποθέσω ότι ήταν συντριπτική ο αριθμός των καταγγελιών που ακολούθησαν, ρύθμισαν το φίλτρο αεροπειρατείας ως εξής:

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

Ο όρος "μερική" αναφέρεται στο περιεχόμενο που έχει υποστεί αποξήρανση ως πλήρης ή μερική τροφοδοσία - δεν έχει νόημα η αεροπειρατεία feeds που δημοσιεύουν μόνο ένα απόσπασμα. Πιθανώς, αυτή η λειτουργία ξεκίνησε ως ο μόνος έλεγχος που συνέβη όταν επιλέξατε να στείλετε το χρήστη στον αρχικό ιστότοπο ή όχι. Μπορείτε να δείτε την πρώτη διόρθωση μετά από αυτήν, η οποία καλεί τη λειτουργία για να ελέγξει αν αυτός ο ιστότοπος βρίσκεται στη λίστα ιστότοπων που έχουν εξαιρεθεί. αλλά στη συνέχεια βλέπουμε την τελική τους λύση στη θέση τους -

 || true. 

Εάν έχετε κάποια εμπειρία προγραμματισμού, θα αναγνωρίσετε τη γρήγορη απόκριση που λέει ότι "ο κώδικας που ακολουθεί θα εκτελείται πάντα" και χρησιμοποιείται συνήθως μόνο για το σφάλμα. Εάν κάποια από αυτές τις 3 προϋποθέσεις είναι αληθείς (οι δύο πρώτες δεν έχουν σημασία), η Feedly ανακατευθύνει τους χρήστες αμέσως στον αρχικό ιστότοπο.

Και εκεί βρίσκεται τώρα. Τι μάθαμε λοιπόν;

Ουσιαστικά, η Feedly άρχισε να δημιουργεί ένα είδος μειωμένης εμπειρίας ανάγνωσης, αλλά ο τρόπος με τον οποίο προχώρησαν - η επανεγγραφή συνδέσμων για τη διάδοση της δικής τους υπηρεσίας μέσω των μετέπειτα κοινωνικών μεριδίων ήταν αρκετά καταραμένη αηδιαστική. Αυτό δεν είναι η μόνη κακή κίνηση που έκανε η Feedly πρόσφατα είτε - τον περασμένο μήνα, άρχισαν να απαιτούν σύνδεση με λογαριασμούς Google+ (έχοντας δει πόσο καλά λειτουργεί η σύνδεση στο Google+ για το YouTube Το τμήμα Σχολίων του YouTube που έχει πλέον καθαριστεί, Εκκαθάριση, ευγένεια του Google+ Η Google έχει καθαρίσει το YouTube με ένα νέο σύστημα σχολιασμού σχολιασμένο από το Google. Θα δείτε τώρα τα πιο δημοφιλή σχόλια, αυτά που προέρχονται από άτομα στους κύκλους σας στο Google+ και από τον κάτοχο του βίντεο. υποθέτω), αλλά και αυτό επανήλθε γρήγορα. Το μάθημα είναι - ίσως θελήσετε να αρχίσετε να βρίσκετε έναν εναλλακτικό αναλυτή τροφοδοσίας Το τέλος του Google Reader είναι κοντά: Προετοιμαστείτε με αυτούς τους εναλλακτικούς αναγνώστες RSS Αναγνώστης του Google End is Near: Προετοιμαστείτε με αυτούς τους εναλλακτικούς αναγνώστες RSS Ο ​​Google Reader είναι νεκρός. Μέχρι τον Ιούλιο, η υπηρεσία Premier RSS του Διαδικτύου κλείνει για πάντα, αφήνοντας τους χρήστες να βρουν αντικαταστάτη μόνοι τους. Αν ψάχνετε για ένα ισοδύναμο με το Google αυτά είναι απλώς ... Διαβάστε περισσότερα, αν δεν ήταν ήδη succered να πληρώσει $ 99 για λογαριασμό Pro.

In this article