¿Qué debes tener en cuenta para optimizar WordPress?
Tener una página rápida y que, además, consuma solo los recursos necesarios es el objetivo a alcanzar con cualquier web. Optimizar una web es mucho más que mejorar su velocidad de carga; también se mejora la usabilidad, el posicionamiento orgánico y lo más importante: se reducen las probabilidades de interrupción del servicio o caída por la saturación de los recursos contratados. Esto último, al optimizar WordPress, puede ayudarnos a reducir los costes del servicio de alojamiento.
Para conseguir llegar a una correcta optimización, es necesario implementar, y sobre todo configurar, un sistema de caché en el sitio web. Puesto que este artículo está enfocado a WordPress, nos centraremos en herramientas y recomendaciones para la optimización de un sitio web desarrollado en WordPress.
¿Cúal es el funcionamiento de WordPress?
WordPress es uno de los CMS más utilizados para el desarrollo web, tanto que actualmente más de la mitad de las páginas de internet están creadas a partir de WordPress. En cuanto a funcionamiento, WordPress está programado en PHP y utiliza MySQL como sistema de gestión de base de datos, aunque mediante módulos pueden usarse otro tipo de bases de datos.
Su funcionamiento es muy sencillo: se ejecuta código PHP para realizar consultas en la base de datos y esto permite crear páginas las HTML que el usuario puede ver al acceder a la web. Pero en este proceso hay que tener en cuenta otros factores que pueden influir en la rapidez, como los sistemas de caché.
La velocidad de carga
Aunque WordPress es un CMS ligero, instalar un tema muy pesado o demasiados plugins pueden afectar negativamente a su velocidad de carga. Para evitar este tipo de problemas es fundamental que la persona que desarrolle el sitio web escoja y configure correctamente todos los elementos que se instalen en el WordPress. Además, es muy importante entender por qué un sitio web responde con lentitud, ya que en ocasiones puede que no se consigan los resultados esperados.
En la velocidad de carga pueden influir diversos factores, algunos de ellos podremos controlarlos e intentar solucionarlos y otros es posible que nos sean completamente ajenos. Estos factores suelen estar relacionados con la red y la conexión a internet, con el servidor o con el sitio web, haciendo que solo podamos tener control sobre los dos últimos. Afortunadamente, los factores relacionados con la conexión son muy poco comunes, por lo que no deberían ser un problema.
¿Cómo medir la velocidad de carga?
Puedes medir la velocidad de carga de tu sitio web con diferentes herramientas online:
- Google PageSpeed Insights. Es una de las herramientas más conocidas y utilizadas de Google, pero hay que tener en cuenta que los resultados que muestra pueden estar condicionados. Google PageSpeed Insights se basa en las normas de Google para analizar una web y devolver un informe, pero no siempre es útil para medir la velocidad de carga. En ocasiones es posible que una web con buena puntuación en el test no tenga una óptima velocidad de carga, y viceversa. También hay que tener en cuenta que algunas de las sugerencias son prácticamente imposibles, ya que algunas de las correcciones que se proponen son elementos fundamentales para el funcionamiento de la web.
- Pingdom Tools. De esta forma podrás obtener unos resultados más reales y se eliminan los problemas derivados de la latencia o la velocidad de conexión, además de poder escoger la zona desde la que se realizará la prueba. Una vez analizada la web, Pingdom Tools ofrece una serie de informes con elementos a mejorar para reducir el tiempo de carga. El lado negativo de esta herramienta es que no nos da información sobre el impacto de los tiempos de carga en el servidor web.
- GTmetrix. Al igual que en la herramienta anterior, con GTmetrix también obtendrás un informe de mejoras para optimizar WordPress, en concreto la velocidad de carga de tu web. Aunque esta herramienta no permite escoger la localización del servidor desde el que se realizará la prueba, también es de gran ayuda para localizar problemas en el sitio web.
¿Por qué utilizar plugins para mejorar la velocidad de carga?
Los plugins de caché se encargan de guardar una copia ya procesada de la web para ofrecérsela a los visitantes al acceder a nuestra web. De esta forma se evita que tenga que procesarse esa petición de PHP en cada uno de los accesos, reduciendo los tiempos de carga y ahorrando recursos en el servidor. Es por eso que de entre la amplísima variedad de plugins que ofrece WordPress los plugins de caché, bien configurados, son de lo más importante.
A la hora de escoger uno u otro plugin de caché hay que tener en cuenta qué es lo que se quiere cachear. No todos los plugins permiten cachear las mismas partes de la web y, por tanto, no todos proporcionarán los mismos resultados. Algunos de los que mejores resultados ofrecen son los siguientes:
- W3 Total Cache. Es uno de los plugins de caché más completo del universo WordPress en su versión gratuita. W3 Total Cache permite cachear la página, objetos, consultas e incluso gestionar el caché a través de OPCache o Memcached en el caso de webs con grandes cantidades de tráfico. Además, es posible implementar un CDN e incluso optimizar el código. En el lado negativo, al ofrecer tantas posibilidades, W3 Total Cache puede resultar complejo a la hora de configurarlo.
- WP Speed of Light. Un plugin que se gestiona directamente desde el panel de WordPress para mejorar la velocidad de carga a través de técnicas automatizadas de WPO. Además del cacheo, permite optimizar el código, activar la compresión GZIP y hacer cambios en la configuración del caché del navegador.
- WP Fastest Cache. Puede ser una buena alternativa a plugins más complejos o plugins Premium, aunque solo permite cachear la página. A pesar de sus limitaciones, permite implementar CDNs y compresión GZIP si se utiliza Apache. Lo mejor de todo es que WP Fastest Cache es tan fácil de configurar que cualquier tipo de usuario puede activarlo en su sitio web.
- WP Rocket. Se trata de un plugin de pago que ofrece muy buenos resultados, tanto cacheando la página, los objetos o las consultas a la base de datos.
Además de esta selección de plugins, hay otros muchos que permiten cachear cuestiones muy concretas de una web, como los avatares, los widgets, el menú…
Optimizar WordPress: las imágenes
Uno de los mayores problemas de una página web es el tamaño y el peso de sus imágenes. A la hora de subir una imagen a un sitio web se tiende a buscar la calidad de la fotografía, calidad que en generalmente va unida a una imagen muy pesada. Una imagen de gran tamaño y peso puede ralentizar la velocidad de carga de una web, además de suponer un problema de ancho de banda.
Optimizar las imágenes, ya sea antes o después de subirlas a la web, es básico para una buena experiencia de usuario y para el rendimiento del servidor. Aunque pueda parecer algo difícil de hacer, lo cierto es que puedes optimizar tus imágenes desde softwares como PhotoShop antes de subirlas a la web; e incluso dispones de multitud de opciones online y gratuitas como Squoosh o Compressor que se encargarán de eliminar todos los metadatos innecesarios.
Si optas por optimizarlas una vez en el servidor, puedes hacerlo mediante plugins como Imsanity, WP Smush o Imagify.
Optimizando el código de la web
Al minificar y combinar los archivos de la web se consigue reducir su tamaño y también la cantidad de elementos HTML, CSS y JavaScript que tengan que cargarse. Así, además de reducirse el número de peticiones, la web pesará mucho menos.
Para optimizar el código de una web en WordPress también pueden utilizarse otras técnicas, como la carga asíncrona o el CSS inline. En el primer caso, al configurarse una carga asíncrona, no es necesario cargar por completo un elemento antes de pasar al siguiente, sino que se carguen los diferentes elementos a la vez. El CSS inline consiste en insertar el CSS dentro del HTML.
Pese a lo sencillo que resulta a nivel teórico, conseguir una buena optimización del código requiere de conocimientos avanzados en programación. Para un usuario con menos conocimientos técnicos, este tipo de cosas pueden realizarse mediante plugins. Aquí hay que tener en cuenta que los plugins ofrecen procedimientos generalizados y puede que lo que ofrecen no sea lo que realmente necesita un sitio web.
- Autoptimize. Además de permitir optimizar WordPress a nivel HTML, JavaScript y CSS, también es posible configurar la carga paralela mediante domain sharding.
- W3 Total Cache. Su sistema de optimización del código es de los más complejos, pero también de los que mejores resultados ofrece.
- WP Rocket. Entre sus funciones se encuentra combinar y minificar el código para optimizarlo. Además, también es posible optimizar las Google Fonts que se utilizan en una página web.
Configura un CDN
En el caso de las páginas web con muchas visitas, la configuración de un CDN es una de las mejores técnicas WPO que pueden implementarse. Un CDN, o red distribuida de contenidos, permite ofrecer el contenido de una forma más rápida al estar repartido en diferentes servidores ubicados en distintas localizaciones. La distribución del contenido permite que a cada usuario se le sirva el contenido desde el servidor que se encuentre geográficamente más próximo.
Al utilizar un CDN, además de reducirse el tiempo de carga de la web, el servidor principal podrá centrarse en servir únicamente el sitio web; ya que el resto de los elementos se ofrecerán desde el CDN. Así, se reduce la latencia, es decir, el tiempo que tarda un paquete desde el servidor de origen al destino. Cada paquete es un bloque de datos que contiene la información necesaria para poder visualizar correctamente un sitio web.
El CDN más conocido es Cloudflare, pero existen otros servicios que te ayudarán a obtener los mejores resultados, como CDN77, KeyCDN o Amazon CloudFront, uno de los servicios AWS. Cada uno de los CDN tendrá unos puntos de presencia determinados y unas características concretas que pueden mejorar la optimización de un sitio web.
Elige un servidor adecuado
Aunque la mejor opción en cuanto a alojamiento es ir a lo seguro apostando por un servidor cloud para WordPress, también es posible obtener buenos resultados con un servidor cloud optimizado. Lo más importante es que elijas un servidor cloud, y no un alojamiento compartido, en el que puedas personalizar al máximo la configuración del servidor a fin de aplicar las técnicas WPO necesarias a nivel de servidor.
En el caso de los planes compartidos, si bien son compatibles con todos los CMS, no es posible personalizar algunos parámetros que pueden ser fundamentales para mejorar los tiempos de carga. Además, hay que tener en cuenta que al no garantizarse los recursos, las acciones de los otros clientes con los que se comparte servidor pueden repercutir negativamente en el funcionamiento de tu web.
Si estás buscando alojamiento para tu WordPress, ten en cuenta lo siguiente:
- La elección del servidor web, a poder ser elije entre Nginx o Apache.
- Si te decantas por Apache combínalo con Varnish para ganar aún más velocidad gracias al proxy inverso.
- Sistemas para cachear el código PHP, como OPCache u Opcode cache.
- Utiliza las últimas versiones de PHP. Además de solucionar problemas de seguridad y permitir nuevas funcionalidades, las versiones de PHP también buscan ofrecer un mejor rendimiento a través de un código más sencillo y limpio.
- Optimiza la base de datos para garantizar la eficiencia en las consultas que se realicen. De otra forma, es posible que el servidor acabe saturado como consecuencia de la mala configuración de MySQL o MariaDB.
- Instala Memcached o APC para el cacheo de los elementos en la memoria RAM del servidor.
- Instala un SSL para poder activar HTTP/2 en el servidor. Esta nueva versión del protocolo HTTP permite la multiplexación, es decir la agrupación de varios elementos en una misma conexión.
Otros trucos para optimizar WordPress
Aunque la mayor parte de los trucos para mejorar el rendimiento de WordPress se llevan a cabo a través del wp-config o del archivo functions del tema, también pueden realizarse otras acciones desde el back-end de WordPress. Así, evitamos tener que tocar el código al no ser necesario realizar modificaciones manuales en estos dos archivos básicos de WordPress.
- Elimina los query strings, o cadenas de consulta de una URL, para evitar problemas en la optimización y asegurar el cacheo. Puedes hacerlo de forma manual o a través de plugins como WP Rocket u otros más específicos.
- Quita algunas configuraciones por defecto, como las etiquetas basura que solo sirven para ensuciar el código y, por motivos de seguridad, wp-generator.
- Ajusta el WP_MEMORY_LIMIT para que el tema o los plugins puedan utilizar los recursos necesarios del servidor. De forma predeterminada WordPress solo utiliza 40MB de RAM, deberás aumentar este parámetro para permitir un mayor uso de la memoria RAM.
- Activa la compresión GZIP o Deflate para que los archivos se envíen comprimidos; así pesarán mucho menos, se enviarán antes y se optimizará el ancho de banda contratado.
- Desactiva el WP-CRON y cámbialo por el CRON de Linux para que sea el servidor quien se encargue de ejecutar el script de tareas, evitando así los problemas de rendimiento del cron de WordPress.
- Controla el “latido” de WordPress. El API Heartbeat realiza peticiones de forma continua desde el navegador al archivo admin-ajax.php, lo que puede consumir demasiados recursos. Reduce su frecuencia para que las peticiones se hagan en periodos de tiempo más prolongados.
- Activa el caché del navegador para que los archivos de la web se almacenen en el navegador del usuario. Así solo tendrán que descargarse la primera vez, las siguientes el contenido se servirá desde el caché.
- Huye de las redirecciones a páginas de destino. Procura que, si son necesarias, sean las menos posibles para no afectar a la velocidad de carga al añadir “saltos” innecesarios a una petición.
Te ayudamos a optimizar WordPress
En Linube somos expertos en la optimización de sitios web, especialmente los desarrollados en WordPress. Así que, si esta guía para optimizar WordPress no es suficiente para conseguir tus objetivos, disponemos de un servicio de WPO con el que hacer volar tu web.
Más allá de la optimización, recuerda que es muy importante mantener WordPress actualizado para poder garantizar la seguridad de la web, de los datos y de todos tus clientes o usuarios. Si quieres dejar en manos expertas el mantenimiento de tu WordPress, también contamos con el servicio perfecto.