Efecto Menéame: ¿Cómo evitar que se caiga mi web?
Posiblemente hayas escuchado alguna vez las palabras efecto Menéame. Los más veteranos, recordarán otras como efecto Barrapunto, efecto Yonkis o efecto Slashdot (en el ámbito internacional). Puede, incluso, que conozcas algunas más que no haya citado por aquí, pero... ¿Qué son realmente estos «efectos»?
En este artículo (orientado a usuarios con un sitio web y que desconocen el aspecto técnico) se intentará aclarar que es realmente un efecto menéame, que repercusiones tiene y las medidas que se pueden tomar para paliar sus inconvenientes más comunes. Como siempre, todo desde mi subjetivo punto de vista y experiencia.
1. ¿Qué es el efecto Menéame?
Menéame es un agregador de noticias donde sus usuarios pueden proponer enlaces interesantes (noticias, artículos, etc...) y la comunidad del sitio se encarga de votarlos. Los mejores envíos pasan a portada del sitio, recibiendo durante un periodo de tiempo un importante tráfico de visitas.
Un efecto Menéame en las estadísticas de Google Analytics (tiempo real).
Se denomina efecto Menéame al incremento repentino que comienza a experimentar el sitio web que es enlazado en la portada de Menéame, generalmente un sitio web con menor tráfico.
Los efectos Menéame no son todos iguales. Depende de muchos factores, como por ejemplo el horario al que sale a portada, si aparece en un día laboral o en un día festivo, la temática del envío, el titular escogido, etc...
En realidad, hablo de efecto Menéame porque probablemente es el más conocido y potente en España (y el objeto del artículo en cuestión), pero debe quedar claro que se podría hablar de cualquier otro sitio con un alto tráfico de visitas, como por ejemplo el efecto Slashdot, perteneciente al sitio web Slashdot.
También hay que tener en cuenta que la repercusión es importante en agregadores tipo Menéame porque el enlace tiene mucho protagonismo, al contrario que un simple enlace «escondido» al final de un artículo, como hace Taringa por ejemplo.
Si quieres saber más sobre Menéame (y otros proyectos), echa un vistazo al artículo: Los 10 proyectos en Internet que más admiro.
2. Ventajas y desventajas
Como puede parecer lógico, aparecer en la portada de Menéame tiene muchas ventajas, pero también inconvenientes. Como siempre, hay cientos de matices (es muy complicado generalizar), pero intentaré resumir los casos que más observo. ¿Cuáles son las ventajas y desventajas más comunes?
Tráfico
El más obvio es el incremento de tráfico. La imagen superior es de Google Analytics y representa el número de visitantes activos (visitantes únicos en los últimos 5 minutos). En uno de los efectos Menéame experimentados en este sitio, ha llegado a alcanzar esa diferencia. No es la más alta (ni la más baja) que ha recibido, pero es bastante representativa para hacerse una idea del cambio que se experimenta.
Fidelización
Una de las principales críticas que suelo leer sobre Menéame es sobre su bajo porcentaje de fidelización del usuario, el que muestra un «pico de alto tráfico» que vuelve a descender a su estado anterior.
Desde mi punto de vista, una baja fidelización no es culpa de los usuarios de Menéame (ni del propio Menéame) sino del responsable del sitio web objeto del efecto Menéame. Si el usuario se siente cómodo en el sitio web (contenidos de calidad, diseño agradable, sitio web rápido, etc...), se terminará suscribiendo al correo, redes sociales o cualquier sistema de suscripción que utilice.
El perfil medio de un usuario de Menéame es un usuario exigente, un usuario avanzado que generalmente sabe distinguir el contenido de calidad del que no lo es, por lo que quizás, para captarlo tengas que conseguir que ese buen artículo sea la norma general de tu sitio, y no sólo un caso aislado.
Ingresos
En la misma línea del apartado anterior, también suelo leer frecuentemente que el usuario de Menéame no es «rentable» en términos de publicidad. Creo que es un error ver las cosas de esta forma.
Si para ti un usuario de Menéame no es rentable porque es un usuario avanzado que no confunde la publicidad con el contenido, quizás lo estás haciendo mal. Los anunciantes de tu sitio buscan que tus visitantes se interesen en su producto.
Si puedes conseguir que los anuncios sean complementarios a tu sitio web (por ejemplo, un sitio de fotografías con anuncios de revelado en papel a domicilio), probablemente lo estés haciendo mejor, ya que es un servicio que puede resultar útil al visitante. Obviamente, esto es difícil de conseguir.
Tienes más información sobre los modelos publicitarios (CPM, CPC, CPA...) en el resumen de la Conferencia: Ganar dinero con Android.
Interacciones
Otro de los resultados destacables de un efecto Menéame suelen ser las interacciones: se reciben comentarios, referencias en otros blogs, feedback en general. Este apartado es muy variable, porque puede que recibas tanto comentarios positivos e interesantes (y no necesariamente dándote la razón, importante) como comentarios negativos, trolls o hasta insultos o amenazas.
XKCD: El deber llama, considerada una de las leyes de Internet.
Menéame suele arrastrar un ambiente hostil en muchos casos (sobre todo cuando se tratan temas subjetivos), pero también es cierto que suele proporcionar comentarios muy interesantes, útiles y muchas veces comentarios muy, muy divertidos.
Saturación
Y finalmente, uno de los inconvenientes más visibles y complicados: problemas de servidor. Sitio caído, demasiadas conexiones simultáneas, lentitud de acceso al sitio web, transferencia mensual agotada y otros similares.
Salvo en el caso de que tengamos un servidor bastante potente, o un blog en un sistema autogestionado como Blogger o Wordpress.com (en el que no tenemos que preocuparnos de aspectos técnicos), es muy probable que un efecto menéame acabe tumbando nuestro sitio web o dejándolo inoperativo durante un tiempo.
3. ¿Por qué se satura el servidor?
Obviamente, por el aumento de visitas, pero... ¿Por qué? ¿Qué es lo que ocurre para que mi servidor no pueda soportarlo?
Servidor saturado
Para entenderlo, veamos nuestro servidor como una máquina que, al pedirle una página de un sitio web, este va metiendo cada archivo que la compone (imágenes, texto, iconos, scripts, etc...) en una cola (en horizontal en la imagen).
Ejemplo didáctico de por qué se satura un servidor.
Existirá una segunda cola (en vertical en la imagen, con 4 archivos) que serán los archivos que se están enviando a sus respectivos usuarios. El servidor sólo podrá procesar 4 como máximo (y cuanto más ocupen, más tardará en enviarlos).
Todo eso se multiplica por cada usuario que pida una página específica. Imagina ahora lo que ocurre en el momento de un efecto Menéame, con varios usuarios solicitando páginas (con múltiples archivos) cada minuto (o incluso segundos). Las colas se pueden hacer interminablemente largas.
Timeouts
Internamente, para evitar saturaciones, los servidores suelen establecer timeouts (tiempo máximo de espera). Así, si un archivo está en la cola durante más de un cierto tiempo (y no ha sido capaz de atenderlo y enviarlo), se termina descartando.
En esta situación es cuando el usuario observa que la página pedida no carga (tarda demasiado porque está en cola) y finalmente da un error o no muestra nada (se descarta o se cancela su petición por un «timeout»).
4. ¿Cómo evitar el efecto menéame?
Realmente, hablar de evitar un efecto menéame no tiene demasiado sentido. Cualquier usuario que publique contenido en Internet, tiene (o debería tener) como objetivo primario (o al menos, secundario) llegar al máximo público que le sea posible.
Un efecto Menéame puede provocar inconvenientes, pero desde mi punto de vista, esto ocurre realmente porque no has sido capaz de soportar el éxito (temporal o no) que ha recibido.
Sin embargo, es posible que no te interese ese tráfico que proviene de Menéame porque no es tu público objetivo (por ejemplo) y prefieres centrar tus recursos en ese otro tipo de público. Para ello, puedes utilizar la característica noshare, una opción para evitar que se pueda menear un artículo directamente.
5. ¿Cómo evitar que se caiga mi web?
Probablemente, lo que te debería interesar es «aguantar» el efecto Menéame sin que tu servidor acabe ardiendo. Para ello veamos una serie de consejos, en orden creciente de complejidad para evitar que nuestro servidor se colapse.
No entraré en detalles demasiado técnicos, pero si me gustaría comentar las estrategias por encima para que el usuario no avanzado pueda utilizarlo de guía.
Nivel básico: Aumenta tu servidor
El consejo más básico es, como suele ser costumbre, el menos económico. Podemos centrarnos en migrar a un servidor más potente (y más caro) que sea capaz de gestionar más visitas.
En este artículo explico los tipos de servidores a los que puedes recurrir y cual es el más indicado para ti: Servidor compartido, VPS, dedicado, etc...
Nivel medio: Utiliza un sistema de caché
Nuestros sitios web, generalmente utilizan un CMS (gestor de contenidos) que puede ser ligero o pesado a la hora de crear las páginas del sitio web. Una opción muy interesante es activar un sistema de caché.
Personalmente, me gusta explicar lo que es un sistema de caché comparándolo con un puzzle. Los CMS sin sistema de caché construyen el sitio web por cada visitante (contenido dinámico), armando ese puzzle y entregándolo a cada usuario, con el tiempo que ello conlleva.
Al activar un sistema de caché, lo que se hace es intentar tener ese puzzle ya de una pieza, para evitar gastar tiempo en armarlo por cada visitante. Esto, como parecerá lógico, se nota muchísimo cuando el volumen de las visitas asciende considerablemente.
Algunos sistemas de caché conocidos (para Wordpress) son:
- W3 Total Cache: Uno de los plugins por excelencia para cachear contenido.
- WP Super Cache: Basado en WP-Cache 2, el cual fue desarrollado por Ricardo Galli, autor de Menéame.
Existen otros sistemas más complejos para cachear contenido a distintos niveles, como APC (PHP), caché de bases de datos u otros sistemas de caché.
Nivel medio: Reducir número de peticiones
Teniendo en cuenta el tema de las colas que mencioné, puede parecer lógico que si reducimos el número de archivos que se sirve desde una página, las colas serán más cortas y se liberarán más rápido.
Para ello podemos eliminar imágenes innecesarias, optimizar imágenes muy solicitadas o pesadas, utilizar css sprites (varias imágenes desde un mismo archivo) o usar un sistema «perezoso» para cargar imágenes sólo cuando el usuario las visualice.
Con WebPageTest puedes echar un vistazo y comprobar cuantos archivos carga tu sitio web y analizar cuales puedes ahorrarte de alguna forma, por ejemplo, con un «caché universal».
Nivel medio: Utiliza un CDN
Imagina que existe un sistema para que todas las imágenes (y en general, archivos estáticos) de tu sitio sean enviados por otro servidor, agilizando las colas y ahorrando ancho de banda. Ese sistema se llama CDN, y realmente tiene muchas más ventajas.
La porción naranja es el ahorro de ancho de banda mensual en mi caso.
Mi recomendación personal es CloudFlare CDN, ya que el servicio es fantástico y están siempre en continua expansión introduciendo mejoras y nuevas características. Actualmente proporcionan un plan gratuito más que suficiente para la mayoría de sitios webs (con sistema de protección ante varios tipos de ataques), e incluso un plan de empresa bastante económico.
Otros CDN interesantes que puedes barajar:
- MaxCDN: Otro servicio de distribución de contenido muy utilizado.
- CoralCDN: Proyecto de red de distribución de contenidos abierto.
- Akamai: Uno de los CDN más populares y veteranos.
- CloudFront: El servicio de distribución de contenidos de Amazon.
Nivel avanzado: Optimiza tu servidor Apache
El software más popular y utilizado para servidores web es Apache. Sin embargo, la configuración de este servidor generalmente no está ajustada a nuestras necesidades, por lo que se puede ganar mucho rendimiento realizando los debidos ajustes.
Reducir los timeouts, activar la compresión on-the-fly u optimizar Apache y FASTCGI para un buen rendimiento son algunos consejos interesantes que se pueden realizar para mejorar la velocidad de carga de nuestra web.
Nivel avanzado: Utiliza un servidor ligero
Antes comentaba que Apache es uno de los servidores más utilizado y compatible con la mayoría de CMS y aplicaciones web. Sin embargo no es el único. Podemos utilizar otro software más ligero para servir contenido velozmente y con mayor eficiencia.
- Lighttpd: Servidor web optimizado para un alto rendimiento.
- Nginx: Potentísimo y ligero servidor web de alta eficiencia.
- Litespeed: Servidor web privativo de alto rendimiento y compatibilidad.
- Cherokee: Servidor web de alto rendimiento, desarrollo español.
Como muchas veces ciertas aplicaciones sólo son compatibles con Apache, se suelen utilizar dos servidores, uno ligero como proxy inverso (que sirve el contenido estático) y otro «pesado» (Apache, que sirve el contenido dinámico).
Nivel avanzado: Usa sistemas basados en RAM como caché
Finalmente, para este apartado serán necesarios conocimientos de desarrollador o administrador de sistemas, por lo que puede ser más complicada su implementación.
La idea es sencilla. En un sistema informático, la memoria RAM es el dispositivo de almacenamiento más veloz, por lo que si reservamos una parte de la memoria RAM para guardar la información que se consulta más frecuentemente (el artículo meneado, por ejemplo), conseguiremos ahorrarnos el tiempo de acceso a disco, consultas a bases de datos, etc...
Para estas implementaciones se suelen utilizar sistemas como Memcached o Redis, que almacenan dicha información en memoria RAM, consiguiendo un notable aumento de velocidad y rendimiento.
Por supuesto, no descarto la posibilidad de que este artículo sea enviado a Menéame, produciéndose un efecto Menéame que haga que el servidor se incendie y demuestre empíricamente la validez de este documento.