Mi octavo libro dedicado a recuperar al auténtico primer videojuego español, a la venta con precio muy popular en versión papel, o versión ebook económica.
¿Cómo optimizar WordPress? Una gran pregunta para los millones de personas que crean páginas web a través de ese estupendo gestor de contenidos... el más importante de todos los existentes en el mercado.
A nivel mundial WordPress es el gestor de contenidos más utilizado, abarcando el 33,6% de todas los sitios web, y en el caso concreto de aquellos basados en gestores de contenidos (Content Management System o CMS) abarca, nada más y nada menos, que el 60,5% de cuota de mercado; WordPress está muy alejado del segundo en la lista, que es Joomla, con un 2,9% de cuota de mercado en todos los sitios web, y un 5,2% de mercado entre todos los gestores de contenidos.
La gran preferencia para los creadores web españoles es el WordPress.
En el caso de España los datos son más abrumadores... el WordPress ocupa el 65% de todos los sitios web existentes en el Internet español... un dato muy importante a tener en cuenta; la gran preferencia para los creadores web españoles es el WordPress.
Los gestores de contenidos abrieron la puerta a la creación de páginas web multipropósito basadas en el contenido con rapidez y mayor facilidad, abriendo también la puerta a la posibilidad de crear páginas complejas sin necesidad de ser informático... ya no es necesario saber de programación y bases de datos para crear una página, así como tampoco es necesario crearlas desde cero.
Una web basada en un CMS será mucho más pesada y lenta...
Pero utilizar un gestor de contenidos, como el WordPress, implica colocar una capa muy pesada en medio, todo un framework completo para desarrollar una web que utilizará una parte de toda la estructura. Una web basada en un CMS será mucho más pesada y lenta... y a eso no escapa ni el propio WordPress. Por eso es muy importante optimizar los sitios web creados bajo el auspicio de los gestores de contenidos.
En este artículo voy a definir una serie de mejoras que optimizarán cualquier sitio web basado en WordPress, logrando que sea más rápido y menos pesado en cada caso. Los consejos, basados totalmente en mi propia experiencia, son los que realmente me han funcionado en el camino de optimizar el sitio web WordPress, pero este texto no es un manual de cómo hacer esas mejoras... buscando en Internet se conseguirán ejecutar los cambios sin grandes complicaciones.
Temas ligeros y pocos plugins
Antes de detallar el resto de consejos, el primero -y esencial- hace referencia a los temas elegidos y a los plugins importados. Respecto a los temas comentar que los hay creados específicamente para un tipo de página web -por ejemplo el tema creado específicamente para un blog- y, después, existen temas multipropósito con diferentes plantillas según el tipo de sitio web. Los temas multipropósito son más pesados y suelen cargar más plugins.
En un sitio web basado en WordPress es muy importante activar solo aquellos plugins que realmente sean necesarios.
Respecto a los plugins, en muchas ocasiones se instalan demasiados, algunos de utilidad, otros que la tuvieron y ya no la tienen, y algunos para probar o para funciones que ya no se necesitan. En un sitio web basado en WordPress es muy importante activar solo aquellos plugins que realmente sean necesarios... cuantos menos haya, más rápida será la página.
Desactivar plugins de uso concreto
<>En los sitios web WordPress se instalan plugins que son de ejecución momentánea, por ejemplo un plugin para obtener una copia de de seguridad de la web. Este tipo de plugins se debieran activar en el momento de que fuera necesaria su ejecución, y una ver terminada, pasar a otra vez a estar desactivados.
La compresión GZIP
Activar la compresión GZIP es fundamental para cualquier sitio web, pero más fundamental es para una página basada en WordPress. Básicamente es enviar desde el servidor web el sitio comprimido en GZIP, siendo descomprimido en local por el propio navegador web, logrando que una web consuma menor ancho de banda, y siendo también más ágil en su carga.
Existen dos métodos para activar la compresión GZIP... el camino fácil y el difícil. El camino fácil es instalar un plugin que active esa función... hay muchos disponibles. El camino difícil, pero el más limpio y ágil, es modificar el fichero htaccess para activar la compresión, es el camino ideal principalmente por lo comentado más arriba... cuántos más plugins, más peso y lentitud.
Instalar plugin de Caché
Activar un sistema de gestión de caché, por ejemplo el famoso W3 Total Cache, permite tener la web entera cacheada, siendo actualizada cada determinado tiempo, logrando un aumento muy importante en la agilidad de la web. La gestión de caché quizás sea el método de optimización con el que más aumento de agilidad se alcanza para una web basada en WordPress, pero este cambio debe ser hecho con cautela... porque puede interferir con algunas partes del sistema.
En mis sitios web no uso ningún tipo de caché, ya que comprobé en muchas ocasiones que interfiere en la obtención de las estadísticas... se deja de contabilizar muchas visitas al sitio web, así como el número de visualizaciones de las diferentes entradas es adulterada. También existen otro tipo de problemas que pueden generar errores SEO, algo que siempre se debe evitar.
Recomiendo no ejecutar este punto por los «efectos secundarios» que pudiera producir el cacheo.
Instalar el plugin caché es lo primero que suele hacer todo el mundo, en mi caso personal sería lo último que haría... o quizás recomiendo no ejecutar este punto por los «efectos secundarios» que pudiera producir el cacheo.
Minificación y unificación
La minificación y unificación puede ser una alternativa al cacheo, de hecho muchos plugin de caché incorporan también esta característica. La minificación y unificación trata de unificar determinados archivos y unirlos, buscando reducir las llamadas al servidor. Principalmente se suele utilizar para los ficheros de estilos (CSS) y las funciones JavaScript (JS). Quizás el plugin más famoso que se centra en esto sea Autoptimize.
Este apartado también debe ser tomado con cautela, en mi experiencia sobre el asunto he tenido problemas muy concretos con esto de la minificación y unificación, ya que siempre que los he utilizado -por medio de diferentes plugins- siempre he tenido incompatibilidades y problemas con otros plugins importantes de mis sitios web.
Controlar plugins de paquetes multifunción
Existen plugins que ofrecen en una única instalación un montón de funciones; el más famoso podría ser Jetpack. Ese tipo de plugins son extensos y pesados, e incluyen un montón de funciones que no pueden ser desactivadas. Mucha gente utiliza Jetpack, pero solo utilizan algunas de sus funciones, y el tener activadas todas ellas genera procesos en ejecución innecesarios. Para el caso de Jetpack existe algún que otro plugin externo que permite desactivar todas las funciones no utilizadas o no deseadas, reduciendo en importante medida el impacto del módulo en cuestión.
Instalar certificado SSL
Mediante el protocolo HTTP/2 (HTTP 2.0) las páginas web se cargan mucho más rápido que mediante el clásico HTTP/1.1 (HTTP 1.0), pero los navegadores web solo soportan el nuevo protocolo si la conexión a la web se hace mediante SSL. Por ello se recomienda instalar desde el hosting un certificado del estilo a Let's Encrypt, por ejemplo. Entonces la web pasará a ser cargada desde HTTPS en lugar de HTTP, y podrá utilizar el protocolo HTTP/2.
Deshabilitar las revisiones
WordPress almacena por defecto un control de revisiones, que permite volver a cualquier cambio hecho en cualquier entrada o página de WordPress. Tener activadas las revisiones implica ocupar más espacio y hacer más pesado el sistema. Se pueden deshabilitar las revisiones cambiando la configuración del WordPress.
Optimizadores de base de datos
Existen plugins que optimizan la base de datos en un momento dado, es decir, eliminan de la base de datos todo aquello que ya no es necesario. Si no están desactivadas las revisiones, la optimización de la base de datos elimina, por ejemplo, esas revisiones que, en muchos casos, ya son obsoletas. Este tipo de plugin es el que siempre debemos tener instalado pero desactivado, pasando a activarlo cuando se quiera hacer una optimización.
Activar Lazyload
Existe una funcionalidad llamada Lazyload, que es la carga de las imágenes de una web según se hace scroll en la página, hasta que no se muestra una zona donde hay una imagen, no se carga dicha imagen. Existen plugins para este tipo de funcionalidad.
Optimizar las imágenes
Existen plugins que permiten optimizar las imágenes ya subidas, y las nuevas por subir. En muchas ocasiones se suben a la web de WordPress imágenes con demasiada resolución, en muchos casos innecesaria, y los plugins optimizadores no solo permiten rastrear las ya subidas para optimizarlas, sino que controlan las nuevas a subir para que sean optimizadas en el momento de un inserción en la web.
Ampliar el periodo de Heartbeat API
En WordPress existe la Heartbeat API, que es un sistema que hace llamadas cada 15 segundos o 2 minutos, depende del estado del WordPress en cada momento, para realizar comprobaciones o ejecutar determinadas tareas. Esa funcionalidad es la culpable, por ejemplo, del autoguardado de las entradas o páginas en redacción.
Conviene aumentar el espacio de tiempo entre las diferentes llamadas a la Heartbeat API.
Sobre este apartado conviene aumentar el espacio de tiempo entre las diferentes llamadas, y para eso existen diferentes plugins que permiten hacer precisamente eso, aumentar el tiempo entre llamadas, lo que provocará que se hagan menos llamadas y un aumento en el rendimiento de la web.
Desactivar REST API
Una de las grandes funcionalidades introducida en los últimos años en WordPress fue la REST API, librería que permite hacer integraciones de WordPress en aplicaciones externas. Pero la mayoría de los usuarios WordPress no la utilizan; si no se utiliza la REST API, conviene desactivarla. Se puede desactivar mediante plugins o manualmente.
Ejecutar externamente el cron de WordPress
El gestor de contenidos WordPress dispone de su propio cron, un programador de tareas a ejecutar que se encuentra en el fichero wp-cron.php. En este caso no recomiendo deshabilitar el servicio de cron, sino que sea gestionado de forma externa, ya que la gestión desde el propio WordPress consumo demasiados recursos.
Conviene deshabilitar en WordPress las ejecuciones del fichero wp-cron.php.
¿Cómo se gestiona de forma externa el cron de WordPress? La mayoría de hosting para alojar páginas web permiten utilizar el programador de tareas propio del servidor, por lo tanto conviene deshabilitar en WordPress las ejecuciones del fichero wp-cron.php, y pasar a configurar dichas llamadas en el propio cron del servidor web donde está alojada la página web.
Optimizar el fichero Robots.txt
Nuestras páginas web son constantemente visitadas por bots, programas informáticos que rastrean cada sitio web para indexar el contenido -por ejemplo los buscadores web como Google utilizan bots-. En muchos casos es necesaria la visita de los bots a nuestras páginas, pero en otros tantos esas visitas no son apropiadas, incluso maliciosas, y consumen recursos excesivos. Optimizar el fichero robots.txt permite indicar específicamente que bots queremos que nos visiten, limitando el consumo de recursos en nuestra web.
Limpiar las cabeceras wp_head
El gestor de contenidos WordPress introduce mucha información en las cabeceras de la página que, en muchos casos, es totalmente innecesaria y eleva las peticiones de la página. Conviene ejecutar lo que se conoce como limpiar las cabeceras, únicamente sobre una lista de etiquetas concretas que son reconocidas como innecesarias.
Para hacer eso hay que añadir en el código Php una función de limpiado de cabeceras y añadir una acción para que sea ejecutada en la carga de la web.
Este es el resumen de actuaciones que, en base a mi experiencia, logran que una web basada en WordPress mejore mucho en tamaño y rendimiento; incluir la totalidad de estas medidas, a excepción de la caché y minificación-unificación que en mi opinión generan más problemas que resuelven, redundarán en un aumento muy importante de una agilidad ya limitada por el uso de un CMS en su capa inferior.
La gran preferencia para los creadores web españoles es el WordPress.