Advertisement
  1. Code
  2. WordPress

Acelerar WordPress: Almacenamiento en Caché y Optimización de la Base de Datos

by
Read Time:8 minsLanguages:
This post is part of a series called Speeding Up WordPress.
Speed Up WordPress: Using CDNs, Compression, and Minification

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

Uno de los puntos de discusión más populares en la comunidad de WordPress es cómo acelerar WordPress y la optimización de las páginas web. No creo que exista un blog sobre WordPress sin un artículo "X Consejos Para Mejorar la Velocidad de WordPress". No me malinterpretes, esto es algo bueno. Pero necesitamos mejores artículos sobre este tema en lugar de publicar miles de revisiones sobre plugins para conseguirlo.

Este podría parecer otro tutorial con "trucos para aumentar la velocidad de WordPress", pero en esta serie de tres partes, vamos a revisar cada aspecto que interviene en la optimización y la mejora de la velocidad de carga de tu sitio web WordPress.

Vamos a empezar con el más popular y probablemente lo más sencillo: el almacenamiento en caché.

La Caché en WordPress

Creo que podemos afirmar con tranquilidad que este es el tema más popular cuando se debate sobre la velocidad de carga de WordPress. Desde luego, esto se debe a la popularidad y la facilidad de uso de los plugins de caché que existen para WordPress, pero también es una de las técnicas fundamentales para reducir el tiempo de carga de la base de datos y acelerar los sitios web creados con WordPress.

Volveremos a hablar sobre los plugins para la caché, pero echemos un vistazo a los dos tipos de caché: la caché del servidor y el almacenamiento en caché del lado del cliente.

Almacenamiento en Caché del Lado del Cliente

La caché del lado del cliente es un tipo de almacenamiento en caché que realizan los navegadores de tus usuarios. Eso significa que cuando lleguen visitas a tu sitio web, sus navegadores almacenarán los datos de ciertas partes de tus páginas. Aunque los navegadores cachean algunos datos automáticamente (como el almacenamiento en caché de archivos JavaScript y CSS), podemos realizar algunos ajustes a través de los archivos .htaccess.

Cuando hablo de realizar ajustes en .htaccess, me estoy refiriendo a añadir la directiva "Expires" header en él. Quizás has escuchado el término "aprovechar el almacenamiento en caché del navegador" ya que es ampliamente utilizado en tutoriales sobre "optimización de sitios web", y es un criterio de alta prioridad en el servicio de Google PageSpeed.

Por suerte, no tenemos que bregar con estos headers nosotros mismos, hay un montón de código listo para coger "prestado" por Internet. A mi me gusta el que consta en el estándar HTML5 Boilerplate, en donde los headers están divididos en categorías según los tipos de archivos:

Coloca estas líneas de código en el archivo .htaccess y ¡ya lo tienes!

Almacenamiento en Caché del Lado del Servidor

Cuando se trata de almacenar la caché de WordPress en el de servidor, podemos hablar de cuatro clases principales de almacenamiento en caché: almacenamiento en caché de la página, caché de la base de datos, caché de objeto y caché de opcode (código de operación). Sourav Kundu explica esto en su artículo de WP Explorer, pero resumiendo:

  1. Caché de Página: En esencia, WordPress muestra tus páginas tras realizar consultas a la base de datos y después carga los resultados. El cacheado de página, sin embargo, almacena cada página como archivos HTML de forma local en el servidor (en su disco duro o su memoria RAM) y sirve los archivos HTML correspondientes a las páginas cada vez que los usuarios visitan tu Web.
  2. Caché de la Base de Datos: Las bases de datos son el "cerebro" de un sitio web creado con WordPress, es el lugar en el que se almacenan todos los datos. Y no es muy eficaz el hecho de que cuando WordPress realiza la misma consulta sin existir en ella ninguna alteración, una y otra vez para cada página y para cada visitante. El almacenamiento en caché de la base de datos guarda y sirve los resultados de estas consultas y actualiza los resultados cuando hay alguna modificación en la consulta que se está realizando.
  3. Caché de Objeto: Se trata de una API interna de WordPress que permite a los plugins almacenar los datos de sus consultas más pesadas en la memoria. Es un poco irrelevante para nuestra serie, tal vez lo veamos en un tutorial independiente en el futuro.
  4. OpCode Caché: Igual que añades harina, agua, huevos, azúcar y todo eso cada vez horneas un pastel, los códigos en los archivos PHP son instrucciones para "compilar" y realizar tus peticiones. El almacenamiento en caché OpCode es el tipo de almacenamiento en caché que almacena el código compilado, acelerarando el proceso considerablemente.

Plugins de Caché Para WordPress

