Hace unas semanas y con motivo de que en uno de mis sitios se posicionó un artículo bastante buscado respecto al evento mas importante del año (por si algún extraterrestre lee Kabytes le cuento que fue el mundial de fútbol de Sudáfrica) tuve que aprender bastantes lecciones de optimización sobre la marcha, presionado y casi sin dormir para no morir de éxito.
En internet morir de éxito difiere bastante de la vida real, donde esa frase se le podría acotar al día que Hugg Hefner reviente mientras esta a pleno en una festichola en su Playboy’s Mansion. Morir de éxito en la web es que un sitio quede offline por no tener la capacidad de satisfacer las visitas que llegan por una situación no planeada que sature el poder de nuestro sistema de hospedaje, en mi caso un hosting compartido que aguantó bastante y que con la ayuda de amigos como Neri pude mantener vivo por suerte.
Muchos dirán «es más fácil contratar un VPS con opción de upgrade«. Claro que sí, pero tampoco vas a poner un sitio de 2000 visitas en un VPS. El problema es cuando ese sitio escala de 2000 a 50000 en cuestión de días y como Google es muy sensible a algunos cambios y nosotros queremos mantener el sitio «arriba» ya que una migración mal hecha o que desactiven el sitio desde el hosting por exceso de consumo de recursos puede significar un descenso de posiciones… es una situación que se asimila a estar entre la espada y la pared (siempre hay que estar de espaldas a la pared en estas situaciones). Recordemos que aluvión de visitas suele significar dinero y nadie quiere perder el «momento». Así que mientras contrataba un VPS teníamos que mantener el sitio sea como sea. Veamos qué podemos hacer por si alguien se encuentra en una situación similar.
Como mantener a flote un WordPress sobrecargado:
Seguramente leyeron muchos tutoriales al respecto, yo también, así que vamos a tocar puntos archi-conocidos y otros no tanto. Vayamos paso a paso:
1) Cachear, cachear y cachear: Hoy el cacheo es casi indispensable en casi cualquier instalación de WordPress y no por nada se lo recomienda tanto. El concepto de cacheo es entregar como estático contenido dinámico, lo que significa no hacer llamadas a la base de datos ni procesos PHP que se hicieron previamente. En mi caso y por costumbre uso el excelente y confiable plugin WP Super Cache y en este caso de sobrecarga los responsables del hosting me recomendaron (casi en tono de orden) el plugin DB Cache el cual en mi caso mejoró la carga del sitio en general trabajando en conjunto con el primero. Y por cierto, recuerden optimizar la base de datos de vez en cuando. (Hernán muestra de forma muy simple como hacerlo)
Si tienen dudas sobre los plugins de Cache de WP les recomiendo esta excelentísima guía de Tutorial 9 (es un must si son WordPresseros ese texto).
2) Sacar todo contenido estático del sitio: Por más Caché que tengamos activado el servidor sigue entregando datos y mientras más conexiones simultáneas tengamos más alto es el tráfico. Lo ideal es mover el logo y las imágenes que tenemos en el sitio que pueden estar en el sidebar o en el footer a otro sitio con mas potencia que tengamos o a un hosting de imágenes gratuitas (estamos hablando de emergencia, no abusar además no es confiable muchas veces este sistema). En mi caso pasé las imágenes y los banners a un dedicado que me prestaron amablemente así la carga del sitio solo era, hablando mal y pronto, de «html».
3) Volar todo lo que no sea necesario: Ya sacamos el contenido estático pero como estamos ante una cirujía mayor sin anestesia debemos «volar» (sinónimo de quitar en la jerga) todo lo que no sea absolutamente necesario o que nos guste pero que en ese momento pueda cargar el sitio. Plugins de más que usemos para control, posts similares o estadísticas, llamadas a la base de datos como las de las fecha, copyright o para preguntar quién es el creador del post, contadores de visitas, y los widgets, no nos olvidemos de ellos ya que algunos no pueden ser cacheados. La idea es dejar el sitio lo mas minimalista posible para evitar que caiga. (También sería posible utilizar un template especial para el post más visitado, algo que no hice y que sería posible con un plugin cómo este)
4) Quitar los comentarios: Los que tenemos blogs amamos los comentarios (o la mayoría) ya que es sinónimo de feedback. En realidad los amamos cuando no nos putean, pero ese es otro tema. La cuestión es que hay una alta posibilidad de que si el post es popular tenga muchos comentarios, y los comentarios, por más que quitemos los gravatars y el timestamp de tiempo siguen «pesando» su peso en bytes. Si estamos en el horno quizás quitar la llamada al formulario de comentarios desde el single.php sea lo mejor, si estamos con el agua en el pecho y no queremos quitarlos se puede probar paginando… si es que no tenías configurada la paginación de comentarios.
5) No volver a hacerlo: Solo se puede estar por morir de éxito una vez. La segunda vez es para ratas. Lo primero que debes hacer si el sitio sobrevive a un aluvión de visitas es migrar de servidor para poder mantenerlo holgado. Seamos buenos, cualquier aluvión de visitas puede generar ingresos para pagar un VPS por varios meses.
Eso es todo amigos, espero no haberlos aburrido en estas mas de 900 palabras.
Hector Russo
14 años ago
Hola Guillermo,
Tenes razon, el DB Cache supera ampliamente a Super Cache!
Saludos y muy buen articulo!
Hector
Hector Russo
14 años ago
Me olvide de preguntarte:
Hernan en Codigo Geek habla de usar Super Cache y DB Cache juntos, vos los tenes trabajando juntos a los dos, son compatibles?
Gracias
javirol
14 años ago
Me parece super interesante este artículo, lo leeré en cuanto tenga tiempo, de verdad 😉
Trucos para aliviar Wordpress Sobrecargado
14 años ago
[…] plataforma para Blogs), por tal motivo queremos recomendar la lectura de un buen artículo en Kabytes, en el cual nos explicarán algunos consejos para no morir de exito en […]
Consejos para evitar una sobrecarga en WordPress
14 años ago
[…] Enlace | Kabytes […]
Trucos para aliviar WordPress Sobrecargado « manitos Trabajando
14 años ago
[…] plataforma para Blogs), por tal motivo queremos recomendar la lectura de un buen artículo en Kabytes, en el cual nos explicarán algunos consejos para no morir de exito en […]
de la red – 16/07/2010 « Tecnologías y su contexto
14 años ago
[…] Consejos para que un sitio en WordPress no muera de éxito (…) Morir de éxito en la web es que un sitio quede offline por no tener la capacidad de satisfacer las visitas que llegan por una situación no planeada que sature el poder de nuestro sistema de hospedaje… […]
WordPress: Consejos útiles
14 años ago
[…] un artículo relacionado con WordPress (muy famosa plataforma para blogs, utilizada por muchos). En Kabytes podrás leer el artículo completo sobre WordPress, este nos da algunos consejos útiles para que […]
Trucos para aliviar WordPress Sobrecargado « Realidad Alternativa
14 años ago
[…] plataforma para Blogs), por tal motivo queremos recomendar la lectura de un buen artículo en Kabytes, en el cual nos explicarán algunos consejos para no morir de exito en […]
Consejos para aliviar WordPress sobrecargado | Mi Blog
14 años ago
[…] de recursos de WordPress, por tal motivo quiero recomendar la lectura de un buen artículo en Kabytes, en el cual nos explicarán algunos consejos para no morir de exito en […]
Consejos para optimizar un sitio Wordpress con alto tráfico | CMSTECNO
14 años ago
[…] Para acceder a la publicación darle clic el siguiente enlace que se deja a continuación: Consejos para un sitio WordPress. […]
Ostiones en la red
14 años ago
Gracias por estas pautas.
Espero que me pase algo así pero sin tener ningún problema de los que has mencionado.
¡Gracisa de nuevo!
psicoimash
13 años ago
Justo a mi me pasó lo que cuentas con video si, la solución fue migrar a un dedicado volando, aunque también al igual que cuentas, las visitas cayeron empicadas con la migración.
Saludos
walter
13 años ago
Muy buen aporte!!! muchas gracias….
ramon de regalos nomina
12 años ago
Yo estoy usando W3 Total Cache, ya que lo demás ya DB ya esta anticuado.
Además también uso CDN de Amazon, así conseguimos un sitio muy suelto.
Con una demora de 1,25segundos en cargar.