El programador de WordPress (WordPress Scheduler) es una herramienta esencial que permite ejecutar tareas automatizadas, como el envío de newsletters, la programación de publicaciones y la ejecución de procesos de mantenimiento. Sin embargo, cuando este programador no funciona correctamente, puede afectar no solo a plugins como Newsletter Plugin, sino también a la estabilidad general del sitio web.
Uno de los problemas más comunes es que las newsletters quedan atascadas en el estado «enviando (0/nnn)» o no alcanzan la velocidad configurada. Esto suele deberse a que el programador de WordPress depende del tráfico del sitio para activarse. Si el sitio no recibe visitas con la suficiente frecuencia o si hay una caché activa que impide la ejecución del programador, las tareas pueden retrasarse o incluso no ejecutarse.
A continuación, se explican las mejores prácticas para identificar problemas con el programador de WordPress y cómo solucionarlos de manera efectiva.
Cómo Detectar Problemas con el Programador de WordPress
Para comprobar si el programador está funcionando correctamente, sigue estos pasos:
- Verifica el estado del programador desde el panel de salud del sitio
- Dirígete a Herramientas > Salud del sitio en el panel de administración de WordPress.
- Si hay tareas que no se están ejecutando correctamente, aparecerán advertencias en esta sección.
- Instala y usa el plugin WP Crontrol
- Este plugin permite visualizar el estado del programador de WordPress.
- También muestra qué tareas están retrasadas o no se están ejecutando.
Si detectas problemas con el programador, es necesario tomar medidas para corregirlos.
Opciones para Corregir Problemas con el Programador de WordPress
1. Activar un Servicio de Cron Externo (Para Clientes con Licencia de TNP)
Si eres cliente con una licencia activa de The Newsletter Plugin, puedes activar su servicio de cron para mantener el programador de WordPress en funcionamiento.
Para configurarlo:
- Dirígete a Ayuda/Soporte en el menú del plugin.
- Configura la URL del cron, que encontrarás en Ayuda/Programador (Scheduler) dentro del plugin.
- La URL tendrá un formato similar a:
https://tusitio.com/wp-cron.php
- Luego, en el panel Sistema/Programador, restablece las estadísticas y espera unas horas para ver los efectos.
Este servicio es útil para garantizar la ejecución oportuna de tareas críticas.
2. Configurar un Cron Job en el Panel de Control del Proveedor de Hosting (Recomendado)
Muchos proveedores de hosting permiten configurar tareas cron personalizadas en el panel de control. Un cron job es una tarea automatizada que se ejecuta periódicamente sin depender del tráfico del sitio.
Para configurarlo:
- Accede al panel de control de tu proveedor de hosting (RunCloud, cPanel, Plesk, DirectAdmin, etc.).
- Busca la opción «Cron Jobs».
- Añade un nuevo cron job con el siguiente comando, ejecutándose cada 5 minutos:
php /ruta_a_tu_sitio/wp-cron.php
- La versión de PHP puede variar según el servidor; en algunos casos, puede ser
php72
ophp8.0
o idealmente últimas versiones como PHP 8.3 u 8.4. - Si tienes dudas, consulta con el soporte técnico de tu proveedor.
- La versión de PHP puede variar según el servidor; en algunos casos, puede ser
Otra alternativa es usar el comando curl
o wget
:
curl https://tusitio.com/wp-cron.php
o
wget --delete-after https://tusitio.com/wp-cron.php
Asegúrate de usar http://
o https://
, según el protocolo que utilice tu sitio.
Ventajas de este método:
- No depende del tráfico del sitio para ejecutarse.
- Es más confiable que el programador interno de WordPress.
- Evita problemas de tiempo de espera (timeout).
3. Usar un Servicio Externo de Cron
Si tu proveedor de hosting no permite cron jobs o prefieres una solución independiente, puedes utilizar servicios de cron en línea que activan wp-cron.php
automáticamente.
Algunos servicios recomendados:
Estos servicios pueden ejecutar wp-cron.php
cada 5 minutos, asegurando que el programador de WordPress funcione correctamente.
Problemas Adicionales y Cómo Solucionarlos
1. Envío de Emails Lento a Pesar de un Programador Funcional
Si el programador de WordPress funciona correctamente pero los emails aún se envían con lentitud, revisa lo siguiente:
- Límites de envío del servidor:
Algunos proveedores de hosting imponen límites en la cantidad de correos que se pueden enviar por hora.- Verifica estos límites y ajusta la configuración del plugin Newsletter en consecuencia.
- Configuración del plugin Newsletter:
- Ve a Ajustes > Envío y revisa la cantidad de correos por hora.
- Ajusta el límite según la capacidad de tu proveedor de correo.
- Optimización del envío:
- Considera usar un servicio de envío externo como SendGrid, Amazon SES o Mailgun para manejar el envío masivo de correos.
2. Problemas con CDN (Red de Distribución de Contenidos)
Si usas una CDN como Cloudflare o Stackscale CDN, puede que esté interfiriendo con wp-cron.php
al almacenarlo en caché o bloquearlo.
Para solucionarlo:
- Configura una excepción en la CDN para evitar que
wp-cron.php
sea almacenado en caché. - Puedes hacerlo en el panel de Cloudflare, agregando una regla para evitar la caché en:
https://tusitio.com/wp-cron.php
3. Deshabilitar el Programador Interno de WordPress (Si Usas un Cron Externo)
Si configuras un cron job manualmente, es recomendable deshabilitar el programador automático de WordPress para evitar conflictos.
Para hacerlo, añade esta línea en wp-config.php
antes de la línea /* That's all, stop editing! Happy publishing. */
:
define('DISABLE_WP_CRON', true);
Esto no desactiva el programador, solo impide que WordPress lo autoactive en cada visita, mejorando el rendimiento del sitio.
Conclusión: La Importancia de un Programador de WordPress Eficiente
El correcto funcionamiento del programador de WordPress es esencial para la automatización de tareas, incluyendo:
- El envío de newsletters.
- La publicación programada de contenido.
- La ejecución de actualizaciones y tareas de limpieza.
Si el programador falla, estas funciones pueden verse afectadas, impactando negativamente en el rendimiento del sitio.
Para garantizar su correcto funcionamiento, es recomendable:
- Revisar el estado del programador con WP Crontrol o el panel de salud del sitio.
- Configurar un cron job en el hosting para mayor fiabilidad.
- Usar servicios de cron externos si el hosting no ofrece esta opción.
- Optimizar la configuración del plugin Newsletter y del servidor para evitar retrasos en el envío de correos.
Implementar estas medidas asegurará que el programador de WordPress funcione sin interrupciones, mejorando la eficiencia y confiabilidad del sitio.
vía: NewsLetter Plugin