Federico·hace 21 días· 7 respuestas

Cómo activar el cron real de WordPress desde cPanel (y por qué deberías hacerlo)

Hay algo que no muchos te cuentan cuando instalás WordPress:

El famoso wp-cron.php no es un cron de verdad.

Es un “cron falso” que se ejecuta solo cuando alguien entra a tu sitio.

Y si nadie entra… bueno, adiviná: no pasa nada.

¿Qué implica eso?

Si tenés tareas automáticas programadas, como publicar posts, reescribir contenido con IA o actualizar feeds, esas tareas se quedan esperando… y esperando… hasta que alguien visita la web.

¿La solución?

Usar un cron real. De esos que no dependen de visitas. De los que hacen el trabajo aunque no haya nadie mirando.

Índice

Método #1 − Usar una herramienta para simular visitas al cron

Antes de explicarte cómo crear un cron job desde cPanel, te voy a mostrar una solución mucho más sencilla y rápida, sin meterte con archivos ni rutas, usando cron-job.org.

Aunque no es un cron job real, pero funciona como parche temporal.

Es gratis y te permite programar una tarea que visite tu sitio cada cierto tiempo, activando el cron de WordPress desde afuera. Ideal para salir del paso en sitios nuevos, sin complicarte con cPanel.

Lo que tenés que hacer es esto:

Primero, entrá en cron-job.org y creá una cuenta. Es rápido y no pide tarjeta.

Después, hacé clic en “Create cronjob” o “Add new cronjob”, según el idioma.

Vas a tener que completar una URL. Pegá esta:

https://tusitio.com/wp-cron.php?doing_wp_cron

Reemplazá tusitio.com por tu dominio real.

Abajo te deja configurar la frecuencia. Elegí cada 30 o 60 minutos. Con eso es suficiente para la mayoría de los casos.

Ejemplo configuración en cron-job.org

Una vez guardado, tu tarea debería verse así:

Vista general de una tarea programada en cron-job.org

Listo.

Tu cron ya está funcionando sin tocar el servidor.

¿Es lo ideal? No. Pero para salir del paso, funciona.

Ahora bien, si querés hacerlo como corresponde, es decir, crear un cron job real desde tu servidor, seguí leyendo.

En la siguiente sección te explico cómo configurarlo desde cPanel paso a paso.

Método #2 − Crear un cron job real desde cPanel

Si querés hacer las cosas bien desde el servidor, esta es la forma recomendada.

Pero antes de configurar el cron real, hay algo que sí o sí tenés que hacer.

Desactivar el cron interno de WordPress.

Para eso, abrí el archivo wp-config.php (en la raíz de tu instalación) y agregá esto antes de la línea que dice /* That's all, stop editing! Happy publishing. */:

define('DISABLE_WP_CRON', true);

Así:

Y listo.

Eso le dice a WordPress que deje de usar su “cron falso” y espere a que el servidor se encargue de todo.

Ahora vamos a lo importante: configurar un cron real que ejecute wp-cron.php cada cierto tiempo, sin depender de que alguien entre al sitio.

Primero, ingresá en cPanel y buscá la opción de "Cron Jobs" o "Tareas cron", según el idioma.

Antes de crear la tarea, necesitás saber qué ruta de PHP tenés que usar.

Para eso, bajá un poco hasta encontrar la sección que dice “Ejemplos de comandos PHP”.

Ahí vas a ver algo como esto:

/usr/local/bin/php /home/fxopxqkq/public_html/path/to/cron/script

Esa es la ruta base. Pero todavía falta un detalle.

Ahora tenés que fijarte qué versión de PHP está usando tu dominio.

Eso lo ves en cPanel → MultiPHP Manager o Administrador de MultiPHP.

En este caso, por ejemplo, el dominio tiene asignado PHP 8.2:

Entonces, el comando correcto sería este:

/usr/local/bin/ea-php82 /home/fxopxqkq/public_html/wp-cron.php

Cambiá el número según la versión de PHP que tengas asignada:

  • PHP 8.1 → ea-php81
  • PHP 8.2 → ea-php82
  • PHP 8.3 → ea-php83

¿Y si usás /usr/bin/php o /usr/local/bin/php?

Puede funcionar, pero si tu servidor tiene varias versiones de PHP instaladas, es posible que estés ejecutando otra versión distinta a la que usa tu sitio.

Por eso: usá siempre la que coincida con tu dominio.