Nuestros principales capítulos versan sobre aspectos para aumentar la velocidad de WordPress, por lo que hablar de plugins sería salirnos del tema. Sin embargo, no sería mala idea comentar un par de plugins en cada capítulo. En cuanto a la caché, sé que ya conoces los dos plugins más populares:

  1. WP Super Cache: Este es el plugin de caché más popular para WordPress, con alrededor de 6 millones de descargas y una valoración de 4,2 estrellas en el momento en el que escribo este artículo. En pocas palabras, WP Super Cache trabaja generando archivos HTML estáticos de las páginas y las refresca en el intervalo que tu definas (una hora por defecto). Esto funciona estupendamente incluso en los alojamientos compartidos, pero puede no ser suficiente para los sitios web con un alto tráfico.
  2. W3 Total Cache: Ocupa el segundo lugar en popularidad en los plugins para caché, con casi 4 millones de descargas y 4,5 estrellas, pero W3 Total Cache es un plugin más conveniente para sitios web de alto tráfico alojados en un VPS (Virtual Private Server) o un plan de alojamiento superior a los básicos compartidos. Con su amplia gama de configuraciones y sus opciones para configurar un almacenamiento en caché de alto rendimiento, sería la mejor solución para ti si supieses lo que estás haciendo en cada ajuste. Pero, si no estás familiarizado con la jerga de los ajustes para la caché, también puedes usarlo con sus ajustes predeterminados, sin cambiar ninguna opción, de lo contrario podrías acabar rompiendo tu front-end.

Optimización de la Base de Datos en WordPress

Las bases de datos son los "cerebros" de tu sitio web: almacenan los valiosos datos que después se muestran en tus páginas. Las páginas HTML estáticas guardan los datos dentro de las páginas, pero los sistemas de gestión de contenidos (CMSs) dependen de las bases de datos (SQL, NoSQL, XML, JSON, etc) para almacenar nuestros datos. WordPress no es diferente, utiliza MySQL para almacenar tanto el contenido estático como el dinámico, junto con la información de tu sitio web, la configuración de WordPress, los detalles de los usuarios, etc.

Las bases de datos son un potente estándar para mantener, servir y modificar tus datos, pero si las usas mal y te olvidas de mantenerlas, pueden acabar siendo pesadas, lentas e hinchadas. Y como cualquier otro software, WordPress necesita también de un mantenimiento. WordPress no crea una base de datos demasiado inflada, pero eso no significa que no ralentice tu web.

Tienes que vigilar el número de revisiones de tus entradas, las entradas eliminadas, las páginas, los comentarios, etc. y cualquier otro tipo de datos "obsoletos". Y de vez en cuando, deberías verificar la "sobrecarga de tu base de datos", lo que a menudo se compara con la desfragmentación de los discos duros o el cambio de aceite de tu coche.

Es posible mantener todo esto manualmente: vaciando tu papelera, desactivando la función de las "revisiones", eliminando los comentarios spam y optimizando una base de datos sobrecargada iniciando sesión en phpMyAdmin, pero esta no es la mejor técnica para la optimización de la base de datos. En su lugar, puedes usar un plugin de WordPress para que realice este trabajo.

Existen unos cuantos plugins que te permiten optimizar tu base de datos con un solo clic o incluso automáticamente. El que más me gusta es  WP-Optimize: limpia y optimiza tu base de datos automáticamente y sin más problemas.

WP-Optimize enumera sus características principales como sigue:

  • Eliminación de las revisiones de post antiguos
  • Borrado de comentarios antiguos no aprobados y de aquellos etiquetados como spam
  • Eliminación de comentarios contenidos en la papelara
  • Extracción de metadatos de Akismet relativos a comentarios
  • Eliminación de otros metadatos obsoletos relativos a los comentarios
  • Diseño adaptado a dispositivos móviles, ahora puedes optimizar tu web allí donde estés
  • Eliminación de todos los trackbacks y pingbacks
  • Limpieza automática de los borradores de los posts
  • Eliminación de las opciones temporales
  • Eliminación de los posts ubicados en la papelera
  • Limpieza automática de todas las opciones integradas (también emplea la retención si está habilitada)
  • Posibilidad de indicar el número de antigüedad en semanas de los datos cuando se va a realizar la limpieza
  • Opción de añadir o quitar el enlace del plugin en la barra de administración de WordPress.
  • Activar/desactivar una programación semanal para la optimización
  • Aplicar los comandos de optimización nativos de WordPress MySql en tus tablas de la base de datos sin phpMyAdmin o mediante cualquier consulta manual.
  • Mostrar las estadísticas de tabla de la base de datos. Muestra cuánto espacio puede optimizarse y cuánto espacio se ha liberado tras la optimización.
  • Habilitado sólo para los administradores.

Asegúrate de echar un vistazo a otros plugins para la optimización de bases de datos, pero no seas negligente a la hora de mantener tu base de datos.

En la 2 Parte

En las próximas partes de la serie, veremos los aspectos de compresión y minificado, y el uso de CDNs para aumentar la velocidad de tu sitio web WordPress.

¿Cuál es tu enfoque para lograr aumentar la velocidad de WordPress? Comparte tus pensamientos en la sección de comentarios que viene a continuación. Y si te gustó el artículo, no olvides compartirlo.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.