WordPress es un fantástico administrador de contenidos que nos permite, de manera fácil y eficiente, publicar contenidos de todo tipo; sobre todo para aquellos usuarios no técnicos; por ello, en este tutorial, te voy a enseñar cómo optimizar WordPress con wp-cron.php, un sencillo y modesto script incluido en la instalación del propio WordPress que te ayudará a ejecutar estas tareas de mantenimiento en periodos de tiempo determinados.
En el día a día para la ejecución de tareas de mantenimiento o procesamiento de datos, WordPress suele “ejecutar” wp-cron.php durante todas las visitas de todos los usuarios en nuestro sitio, consultas a bases de datos o llamados a scripts o recursos que terminan incidiendo (dependiendo del tamaño de nuestro sitio) en el rendimiento del servidor.
Por lo anterior, aquí aprenderás a tunear un poco tu instalación de manera fácil y confiable. ¡Comencemos!
Paso número 1: deshabilitar el wp-cron.php
En primer término, tenemos que editar el archivo wp-config.php que se encuentra en la raíz de nuestro directorio de instalación. Aquí, la sugerencia es que incluyas la siguiente línea de código de manera posterior a donde aparece $table_prefix = ‘wp_’; (aproximadamente en la línea 122):
define('DISABLE_WP_CRON', true);
Paso número 2: programar el cron en nuestro sistema
¿Ya modificaste el archivo wp-config.hp para deshabilitar el wp-cron.php? Vayamos ahora al siguiente paso.
En los sistemas operativos tipo Unix, el Cron es un programa que se ejecuta en segundo plano para la ejecución de procesos en intervalos de tiempo regulares como por ejemplo, cada minuto, cada hora, cada lunes, cada mes, etc. En este sentido, dichos procesos programados para ejecución se “guardan” en un archivo de texto llamado Crontab.
Dato curioso: el término “cron”, se deriva del griego “chronos” que significa “tiempo”.
Con lo anterior, ya sea si utilizar un sistema operativo tipo Unix o sus derivados en estado puro (como GNU/Linux) o bien, si cuentas con un proveedor de hosting que te proporcione acceso en su panel de control a la programación de tareas mediante cron o crontab, solo tienes que programar una tarea similar a esta para su ejecución cada 5 minutos (por ejemplo):
php -q /var/www/clients/client1/web15/web/wp-cron.php
La imagen anterior, es un ejemplo del programador de tareas de mi proveedor de hosting, quien utiliza ISPConfig como panel de control para administrar mi página web. En tu caso particular, te recomiendo que investigues en la documentación de tu proveedor o solicites ayuda mediante un ticket de soporte técnico para que puedas programar y ejecutar la tarea en el intervalo de tiempo que más te acomode.
Si usas un hosting comercial compartido, es muy probable que tu proveedor no te permita o te penalice por programar tareas que se ejecuten cada 1 minuto; en estos casos, es muy común que los límites sean cuando menos cada 5 minutos o más. ¡Consulta la documentación de tu hosting!