Todos los planes de hosting traen Tareas programadas en Plesk. Cómo crear una para WP-Cron, PrestaShop o un script propio, y cómo dispararla desde fuera.
Publicar entradas a su hora, regenerar un sitemap, borrar carritos abandonados, lanzar un script cada noche: todo eso es una tarea programada. En Plesk se llama Tareas programadas y viene con todos los planes de hosting (no con el parking de dominio, que no tiene web). Aquí tienes cómo crearla, y la alternativa desde fuera para cuando prefieras no depender del panel.
Antes de empezar
- Haber entrado en el panel Plesk de tu hosting (Cómo entrar al panel Plesk de tu hosting desde el área de cliente). Tareas programadas está en la ficha de tu dominio (Qué incluye tu plan de hosting: recursos, límites y permisos).
- Lo que ya corre sin que hagas nada, en todos los planes: la renovación del certificado (Cómo se renueva tu certificado SSL y qué hacer si caduca), las actualizaciones automáticas de WordPress si las activas en WP Toolkit (Cómo actualizar WordPress, plugins y temas sin romper tu web) y las copias diarias de Netebu (Qué copias de seguridad tienes y cómo restaurarlas).
Paso a paso
-
Con Tareas programadas, pulsa Añadir tarea y elige el tipo. Obtener una URL visita una dirección de tu web, y es lo que necesitan WordPress y los módulos de PrestaShop. Ejecutar un script PHP lanza un fichero de tu hosting con la versión de PHP que elijas; es lo que usa Moodle (Cómo configurar el cron de Moodle en Plesk y comprobar que funciona). Ejecutar un comando es para quien ya sabe lo que hace, como
php artisan schedule:runcada minuto en Laravel (Laravel Toolkit va con los planes Profesional y superiores, Qué incluye tu plan de hosting: recursos, límites y permisos). -
Fija cuándo. Puedes elegir diaria, semanal o mensual con hora, o escribirlo al estilo cron (
*/10 * * * *es cada diez minutos). Si la tarea es pesada, prográmala de madrugada: consume los recursos de tu plan igual que una visita (Cómo ver el consumo de recursos de tu hosting). -
En Notificar, elige Solo errores para una tarea de URL. Para una tarea de script PHP deja No notificar: el PHP de línea de comandos escribe unos avisos inofensivos en cada ejecución y te llegaría un correo cada vez. Guarda, y compruébala al momento con Ejecutar ahora sin esperar a la hora.
-
Si tu web es WordPress, ten en cuenta que ya trae un planificador: WP-Cron. Se dispara con cada visita y lanza lo pendiente (entradas programadas, copias, correos de WooCommerce). En una web con visitas funciona sin tocar nada; con pocas visitas, conviene programarlo tú.
-
Para programar WP-Cron, crea una tarea Obtener una URL con
https://tudominio.es/wp-cron.php?doing_wp_croncada diez minutos y, enwp-config.php, añadedefine('DISABLE_WP_CRON', true);para que no se dispare también con cada visita. Con los módulos de PrestaShop que piden cron (el sitemap, las exportaciones de catálogo) es igual: la URL con su token que te da el módulo. Si prefieres no depender del panel, un cron externo por web (cron-job.org, EasyCron, un monitor de UptimeRobot) hace lo mismo visitando esa URL.
- Si lo que necesitas son procesos largos cada minuto o control total del servidor, eso es un VPS (¿Cúal es la diferencia entre un VPS administrado y un VPS no administrado?). Y si la tarea toca el techo de recursos de tu plan, subir de plan te da más margen en el momento (Cómo cambiar de plan de hosting (ampliar o reducir)).
Cómo comprobar que ha funcionado
En Tareas programadas, la tarea muestra su última ejecución sin error; con un servicio externo, su panel marca código 200 a la hora fijada. Una entrada de WordPress programada para dentro de diez minutos se publica sola, y en los registros de acceso (Cómo leer los registros de tu web para encontrar un error) ves la llamada a wp-cron.php.
Si algo falla
- La llamada externa devuelve 403: el firewall o Imunify la han tomado por un bot (Error 403 o «acceso denegado» en tu propia web: quién te está bloqueando); los servicios serios publican sus IPs para que las permitas.
- Devuelve 503 o tarda mucho: la tarea toca los límites del plan (Qué significan los errores 503 y 508 y cómo dejar de verlos); espárciala o hazla de madrugada.
- La tarea PHP falla en Plesk pero el script funciona en el navegador: suele ser la ruta; usa la ruta completa dentro de
httpdocsy la misma versión de PHP que tu web (Cómo cambiar la versión de PHP de tu web). - Cualquier otra cosa: abre un ticket desde tu área de cliente (Cómo abrir un ticket de soporte y que se resuelva a la primera) con la URL o el comando y cada cuánto quieres ejecutarlo.