PrestaShop Cron Jobs: Why They Stopped and How to Fix Them with Cloud Cron

PrestaShop's built-in cron service shut down in December 2025. This guide covers what breaks without external cron, how to set up reliable task scheduling, and how to monitor it with Cloud Cron.

Start Free 20 checks free forever

PrestaShop killed its built-in cron service. It used to ping stores on shared hosting and fire background tasks on their behalf: currency updates, price rules, abandoned cart emails. Now the endpoint returns an empty 200, and the tasks sit there.

Worst part: nothing crashes. The store works, pages load, orders go through. But currency rates quietly go stale, discounts don't activate on time, and cart abandonment reminders never leave the queue.

What PrestaShop runs on a schedule

There is no single cron system in PrestaShop. Tasks are spread across core features and modules, each expecting periodic execution through a different mechanism.

Core handles currency exchange rate updates from the ECB feed, catalog price rule activation and expiration, search index rebuilding, session and log cleanup. Modules pile on their own jobs: abandoned cart reminder emails, product feed syncs to Google Merchant Center, backup routines, cache purges, import and export automation. A store running 15 modules might have 8-10 distinct tasks that need a regular trigger.

The old Cron Tasks Manager module (bundled with PrestaShop 1.6, never updated for 8.x) centralized all of that behind one URL:

https://yourstore.com/modules/cronjobs/cron.php?secure_key=YOUR_SECURE_KEY

Call that URL on a schedule, and it cycles through registered tasks. The module hasn't been touched in over eight years. On PrestaShop 8.x it won't install without patching, and the official cron service that used to call it is gone.

Signs your PrestaShop cron is broken

Currency rates are days old

Exchange rates stuck on last manual update, orders charged at wrong amounts

Catalog price rules not activating

Scheduled discounts show regular prices until someone opens the back office

Abandoned cart emails never send

Reminder module queues messages but nothing triggers delivery

Three ways to trigger PrestaShop cron tasks

With the old cron service dead, three options remain. Each fits a different hosting situation.

Server crontab (requires SSH)

Most reliable. Connect via SSH and edit the crontab:

crontab -e

Add a line that hits your store's cron endpoint every 15 minutes:

*/15 * * * * curl -sS "https://yourstore.com/modules/cronjobs/cron.php?secure_key=YOUR_KEY" > /dev/null 2>&1

On PrestaShop 8.x without the legacy cron module, individual tasks have their own URLs. Currency updates, for example:

0 */6 * * * curl -sS "https://yourstore.com/admin-dir/cron_currency_rates.php?secure_key=YOUR_KEY" > /dev/null 2>&1

Replace admin-dir with your actual admin folder name (PrestaShop renames it during installation for security). The secure key shows up in the module configuration or admin URL parameters.

Problem is, most PrestaShop stores run on shared hosting. No SSH, no crontab.

Hosting panel cron (cPanel, Plesk)

Shared hosting providers usually offer a cron scheduler in their control panel. cPanel has it under "Cron Jobs." Paste the same curl command, pick an interval, save. Plesk puts it under "Scheduled Tasks."

Works, but with limits. Some hosts cap frequency at once per hour. Others silently kill cron jobs that run too long or eat too many resources. I've seen a PrestaShop store on SiteGround where the hosting panel cron ran fine for three months, then stopped after a server migration. No notification. No error log. The owner found out when a customer complained about a discount that should have expired two weeks prior.

External cron service

An external cron service hits your store's URL on a schedule from outside the server. No SSH, no hosting panel quirks. Enter the URL, pick a cron expression, done.

This approach works regardless of hosting: shared, managed, cloud, dedicated. The service makes an HTTP request on schedule, your store processes the task. It doesn't care whether you're on cPanel, Plesk, or something custom.

Which tasks to schedule and how often

Not everything needs the same frequency. Running all tasks every minute wastes resources on a store that processes 20 orders a day.

TaskEndpointInterval
Cart cleanup and session purgeCron Tasks Manager URLEvery 30 minutes
Abandoned cart remindersModule-specific URLEvery hour
Currency rate updatescron_currency_rates.phpEvery 6 hours
Catalog price rulesCron Tasks Manager URLEvery 15 minutes
Search index rebuildCron Tasks Manager URLEvery 2 hours
Product feed sync (Google)Module-specific URLEvery 4-6 hours
BackupModule-specific URLDaily

With the legacy Cron Tasks Manager (or a compatible replacement like CronTab by PrestaToolBox), one URL covers most core tasks. Modules registered with the task manager fire automatically. Premium extensions with their own endpoints need separate cron entries.

The cron expression builder helps with syntax: */15 * * * * for every 15 minutes, 0 */6 * * * for every 6 hours.

Monitor PrestaShop cron with WatchCron Cloud Cron

Setting up cron is half the job. Knowing when it stops is the half that saves you from stale prices and undelivered emails three weeks into a silent failure.

Cloud Cron covers both. Enter your PrestaShop cron URL, set the schedule, and Cloud Cron calls it from outside your server, independent of your host's cron reliability. If the store returns a 500, times out, or goes unreachable, you get an alert through Slack, Telegram, email, or any of 20+ channels.

Why Cloud Cron fits PrestaShop stores

1
No SSH required

Works with shared hosting, managed hosting, any setup without crontab access

2
Monitoring built in

Alerts on failures, timeouts, and HTTP errors before customers notice

3
Replaces the dead cron service

Same concept as what PrestaShop used to offer, but with reliability tracking

4
Multiple schedules per store

Different intervals for cart cleanup (30 min) vs. currency updates (6 hours)

Setup takes about two minutes. Copy your cron URL from the module configuration (or your custom endpoint), paste it into Cloud Cron, choose the interval. WatchCron hits the URL on schedule and tracks every response.

For stores that already have a working server crontab, pairing it with heartbeat monitoring adds the same safety net. Append a ping to your cron command:

*/15 * * * * curl -sS "https://yourstore.com/modules/cronjobs/cron.php?secure_key=KEY" && curl -fsS https://ping.watchcron.com/your-monitor-id > /dev/null

If the cron command fails, the ping doesn't fire, and WatchCron alerts you after the grace period. Server goes down entirely — same result.

PrestaShop's own cron service proved it: a trigger without monitoring runs for months after it breaks, and nobody notices until customers start writing in. WooCommerce and Magento stores deal with the same problem around their own cron dependencies. The fix is identical: an external trigger you can trust, with alerts when something goes wrong.

Cloud Cron triggers your store's scheduled tasks on time and alerts you when something breaks. Free plan includes 3 Cloud Cron monitors.

Free plan · 20 checks forever Start Free

Frequently asked

Every 15 minutes covers most tasks for a typical store. Stores with active promotions or catalog price rules may benefit from every 5 minutes. Currency rate updates only need to run every 6 hours.

The built-in PrestaShop cron service is already dead since December 2025. If your store uses the pseudo-cron triggered by page visits, disabling it won't make things worse — tasks were already firing unreliably. An external trigger replaces them properly.

The original module from PrestaShop hasn't been updated in over eight years and is incompatible with 8.x without patches. Alternatives include CronTab by PrestaToolBox (free) or premium modules like Cron Jobs Pro.

Check currency exchange rates (are they days old?), catalog price rules (did scheduled discounts fail to activate?), and abandoned cart email queues (are messages stuck unsent?). If any of these lag behind, cron is not firing.

You can, but free services typically don't monitor the result of each call. If your endpoint starts returning errors, you won't know. Cloud Cron's free plan includes 3 monitors with full response tracking and failure alerts.