WordPress ejecuta tareas en segundo plano cada vez que un usuario visita tu WEB a través del fichero wp-cron.php.
Es decir, si tienes 5000 visitas diarias, se ejecutará el job de cron 5000 veces, excepto si la página está cacheada (yo uso Litespeed). Y el cron de WordPress es un gran consumidor de recursos que penaliza el rendimiento de tu WEB y, por lo tanto, afecta al posicionamiento SEO.
Obviamente, esta manera de ejecutarse las tareas programadas de WordPress es muy poco eficiente en cuanto a rendimiento.
¿Qué tareas programadas ejecuta WordPress?
Si quieres saber qué ejecuta wp-cron.php cada vez, tan sólo tienes que ir al menú de WordPress Herramientas –> Sheduled Actions.
Cuántos más plugins y temas instalemos en WordPress, más tareas se van a programar y, por lo tanto, más CPU y Memoria va consumir nuestra página WEB, ralentizando su carga.
¿Qué ocurre si no se ejecuta cron?
La URL de cron de WordPress es: https://dominio/wp-cron.php?doing_wp_cron. Si le echas un vistazo al código, podrás descubrir que si programas la publicación de un nuevo artículo, éste no se publicará. Verás un error de «programación perdida».
Las actualizaciones de WordPress, de plugins, de la papelera de reciclaje, de temas, etc. tampoco funcionarán.
Por lo tanto, sí que se ha de ejecutar la tarea wp-cron.php pero no cada minuto.
Aprende a planificar tareas programadas por cron en Linux
¿Puedo programar el cron con una hora personalizada y no cada vez que entre un usuario a mi página?
La respuesta es un rotundo sí.
DEBES DESACTIVAR EL CRON DE WORDPRESS Y UTILIZAR EL CRON DE LINUX CUANTO ANTES
Deberás echar un vistazo a los servicios que ofrece tu hosting. En mi caso, utilizo Profesional Hosting (ver mi opinión sobre Profesional Hosting y obtén un código de descuento) que utiliza Plesk como administrador de cada uno de mis dominios y sí tiene la posibilidad de añadir tareas programadas personalizadas.
Programar el cron con Plesk
Para añadir una tarea programada en Plesk, iremos al menú «Tareas programadas» y definiremos una en formato cron.
Si no sabes cómo funciona cron, te recomiendo que les el artículo relacionado con los comandos básicos relacionados con los procesos de Linux.
A continuación, invocaremos a la URL de cron de WordPress cada vez que queramos que se ejecute:
En este ejemplo, estamos ejecutando la URL de cron de WordPress cada 20 minutos.
Programar el cron con CPanel
Si tu servicio de Hosting tiene CPanel en lugar de Plesk, también podrás programar el cron de una manera muy similar a la explicada anteriormente.
Vas al panel de administración de CPanel y buscas «Cron Jobs»:
A continuación, tendrás que rellenar un formulario con el script o comando a ejecutar y el intervalo horario, igual que hemos hecho anteriormente en Plesk.
Como podemos observar, podemos planficar el job que queramos en cualquier momento del día, semana, mes, minuto, que se ejecute varias veces en un intervalo horario, etc.
Desactivar el cron nativo de WordPress
Ahora que ya hemos personalizado el cron de WordPress, lo que tenemos que hacer es evitar que se ejecute cada vez que recibimos un visitante.
Para ello, editaremos el fichero wp-config.php y añadiremos la siguiente directiva:
define('DISABLE_WP_CRON', true);
¿Cuándo ejecutar wp-cron.php?
Lo mejor es ejecutarlo en aquellos momentos en que tengas menos tráfico en tu WEB. Por ejemplo, por la noche, o cada cuatro horas durante el día.
# Ejecutar cron cada 4h
00 04,08,12,16,20 * * * https://dominio/wp-cron.php?doing_wp_cron
Te puede interesar
- Instala WP Optimize para mejorar el rendimiento de la base de datos de WordPress
- Aumenta la memoria PHP de WordPress para mejorar su rendimiento
- Utiliza Cloud Flare para mejorar la velocidad de carga
- O prueba la CDN de KeyCDN para mejorar el rendimiento de WordPress
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,