Feedly estaba robando su contenido - Aquí está la historia, y su código

La semana pasada, Feedly lanzó una nueva característica controvertida: secuestro de enlaces de feed. Aquí está la historia completa de por qué las personas están enojadas, y cómo un blogger ayudó a corregir la situación.

La semana pasada, Feedly lanzó una nueva característica controvertida: secuestro de enlaces de feed.  Aquí está la historia completa de por qué las personas están enojadas, y cómo un blogger ayudó a corregir la situación.
Anuncio

La semana pasada, Feedly lanzó una nueva y controvertida "función": secuestrar enlaces de noticias para robar tráfico de millones de bloggers .

Redirigir los enlaces compartidos con Feedly a la vista propia de Feedly del artículo en lugar del artículo en sí en el sitio original es una preocupación para los creadores de contenido original en muchos blogs. No solo da como resultado la pérdida de tráfico, sino que también es engañosa para quienes siguen un blog en particular.

Aquí está la historia completa de por qué las personas están enojadas, y cómo un blogger ayudó a corregir la situación. También profundizo en su código fuente para mostrarte cuán sucios son sus pequeños trucos.

Crédito debido: The Digital Reader fue la fuente original de esta noticia. Decidí investigar un poco más y ver exactamente qué estaban haciendo.

Primero, las buenas noticias

