Cómo deshabilitar wp-cron en WordPress y configurar trabajos cron adecuados
Publicado: 2022-06-28¿Tiene problemas con las acciones programadas que no funcionan en WordPress?
WordPress tiene un sistema de programación llamado wp-cron, pero a veces pierde una tarea programada, como publicar publicaciones programadas, enviar correos electrónicos activados, etc. Los trabajos cron adecuados ejecutados por el sistema operativo de su servidor suelen ser más confiables.
En este artículo, le mostraremos cómo deshabilitar wp-cron en WordPress y cubriremos dos formas en que puede configurar trabajos cron adecuados.
¿Por qué deshabilitar wp-cron?
Su sitio web de WordPress tiene un sistema de programación incorporado llamado wp-cron. Realiza tareas sensibles al tiempo, como buscar actualizaciones, publicar publicaciones programadas, crear automáticamente copias de seguridad periódicas, enviar correos electrónicos activados, etc.
Puede obtener más información en nuestra guía sobre cómo ver y controlar los trabajos cron de WordPress.
El problema es que a WordPress solo se le solicita que verifique los trabajos programados cuando alguien visita su sitio web. Esto funciona lo suficientemente bien para la mayoría de los sitios, pero a veces puede causar problemas para los más pequeños.
Por ejemplo, si su sitio tiene poco tráfico, es posible que sus publicaciones programadas no se publiquen a tiempo. Y si su sitio web recibe mucho tráfico, wp-cron se verificará con frecuencia, lo que puede afectar el rendimiento de su sitio web.
Ahora, si solo desea corregir el error de las publicaciones programadas que faltan, puede usar el complemento gratuito Missed Scheduled Publisher, pero si desea resolver todos los problemas de acción programada, entonces necesita un trabajo cron real.
Un trabajo cron real es ejecutado por el sistema operativo de su servidor de alojamiento web, no por WordPress. Puede configurarlo para verificar las tareas programadas más seguramente. De forma predeterminada, WordPress no tiene acceso para configurar esto en el nivel del servidor, pero puede hacerlo fácilmente siguiendo nuestro tutorial.
Dicho esto, echemos un vistazo a cómo deshabilitar wp-cron y configurar un trabajo cron adecuado. Esto es lo que cubriremos en este tutorial:
- Deshabilitar wp-cron en WordPress
- Configuración de un trabajo cron adecuado en su host de WordPress
- Configuración de un trabajo cron adecuado mediante un servicio de terceros
Deshabilitar wp-cron en WordPress
Para deshabilitar wp-cron, debe editar wp-config.php, que es un archivo de configuración central de WordPress. Está ubicado en la carpeta raíz de su sitio de WordPress, y deberá usar un cliente FTP o el administrador de archivos en el panel de control de su alojamiento web.
Este archivo contiene mucha información confidencial, y hacer los cambios incorrectos puede dañar su sitio de WordPress. Recomendamos hacer una copia de seguridad del archivo primero, por si acaso. Puede aprender cómo seguir nuestra guía sobre cómo editar wp-config.php en WordPress.
Deberá pegar el siguiente código en el archivo wp-config.php justo antes de la línea que dice '¡Eso es todo, deje de editar! Feliz blogueo.'
define('DISABLE_WP_CRON', true);
Después de eso, debe guardar el archivo y volver a cargarlo en su sitio web.
WordPress ya no activará wp-cron cuando alguien visite su sitio web.
Configuración de un trabajo cron adecuado en su host de WordPress
Ahora deberá configurar un trabajo cron adecuado para ejecutar sus tareas programadas. La forma en que lo haga variará según las herramientas proporcionadas por su proveedor de alojamiento de WordPress.
La forma más fácil de configurar trabajos cron es usar cPanel, un popular panel de control de sitios web incluido con muchos planes de alojamiento web, incluido Bluehost. Usaremos el Bluehost cPanel en este tutorial.
Nota: algunos servidores web no usan cPanel y es posible que algunos ni siquiera le permitan crear trabajos cron. En caso de duda, debe ponerse en contacto con su proveedor de alojamiento o consultar su documentación de soporte. Siempre puede usar un servicio cron de terceros (abajo).
Una vez que inicie sesión en su cuenta de alojamiento y navegue a cPanel, debe desplazarse hacia abajo hasta encontrar 'Cron Jobs' y luego hacer clic en él.
Puede encontrarlo en la sección 'Avanzado', pero esto puede variar según su proveedor de alojamiento.
Esto lo llevará a una nueva página donde puede crear nuevos trabajos cron.
No se preocupe por la advertencia que verá sobre la necesidad de un buen conocimiento de los comandos de Linux. Solo se necesita un comando, y le mostraremos exactamente cuál es a continuación.
Si lo necesita, puede cambiar la dirección de correo electrónico a la que se enviarán las notificaciones de trabajos cron. La dirección predeterminada es la que usó cuando se registró para su alojamiento web y funcionará bien en la mayoría de los sitios web.
Ahora, desplacémonos hacia abajo hasta la sección 'Agregar nuevo trabajo cron' y configuremos un trabajo cron.
Primero, debe decidir con qué frecuencia se ejecutará el trabajo cron. Esto puede ser lo que quieras, pero recomendamos un intervalo de 30 minutos.
Deberá hacer clic en el botón 'Configuración común' y seleccionar un intervalo de tiempo del menú desplegable. 'Dos veces por hora' es una buena opción para la mayoría de los sitios si no está seguro.
Ahora puede ingresar el comando que le pedirá a WordPress que ejecute sus tareas programadas. Debe pegar el siguiente código en el campo 'Comando':
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Asegúrese de reemplazar 'example.com' con la URL de su propio sitio web.
Una vez que haya hecho eso, asegúrese de hacer clic en el botón 'Agregar nuevo trabajo cron' y verá el nuevo trabajo cron agregado a la lista a continuación.
WordPress ahora buscará y ejecutará tareas programadas cada 30 minutos en lugar de cuando alguien visite su sitio web.
Configuración de un trabajo cron adecuado mediante un servicio de terceros
Si su plan de alojamiento no ofrece trabajos cron adecuados, o si son difíciles de configurar, entonces puede usar un servicio cron de terceros en su lugar.
Estos son servicios dedicados que le permiten configurar trabajos cron usando una interfaz simple. Aquí están algunos de los mejores:
- EasyCron tiene un plan gratuito que requiere renovación mensual
- cron-job.org es un servicio gratuito
- Cronitor es gratis si solo necesitas un trabajo cron
- SetCronJob ofrece planes pagos desde $10/año
Para este tutorial, usaremos EasyCron porque es fácil de usar y el plan gratuito es adecuado para la mayoría de los casos de uso de principiantes.
Una vez que cree una cuenta gratuita, puede crear un nuevo trabajo cron haciendo clic en el botón '+ Trabajo cron' a la izquierda.
Aparecerá la pantalla 'Crear trabajo cron'. Primero, debe pegar la siguiente URL en el campo 'URL para llamar'.
https://example.com/wp-cron.php?doing_wp_cron
Asegúrese de reemplazar 'example.com' con la URL de su propio sitio.
Después de eso, debe elegir 'Cada 30 minutos' en el menú desplegable 'Cuándo ejecutar'. Cuando haya terminado, no olvide hacer clic en el botón 'Crear trabajo cron' para almacenar su configuración.
El nuevo trabajo cron se agregará a la lista y se ejecutará wp-cron en su sitio web cada 30 minutos.
Esperamos que este tutorial lo haya ayudado a aprender cómo deshabilitar wp-cron en WordPress y configurar trabajos cron adecuados. También puede consultar nuestra guía paso a paso para el SEO de WordPress, o consultar nuestra lista de errores comunes de WordPress y cómo solucionarlos.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para videos tutoriales de WordPress. También puede encontrarnos en Twitter y Facebook.