Рекламное объявление
Прошлая неделя, Feedly выкатили спорную новую «особенность» - похищение ссылок на каналы для кражи трафика у миллионов блоггеров.
Перенаправление общих ссылок с Feedly на собственное представление Feedly статьи вместо самой статьи на оригинальном сайте - это проблема для создателей оригинального контента во многих блогах. Это не только приводит к потере трафика, но и обманчиво для тех, кто следит за определенным блогом.
Вот полная история того, почему люди злятся, и как один блоггер помог исправить ситуацию. Я также углубляюсь в их исходный код, чтобы показать вам, насколько грязны их маленькие хитрости.
Срок погашения:Цифровой читатель Первоначальный источник этой новости - я просто решил исследовать немного дальше и точно узнать, что они замышляют.
Во-первых, хорошие новости
На момент написания, поведение было несколько исправлено, так что сокращенные ссылки Feedly действительно отправляются на сайт создателей, но быстрое изучение Код статуса HTTP Топ 10 сайтов по кодам ошибок и устранению неполадок Подробнее
обнаружил, что перенаправление не было выполнено обычным способом на уровне сервера с перенаправлением 301 или 302 (200, который отправляет Feedly, означает «да, у нас есть эта страница, держись»; 404 означает «не найден»; 301 означает «постоянное перенаправление на другой URL; в то время как 302 означает «временное перенаправление»).Это означало, что перенаправление выполнялось в JavaScript, поэтому я хотел узнать больше. Использование инструмента извлечения веб-страниц из командной строки под названием локонМне удалось получить исходный код примера ссылки Feedly на Techmeme.com до того, как произошло перенаправление (поскольку CURL не будет выполнять JavaScript) - и это выявило некоторые неожиданные лакомые кусочки. Вот что я нашел.
(Я загрузил полный источник здесь если вы хотите взглянуть - я приведу только несколько интересных фрагментов ниже)
Некоторые люди были обеспокоены последствиями SEO для того, чтобы их контент был украден и переиздан в другом месте; хорошая новость заключается в том, что Feedly правильно установить отн = «канонической» метатег, чтобы указать Google, что все значения ссылок должны быть переданы на исходный сайт. Однако невозможно установить, было ли это добавлено после того, как жалобы начались или присутствовали с самого начала.
Они раздеваются
В том, что было, вероятно, ошибочной попыткой дублирования Функциональность типа читабельности 6 букмарклетов, которые повысят скорость и производительность вашего веб-серфингаБукмарклеты - это маленькие подозрительные помощники, которые находятся на панели закладок вашего браузера. В отличие от ваших обычных закладок, они не архивируют URL-адреса, а букмарклеты - это небольшие Java-апплеты с функциональностью в один клик. Есть сотни ... Подробнее Feedly убирает все ключевые элементы рекламы, отслеживания и публикации в социальных сетях, которые могли быть встроены в исходный элемент фида. Вот полный список убираемых вещей:
var visualExcludePatterns = ["feedproxy", "feedburner", "/ ~", "feeds.wordpress.com", "stats.wordpress.com", "googleadservices.com", "feedads", "tweet-this", "Fmpub", "- реклама", "_ реклама", "Pheedo", "Zemanta", "u.npr.org/iserver","openx.org","slashdot-it","smilies","/ico - " "commindo-media.de", "creatives.commindo-медиа", "doubleclick.net", "i.techcrunch", "AdView", "/ feed.gif", "реклама"," /.. avw.php», "сор-Digg-это", "подача-форсунка", "/ плагины /", "tweetmeme.com", "_ _ значок", "/ объявление -", "акция-кнопка"," feedsportal. ком», "BuySellAds", "Holstee", "musictapp", "/ объявление _", "/ кнопка /", "donate.png", "/ спонсоры /", "googlesyndication.com", "/ pagead", "/ AdX", "активы / корма-фб», "активы / корм-TW", "feedburner.com/~ff","gstatic.com","feedsportal.com"];
По какой-то причине удаление кнопки «пожертвовать» кажется особенно неприятным.
Они захватывают ссылки
Здесь мы подошли к самому серьезному вопросу, поскольку Feedly не только очищал контент с вашего сайта, но и отбрасывал любые оригинальные кнопки социальных сетей и переписывал метаданные. Это означает, что когда кто-то впоследствии поделится этим предметом, он будет делиться ссылкой Feedly, а не оригинальным сообщением. Любой, кто щелкнет по этой ссылке, сразу перейдет к Feedly.
Так что, спросите вы? Когда сообщение становится вирусным, оно может иметь огромную выгоду для рассматриваемого сайта - повышение просмотров страниц и доходов от рекламы, а также расширение их аудитории. Feedly открыто похитил эту конкретную выгоду с сайта, чтобы расширить собственную базу пользователей. Код Feedly включал проверки мобильных устройств, которые направляли бы пользователей на соответствующую страницу магазина приложений.
функция действия (где) { var actionName = "follow"; var url = " http://feedly.com/#" + encodeURIComponent («подписка /» + feedInfo.id); if (/iPhone| iPad/i.test (navigator.userAgent)) { actionName = "установить"; url = " http://itunes.apple.com/us/app/feedly/id396069556"; } еще если (/android/i.test (navigator.userAgent)) { actionName = "установить"; 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 (); }
Это не «просто облегчало просмотр статьи» - это было кража трафика, простая и понятная. Это действительно не круто.
Их первое исправление: жестко запрограммированный список исключений
Когда Digital Reader впервые пожаловался Feedly, их ответом было перекодировать Javascript, чтобы включить список исключения. Они буквально добавили проверку к каждой ссылке в Feedly, чтобы увидеть, был ли это элемент из The Digital Reader, и если да, чтобы обойти угон страницы.
var siteExcludePatterns = ["/ TheDigitalReader /"]; функция shouldExcludeSite (url)
Это, конечно, абсолютно нелепый способ сделать это - они планировали добавить в этот список со временем, и все больше блоггеров жаловались?
Нейт из The Digital Reader ответил:
где вы выходите, требуя, чтобы я отказался от вашего угона? Это все равно что сказать, что мне нужно попросить кого-нибудь прекратить избивать меня кошельком в лицо. И все же вы думаете, что это разумно?
Их второе исправление: быстрый взлом, чтобы обойти весь код
После того, что я могу только предположить, было подавляющее число жалоб, которые последовали, они настроили фильтр угона следующим образом:
if (kind == "частичный" || shouldExcludeSite (" http://www.techmeme.com/131202/p30#a131202p30" ) || правда ) { document.body.innerHTML = ""; document.location.href = " http://www.techmeme.com/131202/p30#a131202p30"; }
«Частичное» относится к тому, что извлеченное содержимое представляет собой полный или частичный канал - нет смысла перехватывать каналы, которые в конце концов публикуют только выдержку. Предположительно, эта функция начиналась как единственная проверка, которая происходила при выборе, отправлять пользователя на исходный сайт или нет. Вы можете увидеть первое исправление после этого, которое вызывает функцию, чтобы проверить, есть ли этот сайт в списке сайтов, которые отказались; но затем мы видим их окончательное решение на месте -
|| правда.
Если у вас есть опыт программирования, вы узнаете быстрый взлом, который гласит «следующий код всегда будет выполняться», и он обычно используется только при отладке. Если какое-либо из этих 3 условий выполняется (первые два больше не имеют значения), Feedly мгновенно перенаправляет пользователей на исходный сайт.
И вот где он стоит сейчас. Итак, что мы узнали?
По сути, Feedly создавал что-то вроде облегченного чтения, но то, как они шли это - переписывание ссылок для распространения их собственного сервиса через последующие социальные акции было чертовски отвратительный. Это не единственный плохой ход, который недавно сделал Фидли - в прошлом месяце они начал требовать входа в аккаунты Google+ (увидев насколько хорошо работает логин Google+ для YouTube Раздел комментариев YouTube теперь очищен, любезно предоставлено Google+Google очистил YouTube новой системой комментирования в Google+. Теперь вы увидите самые популярные комментарии, полученные от людей в ваших кругах Google+ и от владельца видео. Подробнее Я думаю), но это тоже было быстро отменено. Урок - вы можете начать искать альтернативный читатель Google Reader подходит к концу: подготовьтесь с помощью этих альтернативных RSS-ридеровGoogle Reader мертв. К июлю главный RSS-сервис Интернета навсегда закрывается, оставляя пользователям возможность искать замену самостоятельно. Если вы ищете эквивалент Google, это просто ... Подробнее , если вы уже не попали на оплату $ 99 за аккаунт Pro.
Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.