Introduccion

WP-Cron es el sistema de tareas programadas en WordPress, utilizado para ejecutar eventos como publicaciones programadas, comprobaciones de actualizaciones, envío de correos electrónicos y más. Sin embargo, a veces puede generar el problema de «?doing_wp_cron», afectando la funcionalidad y el rendimiento del sitio. En este artículo, exploraremos a fondo por qué ocurre este problema y cómo solucionarlo de manera efectiva.

💡 ¿Qué es WP-Cron y por qué puede causar problemas?

WP-Cron (wp-cron.php) es una funcionalidad de WordPress que simula un sistema de cronjobs tradicionales en servidores UNIX. A diferencia de un cronjob real, que se ejecuta en intervalos fijos, WP-Cron se activa cada vez que un usuario visita el sitio.

Este método tiene desventajas:

  • No garantiza una ejecución puntual de tareas programadas.

  • Puede ralentizar el sitio en tráfico alto.

  • Puede fallar en sitios con poco tráfico.

  • Puede generar el problema de «?doing_wp_cron», lo que indica que WP-Cron no está funcionando correctamente.

Cuando ves la cadena ?doing_wp_cron en la URL, significa que WordPress está ejecutando una tarea programada, pero la redirección no se ha completado correctamente, causando problemas de carga y ejecución de scripts.

🔎 Causas comunes del error «?doing_wp_cron»

  1. Configuración de redirecciones incorrecta: Algunos plugins de seguridad o configuraciones en .htaccess pueden interferir con WP-Cron.
  2. Interrupción en la ejecución de WP-Cron: Si el servidor detiene o bloquea la ejecución de WP-Cron, puede dejar la tarea sin finalizar.
  3. Cache agresiva: Algunos plugins de caché pueden interferir con el proceso de WP-Cron.
  4. Falta de tráfico: Si el sitio tiene poco tráfico, WP-Cron no se ejecuta con la frecuencia esperada.
  5. Problemas en wp-config.php: Algunos ajustes mal configurados en el archivo pueden deshabilitar la ejecución de WP-Cron.

✅ Solución al problema de WP-Cron «?doing_wp_cron»

1. Deshabilitar WP-Cron integrado y usar un cronjob del servidor

Como WP-Cron depende del tráfico para ejecutarse, la mejor solución es deshabilitarlo y configurarlo como una tarea cron real en el servidor.

📝 Paso 1: Desactivar WP-Cron

Edita el archivo wp-config.php y añade la siguiente línea antes de /* That's all, stop editing! */:

// Deshabilitar WP-Cron por defecto
define('DISABLE_WP_CRON', true);

💻 Paso 2: Crear un cronjob en el servidor

Si usas cPanel, Plesk o un acceso SSH, configura un cronjob para ejecutar WP-Cron de forma programada. Añade la siguiente línea a la configuración de cronjobs del servidor:

*/5 * * * * wget -q -O - https://tudominio.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Esto ejecutará WP-Cron cada 5 minutos.

2. Revisar configuración de .htaccess

Si el problema persiste, revisa tu archivo .htaccess y asegúrate de que no esté bloqueando las solicitudes a wp-cron.php. Abre .htaccess y busca reglas que puedan estar interfiriendo. Si usas plugins de seguridad, revisa sus ajustes.

3. Comprobar conflictos con plugins de caché

Algunos plugins de caché como WP Super Cache o W3 Total Cache pueden bloquear WP-Cron. Para solucionar esto:
  • Desactiva temporalmente el plugin y verifica si WP-Cron funciona.
  • Si es la causa, revisa su configuración y excluye wp-cron.php del caché.

4. Monitorizar WP-Cron con un plugin

Si necesitas comprobar el estado de WP-Cron, puedes usar plugins como WP Crontrol:
  1. Instala el plugin desde el repositorio de WordPress.
  2. Ve a Herramientas > Cron Events.
  3. Revisa si hay tareas fallidas o en cola.

5. Revisar permisos del servidor

Algunos servidores pueden bloquear WP-Cron. Contacta con tu proveedor de hosting y asegúrate de que wp-cron.php esté permitido.

📈 Conclusión

El problema de «?doing_wp_cron» en WordPress suele estar relacionado con redirecciones fallidas, problemas de ejecución o configuraciones incorrectas. La mejor solución es deshabilitar WP-Cron y configurar una tarea cron real en el servidor. Además, es importante revisar redirecciones, plugins de caché y posibles bloqueos del servidor.

Siguiendo estos pasos, tu sitio funcionará de manera más eficiente y evitarás problemas de rendimiento causados por WP-Cron.

Ir al contenido