Al momento de escribir, el comportamiento ha sido corregido de alguna manera para que los enlaces Feedly acortados se envíen al sitio de originadores, pero un examen rápido del código de estado HTTP Los 10 mejores sitios web para códigos de error y solución de problemas Top 10 sitios web para códigos de error y La solución de problemas de Read More reveló que el redireccionamiento no se realizaba en el nivel de servidor típico con un redireccionamiento 301 o 302 (200, que Feedly está enviando, significa "sí, tenemos esa página, espera"; 404 significa " no encontrado "; 301 significa" redirigir permanentemente a otra URL, mientras que 302 significa "redireccionamiento temporal") .

Esto significaba que la redirección se realizaba en JavaScript, así que quería saber más. Utilizando una herramienta de recuperación de página web de línea de comando llamada curl, pude tomar el código fuente de un enlace Feedly de muestra a Techmeme.com antes de que se produjera la redirección (dado que CURL no ejecutará JavaScript), y reveló algunas cositas sorprendentes. Esto es lo que encontré.

(He cargado la fuente completa aquí si quieres echar un vistazo; solo estoy presentando algunos fragmentos interesantes a continuación)

Algunas personas estaban preocupadas por las implicaciones de SEO de básicamente tener su contenido robado y republicado en otro lugar; La buena noticia es que Feedly estableció correctamente la metaetiqueta rel = "canonical" para indicarle a Google que todos los valores de los enlaces deben pasarse al sitio original. Sin embargo, es imposible determinar si esto se agregó después de que comenzaron las quejas o si estuvo presente desde el comienzo.

Están eliminando anuncios

En lo que probablemente fue un intento equivocado de duplicar una funcionalidad de tipo de legibilidad 6 Bookmarklets que aumentarán tu velocidad y productividad de navegación web 6 Bookmarklets que aumentarán tu velocidad y productividad de navegación web Los Bookmarklets son pequeños ayudantes insospechados que se sientan en la barra de marcadores de tu navegador. A diferencia de sus marcadores habituales, no archivan una URL, en lugar de eso, los bookmarklets son pequeños applets de Java con una funcionalidad de un clic. Hay cientos de ... Leer más, que quita una página de sus elementos esenciales básicos, Feedly eliminó todos los botones de publicidad, seguimiento y uso compartido de redes sociales que pudieron haber sido incrustados en el ítem original. Aquí está la lista completa de cosas que están siendo eliminadas:

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

Sacar un botón de "donación" parece particularmente irritante, por alguna razón.

Están secuestrando enlaces

Aquí llegamos al punto más serio, ya que Feedly no sólo raspaba el contenido de su sitio, sino que también despojaba de los botones sociales originales y reescribía los metadatos. Esto significa que cuando alguien posteriormente compartió el artículo, de hecho estarían compartiendo el enlace de Feedly y no la publicación original . Cualquiera que haga clic en ese enlace iría directamente a Feedly.

Captura de pantalla del contenido extraído de TheDigitalReader
Captura de pantalla del contenido extraído de TheDigitalReader

Entonces, ¿qué? ¿Podrías preguntar? Cuando una publicación se vuelve viral, puede ser de gran beneficio para el sitio en cuestión: aumentar las visitas a la página y los ingresos publicitarios, y expandir su audiencia. Feedly fue directamente robando ese beneficio específico fuera del sitio para expandir su propia base de usuarios. El código de Feedly incluía comprobaciones de dispositivos móviles que dirigirían a los usuarios a la página relevante de la tienda de aplicaciones.

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

No era "simplemente hacer que el artículo fuera más fácil de ver", era robar tráfico, simple y llanamente. Eso realmente no es genial.

Su primera solución: una lista de exclusión codificada

Cuando The Digital Reader se quejó por primera vez a Feedly, su respuesta fue volver a codificar el Javascript para incluir una lista de exclusión . Literalmente agregaron un cheque a cada enlace de Feedly para ver si era un elemento de The Digital Reader, y si es así para eludir el secuestro de la página.

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

Esta es, por supuesto, una manera absolutamente ridícula de hacer esto: ¿planeaban agregar a esa lista con el paso del tiempo y más blogueros se quejaron?

Nate, de The Digital Reader respondió:

¿De dónde sacaste para exigirme que no participe de tu secuestro? Es como decir que debería pedirle a alguien que deje de golpearme en la billetera. ¿Y aún piensas que eso es razonable?

Su segunda solución: un truco rápido para eludir todo el código

Después de lo que solo puedo suponer fue un abrumador número de quejas que siguieron, ajustaron el filtro de secuestro de la siguiente manera:

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

"Parcial" se refiere a que el contenido eliminado es un feed completo o parcial; no tiene sentido secuestrar feeds que solo publican un fragmento después de todo. Presumiblemente, esta función comenzó como la única verificación que se produjo al elegir si enviar al usuario al sitio original o no. Puede ver la primera solución después de eso, que llama a la función para verificar si este sitio está en la lista de sitios que se han excluido; pero luego vemos su solución final en su lugar:

 || true. 

Si tiene experiencia en programación, reconocerá el truco rápido que dice "el siguiente código siempre se ejecutará", y generalmente se usa solo en la depuración. Si cualquiera de esas 3 condiciones es verdadera (las dos primeras ya no importan), Feedly redirige a los usuarios al instante al sitio original.

Y ahí es donde se encuentra ahora. entonces que hemos aprendido?

Básicamente, Feedly fue creando una especie de experiencia de lectura reducida, pero la forma en que lo hicieron - reescribir enlaces para propagar su propio servicio a través de las acciones sociales posteriores fue bastante desagradable. Este no es el único movimiento negativo que Feedly ha realizado recientemente. El mes pasado, comenzaron a requerir el inicio de sesión con cuentas de Google+ (después de ver qué tan bien funciona el inicio de sesión de Google+ para YouTube). Sección de comentarios de YouTube ahora limpiada, cortesía de la sección de comentarios de Google+. Limpiado, cortesía de Google+ Google ha limpiado YouTube con un nuevo sistema de comentarios impulsado por Google+. Ahora verá los comentarios más votados, los de las personas en sus círculos de Google+ y del propietario del video. Lea más, I adivinar), pero eso también se revirtió rápidamente. La lección es: quizás desee comenzar a buscar un lector de noticias alternativo. Google Reader's End Is Nigh: Prepárese con estos lectores alternativos de RSS Google Reader's End is Nigh: Prepárese con estos lectores alternativos de RSS Google Reader ha muerto. Para julio, el principal servicio de RSS de Internet se cerrará para siempre, dejando que los usuarios encuentren un reemplazo por su propia cuenta. Si está buscando un equivalente a Google, estos son solo ... Leer más, a menos que ya haya sido engañado para pagar $ 99 por una cuenta Pro.

In this article