Consejos para que un sitio en WordPress no muera de éxito

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.