El archivo wp-cron.php de WordPress: Qué es y por qué deberías desactivarlo

Desactivar wp cron WordPress

En esta guía te voy a explicar qué es el cron de WordPress y por qué deberías de optimizarlo.

Hay más allá que quitar plugins, instalar un plugin de caché, optimizar las imágenes, porque optimizar WordPress tiene muchas tareas.

El archivo wp-cron.php de WordPress es una de esas tareas que no se debería dejar pasar.

P.D. Puedes aprender a optimizar WordPress gratis como WPOptimizers y recibir cada semana consejos de optimización probados para tener una web WordPress rápida, que mejorará su SEO y conversiones y acceso a herramientas, contenido exclusivo y soporte gratuito.

¿Qué es y para qué sirve el cron de WordPress?

El cron de WordPress es básicamente un archivo de programación de tareas, que se encarga de ejecutar las tareas programadas de tu WordPress.

Pueden ser por ejemplo las tareas del mismo WordPress:

  • Revisar si hay nuevas actualizaciones para WordPress, temas y plugins.
  • Publicar los artículos que tenemos programados.
  • Y otras tareas de WordPress.

O realizar las tareas programadas de plugins:

  • Cachear la web.
  • Realizar copias de seguridad de tu web.
  • Publicar en nuestras redes sociales nuestros artículos antiguos cada x tiempo.
  • Realizar análisis programados con plugins de seguridad.
  • Ejecutar las suscripciones.
  • Y toda tarea que se ejecute de forma automática.

¿Por qué deberías de desactivar el cron de WordPress?

Aunque es necesario y útil, deberías de desactivar el cron de WordPress por varios motivos.

El primero es el tiempo de ejecución, porque debes de saber que cron se ejecuta cada vez que se carga una URL.

Por suerte, WordPress tiene un bloqueo que limita a 1 ejecución cron a 1 vez cada 60 segundos, pero es ineficiente.

¿Pero qué pasa cuando tenemos varias webs alojadas? Pues que el consumo de recursos se dispara y puedes tener caídas y errores 500, con la consecuente penalización SEO.

Teniendo un cron optimizado, puedes reducir el consumo de CPU del hosting hasta en un 80%.

Cron no se ejecuta en URL cacheadas

Debes saber algo muy importante sobre el cron de WordPress y la caché.

Cuando se cachea una web, se sirve una copia en HTML mucho más rápida, pero es una visita que no ejecuta nada.

Lo que quiero decir, es que si cacheas tu web, esas visitas no van a ejecutar el cron de WordPress, con lo que tus tareas programadas no se ejecutarán.

Si toda tu web se cachea, jamás se ejecutarán, así que otro motivo más para optimizar cron como debería.

Cómo desactivar el cron de WordPress

Te voy a explicar cómo desactivar el cron de WordPress.

Para ello debes de editar el archivo wp-config.php, que al igual que el wp-cron.php, se encuentra en la raíz de la instalación de WordPress.

Puedes hacerlo desde el mismo editor del hosting o con algún programa FTP como Filezilla.

Coloca en él lo siguiente y con cuidado de que sean las mismas comillas.

// Desactiva cron
 define('DISABLE_WP_CRON', 'true');

Con esto ya quedará desactivado, pero ahora todas esas funciones de las que hemos hablado antes quedarán totalmente desactivadas.

Ahora toca activar un cron real en el hosting.

Cómo crear un cron real en el hosting

Ahora vamos a crear un cron real en el hosting, que se ejecutará cada cierto tiempo, independientemente de que tu web tenga o no tráfico, cachees la web, etc.

Te lo explico con CPanel, que es el panel más usado, pero todos suelen traerlo.

Así que te vas a tu hosting y vas bajando hasta Avanzadas y entramos en Cron trabajos.

Cpanel opciones avanzadas

Nos vamos al apartado Añadir un nuevo trabajo de Cron y elegiremos el tiempo que queremos que se ejecute Cron.

Lo recomendable es 5 minutos, pero ya depende de tu web. Puede que tengas una web que necesite más actualización o un blog que basta con que se ejecute una vez a la hora o incluso al día.

Después toca poner la URL del archivo Cron de WordPress a ejecutar en Comando.

Programar wp-cron-php de WordPress en CPanel

Normalmente sería la que te pongo abajo, obviamente cambiando tuweb.com por la tuya, pero por si acaso pregunta al hosting.

