WordPress se ha convertido en uno de los sistemas de gestión de contenidos (CMS) más utilizados del mercado. La razón es que con WordPress es muy fácil crear una web, pero el problema viene cuando el tráfico aumenta y WordPress comienza a consumir demasiados recursos y se necesita un hosting más potente.
La mayoría de los usuarios sólo saben crear su web, pero no saben optimizarla.
A continuación te voy a explicar 5 conceptos y herramientas básicas sobre optimización de WordPress que debes conocer y que te permitirán conseguir unmayor rendimiento.
[Verás que algunos son algo más técnicos de lo que solemos publicar en este blog, pero comprenderlos te ayudará a tomar las decisiones adecuadas, tanto para optimizar los plugins tú mismo como por si tienes que pedir a tu proveedor de hosting qué necesitas.]
Cómo reducir los costes al ahorrar recursos
La potencia de proceso de los servidores actuales ha mejorado mucho si la comparamos con los recursos de hardware disponibles hace 5 años.
Pero al igual que la potencia del hardware ha aumentado en estos últimos años, la complejidad del software también ha aumentado mucho para llegar a tener las aplicaciones y los servicios que tenemos actualmente.
WordPress es un software simple; sin embargo, al adaptarlo a las necesidades del proyecto mediante plugins y temas se convierte en un software bastante complejo que deberás optimizar si quieres reducir los costes económicos del hosting y a la vez mejorar la velocidad de carga del sitio web.
# 1. La caché de página: la herramienta básica
Desde hace mucho tiempo se viene hablando de los sistemas de caché para sitios web.
Te explico rápidamente y con un ejemplo qué es la caché:
La caché es la memoria que guarda durante un tiempo los datos a los que acabas de acceder.
De esta forma, si tienes que acceder a esos datos más de una vez, el tiempo de acceso a ellos es mucho más rápido que si el ordenador los tuviera que procesar cada vez que accedes.
Por ejemplo, imagínate que entras muchas veces en Facebook. Puesto que tus datos están guardados en caché desde la primera vez que accedes, las próximas veces que lo hagas la página no tendrá que ser procesada por los servidores de Facebook y podrás acceder a Facebook mucho más deprisa.
De hecho, muchos sitios grandes como YouTube o Facebook utilizan diversos tipos de cachés para mantenerse online e incluso ahorrar costes en infraestructura.
La caché de página es uno de los sistemas de caché más efectivos y a la vez más simples.
Lo que hace una caché de página es guardar una copia ya procesada y servirla a más de un usuario. Esto significa que tu web no tiene que procesar cada página por cada visitante que entra, sino que la procesa para un único visitante y ya sirve para el resto.
En WordPress puedes implementar una caché de 2 formas:
- Mediante un servicio instalado en el servidor. Por ejemplo, la caché deNginx (1) o la caché de Varnish (2). Ambas son cachés de página altamente efectivas debido a que no se llega a cargar el intérprete de PHP para servir las páginas.
- Mediante un plugin instalado en WordPress. Existe multitud de plugins de caché de página para WordPress, como por ejemplo WP Super Caché (3) oFlexicache (4). Cualquiera de estos dos plugins te permitirá implementar fácilmente una caché de página en WordPress.
En el siguiente vídeo te explicamos cómo optimizar el plugin WP Super Caché para conseguir un rendimiento muy superior en tu web o blog en WordPress:
Los sistemas de caché en forma de servicio son algo más potentes que los sistemas de caché en forma de plugin, ya que trabajan a nivel de servidor, pero evidentemente tener bien optimizado tu WordPress con los plugins de caché te ayudará a hacer que tu sitio web cargue mas rápido y consuma muchos menos recursos.
3 tipos de caché que debes conocer
Las cachés de página no son los únicos tipos de caché que existen. Existen otros tipos de caché que te ayudarán a optimizar la ejecución de una instalación de WordPress.
Cada tipo de caché se encarga de mejorar el desempeño y bajar el consumo de recursos en una determinada “parte” del sitio web.
Normalmente los distintos tipos de caché se pueden complementar entre sí perfectamente, y combinándolos con la configuración adecuada se consiguen sitios web rápidos y con un consumo de recursos ajustado.
Estos son algunos de los tipos de caché que puedes implementar en WordPress:
# 2. Caché de consultas
Se trata de un sistema de caché en disco o en RAM que te permite guardar el resultado de las consultas realizadas al servidor MySQL para que WordPress no tenga que consultar los datos cada vez que se necesitan datos de la base de datos.
# 3. OPCode Caché
Se trata de un tipo de caché que guarda el código PHP preprocesado en RAM con el fin de mejorar la respuesta. Al mejorar los tiempos de proceso se baja el consumo de recursos.
# 4. Caché de objetos
Se trata de un tipo de caché que almacena objetos.
Para entender cuál es su función debes entender que PHP es un lenguaje de programación que puede estar basado en objetos. Lo normal es guardar este tipo de caché en RAM utilizando Memcached (5) o Redis (6). Para implementar estos tipos de caché es muy posible que el servidor que aloja la web requiera la instalación de algunos componentes. Aquí tienes una guía para instalar Memcached.
Por otro lado, en el caso de WordPress tendrás que instalar plugins que se puedan conectar con estos servicios. Estos son algunos de ellos:
- W3 Total Cache (7). Este plugin mejora la experiencia del usuario en tu sitio mejorando el rendimiento de tu sitio y reduciendo los tiempos de descarga y proporcinoando una integración transparente con la red de entrega de contenidos (CDN, como verás más abajo).
- EM Object Cache (8). Reduce de forma significativa la carga de tu base de datos. Ten en cuenta que para que te funcione correctamente debes utilizar la WordPress Caché API.
- Flexicache. Te lo recomendaba más arriba. No es muy popular, pero sí muy útil, y te ayudará a mejorar considerablemente los tiempos de carga, y puedes configurarlo para permitir reglas de caché ilimitadas. Aquí tienes untutorial para optimizar Flexicache.
# 5. Una red de entrega de contenidos en WordPress: razones y opciones
Además de la caché existen otras formas de mejorar la eficiencia de tu WordPress y conseguir un ahorro de costes en infraestructura. Una de ellas es el CDN.
Un CDN es una red de entrega de contenidos (Content Delivery Network). Lo que pretende esta red es maximizar el ancho de banda, y para ello se superponen varios ordenadores que contienen copias de datos, como ves en la imagen.
El uso de ancho de banda puede ser un problema en sitios web grandes con grandes cantidades de recursos multimedia integrados, como por ejemplo fotos.
En algunos casos los blogs virales, tras una optimización a fondo mediante cachés, se encuentran que aunque los requisitos de proceso bajan, los requisitos de ancho de banda se mantienen, y esto también se puede solucionar.
Un servicio de CDN puede ayudarte con varios fines:
- Quitarle carga al hosting a la hora de servir contenidos.
- Servir contenidos de forma más eficiente y optimizada en cuanto a localización geográfica se refiere.
- Paralelizar las descargas desde varios orígenes para agilizar la descarga de las páginas en los navegadores de los visitantes.
Aquí te dejo un ejemplo de cómo un CDN gratuito como CloudFlare (9) es capaz dereducir el consumo de recursos de un sitio web de forma radical. En este caso concreto, un sitio web que alcanzaba picos de 150 Mbps bajó hasta picos de 20 Mbps. Esta bajada de consumo de ancho de banda, junto con una optimización de WordPress con caché de página y OPCaché, hizo que los costes de infraestructura pudieran bajar un 75%, es decir, unos 100 € en este caso.
Cómo funciona el consumo de recursos de WordPress
El problema que existe actualmente es que la mayoría de los usuarios que crean sitios con WordPress no entienden realmente que WordPress no funciona por arte de magia.
WordPress es un CMS desarrollado en PHP que realiza operaciones en una base de datos MySQL, y por lo tanto se consumen recursos de hardware del servidor tanto al ejecutar código PHP como al realizar consultas y operaciones en la base de datos MySQL.
Es decir, por lo general, cuando un usuario visita un sitio web WordPress se ejecutan en el servidor una serie de archivos PHP de WordPress que a su vez realizan una serie de consultas a la base de datos si es necesario.
Este proceso provoca un consumo de recursos, ya que requiere que el hardware del servidor realice un proceso, y el tiempo de proceso y el impacto en el rendimiento depende totalmente de la optimización del software y de su complejidad.
Con la información que te he dejado en este post deberías ser capaz de mejorar mucho el rendimiento de tu WordPress.
Conclusión
A pesar de lo que te he explicado aquí, la reducción de costes no es la única ventaja de una optimización de WordPress, sino que al optimizar el consumo de recursos de una instalación de WordPress también conseguirás mejorar de forma importante la velocidad de carga de tu sitio web, con lo que mejorarás la usabilidad, y eso hará que los visitantes se sientan más cómodos al navegar por tu web.