Una vez que tenés la ruta correcta, andá a la parte de Configuración común y elegí una opción como:

  • “Una vez por hora” (recomendado para la mayoría de los sitios)
  • “Dos veces por hora” si necesitás más frecuencia

Después, en el campo Comando, pegá esto (ajustá el nombre de usuario y la ruta si hace falta):

/usr/local/bin/ea-php82 /home/TUNOMBREDEUSUARIO/public_html/wp-cron.php

Reemplazá TUNOMBREDEUSUARIO por el nombre real de tu cuenta cPanel.

Y si tenés WordPress instalado en una subcarpeta (como /blog), acordate de ajustar también la ruta al wp-cron.php.

Una vez hecho esto, hacé clic en Añadir tarea cron y listo.

¿Usás varios dominios en el mismo cPanel?

Si tu cuenta de cPanel tiene más de un dominio, lo que se conoce como dominios adicionales, es importante que sepas esto:

El cron que configures solo se ejecuta en el sitio que apunta directamente la ruta que escribiste.

Por ejemplo, si configurás esto:

/usr/local/bin/ea-php82 /home/usuario/public_html/wp-cron.php

Ese cron solo se va a ejecutar para el sitio que está en /public_html/, es decir, tu dominio principal.

Pero si tenés otros sitios como:

  • /home/usuario/requisitos.com/
  • /home/usuario/significados.com/
  • /home/usuario/animales.com/

Esos no se van a ejecutar automáticamente, porque están en carpetas diferentes.

¿Qué tenés que hacer?

Crear un cron por separado para cada sitio, por ejemplo:

/usr/local/bin/ea-php82 /home/usuario/requisitos.com/wp-cron.php
/usr/local/bin/ea-php82 /home/usuario/significados.com/wp-cron.php
/usr/local/bin/ea-php82 /home/usuario/animales.com/wp-cron.php

¿Cómo verificar que el comando del cron está bien?

Si querés asegurarte de que no te equivocaste en la ruta, podés hacer una prueba manual desde el navegador:

Ingresá esta URL en tu navegador:

https://tusitio.com/wp-cron.php?doing_wp_cron

Reemplazá tusitio.com por tu dominio real.

Si la ruta está bien y el cron se ejecuta correctamente, la página debería cargarse en blanco, sin mostrar errores.

  • Página blanca = todo OK
  • Página con error 404 o mensaje de error = algo está mal en la ruta

Este método no valida que el cron desde cPanel funcione, pero sí te permite verificar que:

  • El archivo wp-cron.php existe
  • El sitio lo puede ejecutar sin errores
  • La ruta que estás usando en el cron es válida

¿Y ahora qué pasa?

Ahora, aunque tu sitio no tenga visitas, WordPress va a ejecutar las tareas programadas igual.

Puntual.

Como un reloj suizo.

Esto es especialmente útil si usás plugins como:

  • Article Rewriter
  • Plugins de generación de contenido automático con IA
  • Plugins de backups automáticos
  • Plugins de envío de correos programados
  • Cualquier cosa que dependa de eventos cron

¿Cada cuánto conviene ejecutar el cron?

Depende de lo que hagas. Para la mayoría de los sitios, cada hora está perfecto. Si necesitás más frecuencia (como cada 15 minutos), podés ponerlo, pero no te obsesiones: más frecuencia = más consumo.

¿Se puede usar una URL en lugar del comando con ruta absoluta?

Sí, pero no lo recomiendo. Podrías poner algo como:

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

Pero es menos seguro y puede causar errores con plugins que usan la consola de PHP.

Mejor ir con la ruta absoluta del archivo y usar PHP directamente.

Así que ya sabés: activá el cron real y dejá que WordPress haga lo suyo, incluso cuando nadie lo visita.

Fundador de Asap Theme, Content Curator, Enlazatom, NichoAI, Club Nichero y Nicheros.club.

4
7
Suscribirse
Notify of
7 Respuestas
Más recientes
Más antiguos Más votado
Inline Feedbacks
View all comments
Julio

Joerrrr!!! Gracias. Una buena aportación: directo y sencillo y con detalles de los errores que parecen los más comunes de cometer. Muchas gracias :))

zmixgub

Gran aporte, yo siempre usé el método 2, desconocía el método 1

Juan Dominguez

Lo explicas muy bien pero yo que no soy un experto y si un principiante si hago el método 1, que tal iría, bien siempre o un parche temporal. Gracias

carlosjulian

Gracias Crack, yo tengo varios reloj suizos haciendo su trabajo jajaja.

yassydia

Me funciona Bien, GRACIAS

seofune

Que bueno.