También te digo, que este comando es el que suelen usar los hostings de mi guía del mejor hosting para WordPress.

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

Después le das a Añadir nuevo trabajo de Cron y listo, ya nos aparecerá en el apartado Trabajos de Cron actuales.

Tu hosting ejecutará el archivo de forma automática de la forma programada.

Trabajos de cron actuales

Un tema a tener en cuenta es que puede que tengas que poner el comando cron manualmente y no con la herramienta visual de tu hosting.

Por eso es importante que consultes con el hosting.

Comandos cron útiles

Te dejo un listado de comandos cron útiles (entre paréntesis) que puede que necesites usar:

  • Una vez por minuto ( * * * * * )
  • Una vez cada 5 minutos ( */5 * * * * )
  • Una vez cada 30 minutos ( 0,30 * * * * )
  • Una vez por hora ( 0 * * * * )
  • Dos veces al día ( 0 0,12 * * * )
  • Una vez al día ( 0 0 * * * )
  • Una vez por semana ( 0 0 * * 0 )
  • El 1 y el 15 del mes ( 0 0 1,15 * * )
  • Una vez al mes ( 0 0 1 * * )
  • Una vez por año ( 0 0 1 1 * )

Cómo comprobar que cron funciona

Una vez que todo está listo, toca comprobar que cron funciona correctamente.

Se podría comprobar programando una entrada y ver si se publica, viendo si se hacen las copias de seguridad programadas y muchas más formas, pero lo vamos a ver de una forma más sencilla.

Instala el plugin WP-Cron Status Checker, te saldrá un aviso de freemius que recomiendo saltar y después te vas a herramientas - WP Cron Status y verás las últimas ejecuciones de cron.

Obviamente tendrás que esperar el tiempo que has programado, para saber si se ejecuta correctamente y después podrás ver las últimas ejecuciones.

WP cron status

¿Vas a optimizar el cron de WordPress ahora?

Como has podido ver, optimizar el cron de WordPress no sólo es bueno, es imprescindible si buscas el mejor rendimiento de tu web.

Recuerda que si lo desactivas, tendrás que configurar un nuevo cron cada vez que cambies de hosting.

Y obviamente, si tienes varias webs, tendrás que realizar todas estas tareas en cada una de las webs.

Espero que esta guía te sea de utilidad y si tienes alguna duda, te espero en los comentarios.

Únete gratis a WPOptimizers y aprende a optimizar WordPress

Recibe cada semana consejos de optimización probados para tener una web WordPress rápida, que mejorará su SEO y conversiones y acceso a herramientas, contenido exclusivo y soporte gratuito.

    23 comentarios en “El archivo wp-cron.php de WordPress: Qué es y por qué deberías desactivarlo”

    1. Hola! En mi caso me salía un error en wordpress en la herramienta “Salud de mi sitio” de que no se podían ejecutar algunos eventos programados. Después de probar varias cosas con mi hosting, finalmente lo que hicieron fue hacer que cron se ejecute desde cpanel cada 15 minutos. Sin embargo, el error en wordpress solo ha desaparecido tras eliminar el protocolo de seguridad “ratelimit” que evita errores de servidor en caso de sobrecarga. Me ha dejado un poco preocupado esto último ya que no quiero comprometer la seguridad de mi sitio, y tampoco sé a partir de qué número de visitas me puede afectar (actualmente tengo 1500 diarias y un consumo de banda ancha del 2%). Podrías orientarme en este aspecto? Gracias!

    2. Francisco Centeno

      Hola Raúl! Gracias por tu ayuda. Te cuento que he activado en mi sitio web el cron cada 2 horas, pero estoy teniendo el problema que las publicaciones programadas no se están publicando y pierden su programación. ¿Sabes cuales pueden ser los posibles motivos?
      Gracias

      1. Francisco, claro, que el cron no los deja publicarlos. Esto solo hay que desactivarlo en casos de alto consumo de CPU y no en todos. Saludos.

    3. Hola Raúl, gracias por tu ayuda, ya coloque mi web pero en mi caso el hosting que tengo solo puede hacer que el archivo cron se active mínimo cada 6 horas o más…

      En mi caso lo deje así a 6 horas mínimo y que se ejecute en la noche.

    Únete gratis a WPOptimizers para comentar y aprender a optimizar WordPress.

    ¡Lo quiero!

    Si ya lo eres inicia sesión