Icono del sitio Hosting WEB - Servidor Dedicado - Hosting Linux

¿Cómo evitar que la precarga (preload) de caché de WP Rocket colapse tu servidor?

¿Cómo evitar que la precarga (preload) de caché de WP Rocket colapse tu servidor?

¿Cómo evitar que la precarga (preload) de caché de WP Rocket colapse tu servidor?

‘Bendito’ y ‘Maldito’ WP Rocket… si has tratado de mejorar el rendimiento de tu página web y has llegado a la sabia decisión de instalar el plugin de caché WP Rocket, habrás pensado más de una vez éste o un pensamiento contradictorio del estilo.

¿y por qué ‘Bendito’ y ‘Maldito’ WP Rocket a la vez?

‘Bendito’ cuando, tras su instalación y configuración, descubres la gran mejora de rendimiento y velocidad de carga que llega a alcanzar tu web.

Y ‘maldito’ por los problemas a los que podrás enfrentarte en el proceso de configuración para que tu web no reviente de una forma u otra.

Desde Hoswedaje, hemos querido preparar este artículo para explicar cómo solucionar uno de los posibles problemas de WP Rocket: el colapso que el preload de WP Rocket puede generar en tu servidor.

¿Cómo evitar que WP Rocket Preload Cache colapse tu servidor?

En esta ocasión, vamos a realizar los pasos a seguir en un entorno Plesk. Los pasos a seguir con CPanel son muy parecidos. Algunos usuarios prefieren realizar este tipo de acciones dejando el WordPress en mantenimiento. Nosotros, en este caso, hemos optado por no realizar esta acción.

Paso 1: Desactivar WP Cron de WordPress

El preload de WPRocket se ejecuta mediante el propio cron de WordPress. Es por ello, que lo primero que tenemos que hacer para ejecutar el preload de WP Rocket cuando mejor nos convenga es desactivar wp_cron de WordPress. Para ello, tenemos que acceder a nuestro archivo functions.php del theme utilizado y añadir estas líneas:

/** desactivar cron wordpress**/
define('DISABLE_WP_CRON', true);

Para acceder a este archivo, podemos acceder por ftp o mediante Plesk, accediendo a la suscripción, al "administrador de archivos" y navegando hasta nombredelaweb/httpdocs/wp-content/themes/temaactivo/functions.php

Con este paso, el cron por defecto de WordPress quedará desactivado. En siguientes pasos reactivaremos este cron ejecutándolo desde Plesk.

Paso 2:  Iniciando el proceso para la precarga de WP Rocket mediante un cron

Siguiendo indicaciones de la propia documentación del plugin, vamos a crear un archivo que llamaremos "rocket-clean-domain.php" y guardaremos en la raíz del WordPress. Para ello, accederemos vía ftp o mediante Plesk y crearemos el archivo en cuestión:

Una vez creado, acedemos al archivo pinchando sobre el propio archivo creado:

Añadimos el siguiente código y pulsamos en aplicar:

<?php
// Carga WordPress.
require( 'wp-load.php' );

// Limpia la cache.
if ( function_exists( 'rocket_clean_domain' ) ) {
rocket_clean_domain();
}

// Precarga la cache.
if ( function_exists( 'run_rocket_sitemap_preload' ) ) {
run_rocket_sitemap_preload();
}

Paso 3:  Creación de Cron WordPress desde Plesk

En plesk, volvemos a la suscripción y buscamos el botón "Tareas Programadas". Suele encontrarse en la columna derecha:

Al acceder, si antes no hemos creado una tarea programada o cron, lo normal es que aparezca vacío. Lo que vamos a hacer es crear nuestra priemera "tarea programada" y para ello pulsaremos es "Añadir nueva":

Vamos a configurar una tarea cron para WordPress que se ejecutará cada  30 minutos.

Para ello, añadiremos los siguientes valores:

Una vez tengamos todo configurado pulsamos en "Aceptar".

Paso 4: Comprobar que la tarea programada (cron) funciona

Para comprobar que la tarea programada funciona correctamente vamos a instalar un plugin. En esta ocasión vamos a utilizar un plugin bastante liviano que lo único que hace es crear un registro cron. El plugin en cuestión es Cron Logger. Desde el panel de nuestro WordPresss, accedemos a "Plugins" > "Añadir nuevo", buscamos "Cron Logger", lo instalamos y lo activamos.

Una vez instalado y activado el plugin, volvemos a plesk. En la pantalla en la que nos encontrábamos de "tareas programadas", en la reciente tarea programada, vamos a pulsar en "Ejecutar ahora"

Esperamos a que termine de ejecutarse la tarea y volvemos a nuestro panel de WordPress. Accedemos a "Herramientas" > "Cron Logs" y tendrá que aparecernos con fecha de ahora mismo el cron que acabamos de ejecutar. Si esto es así, el cron se ha configurado correctamente.

 

Paso 5: Instalar WP Rocket Custom Preload Intervals

Antes de crear el cron para la preload de WP Rocket, vamos a instalar un plugin llamado WP Rocket | Custom Preload Intervals. Este plugin creado por el propio equipo de WP Rocket es un plugin que reducirá el tiempo de precarga de caché de cada página a 5 segundos. De esta forma, evitaremos que el servidor pueda colapsarse por una lto número de peticiones en muy poco tiempo. Solo tenemos que descargarnos el plugin, subirlo, instalarlo y activarlo.

Paso 6: Crear cron Preload WP Rocket

Vamos a volver a nuestro panel Plesk y vamos a crear una nueva tarea cron para la precarga de WP Rocket. En esta ocasión con los siguientes parámetros:

Paso 7: Comprobar que el cron de Preload WP Rocket funciona correctamente

Volvemos a plesk. En la pantalla en la que nos encontrábamos de "tareas programadas", en la reciente tarea programada "Cron para WPRocket", vamos a pulsar en "Ejecutar ahora"

Esperamos a que termine de ejecutarse la tarea y volvemos al "Administrador de archivos" de Plesk. Si la configuración de WP Rocket es correcta y el cron ha funcionado correctamente, se habrán creado una serie de archivos y carpetas dentro de nuestra suscripción plesk. Es por ello, que si navegamos al "Administrador de archivos" y navegamos hasta la ruta:httpdocs/wp-content/cache/wp-rocket encontraremos una carpeta con el nombre de la web y dentro más carpetas y archivos html de cada una de las páginas y posts que haya precargado el cron. Y lo más importante, la fecha de estos archivos y carpetas tiene que ser la misma que la fecha en la que se ejecutó el crón.

Como esta tarea cron la hemos programado para que se ejecuta diariamente, aconsejamos comprobar al día siguiente de la primera ejecución estos archivos. Para comprobar que se han creado en la fecha correspondiente.

Paso 8: Ampliar la vida útil de la cache en WP Rocket

Por defecto, WP Rocket asigna una vida útil de la caché de 10 horas. Como hemos configurado un cron para esta función que se ejecuta una vez al día, aconsejamos cambiar la vida útil de la caché a 1 día. Para ello, accedemos a WP Rocket > Caché y bajamos a la parte inferior. En la Parte "Vida útil de la caché" cambiamos la fecha a "1 días" y guardamos cambios.

Configuración WPRocket Preload Cache

Con estos siete pasos hemos conseguido varias cosas:

Espero que te haya sido útil este tutorial, ¿tienes alguna duda? ¿lo haces de otra forma? No lo pienses y añade un comentario.

¡Muchas gracias!

Salir de la versión móvil