Cronjob.de › Guides › Joomla

Setting up a Joomla cronjob: web cron instead of the lazy scheduler

Joomla has had Scheduled Tasks since 4.1. Out of the box they are triggered by the lazy scheduler, that is by your visitors. This guide shows how to switch on Web Cron instead and have the generated address called at a fixed interval.

Why at all

The lazy scheduler waits for visitors

The lazy scheduler starts the task scheduler as soon as something happens on the site, by default at the earliest 300 seconds after the last run. On a low-traffic site that means: without a visit nothing happens, and a task scheduled for the night runs the next morning.

This affects every task you created under Scheduled Tasks: backups, deleting expired articles, sending mail, cleanup work by extensions.

The other way round: on a busy site the lazy scheduler keeps waking the scheduler and can slow the site down further when a task takes longer. Joomla therefore explicitly recommends using either the lazy scheduler or web cron, not both.

URL to call
https://ihre-domain.de/component/ajax/?plugin=RunSchedulerWebcron&group=system&format=json&hash=IHR-HASH
Recommended interval
every 5 minutes
Tested with
Joomla 4.1 und neuer, Joomla 5
Sufficient Cronjob.de plan
The free plan is enough for most tasks. For minute-precise scheduling you need Cronjob.de Plus.

Setup

Step by step

The AI does it faster

You do not have to transfer any of this by hand. Paste this guide – or the one for your own system – into the assistant, and Cronjob.de fills in address, method, schedule and headers. Where something is unclear it asks instead of guessing. At the end you see what was entered and create the job with one click.

Included in the free plan at no extra cost. You will find it after signing in under "Cronjobs" → "Create with AI".

  1. Switch on Web Cron

    In the administrator area go to System › Scheduled Tasks and open Options in the top right. Switch Web Cron on and save. Joomla generates a hash and then shows the finished address in a field ready to copy.

    https://your-domain.com/component/ajax/?plugin=RunSchedulerWebcron&group=system&format=json&hash=YOUR-HASH
  2. Switch off the lazy scheduler

    The Lazy Scheduler setting is in the same options. Switch it off. Joomla explicitly advises against running both triggers at the same time.

  3. Open the address in a browser once

    Call the copied address yourself once. A short JSON response is correct. An error message usually means the hash is wrong or Web Cron was not saved.

  4. Create an account at Cronjob.de

    Registration takes a minute and is free. Five cronjobs stay free forever, the first 14 days run on the Unlimited plan.

    Start for free 14 days of Unlimited included, no payment details

  5. Create a cronjob with that address

    Enter the full address including every parameter after the question mark. Select minutes 0, 5, 10 and so on in the schedule, or type the crontab expression directly.

    */5 * * * *

    You can enter this expression at Cronjob.de exactly as it is – the schedule field understands crontab notation. But you do not have to know it: simply click the schedule together instead.

  6. Switch on error notifications

    So that you notice when your site stops responding, enter an email address under Notifications. You will then be notified when a call fails. Failure notifications by email are included from the Plus plan, and free during the first 14 days.

What the five fields of an expression like */5 * * * * mean is explained in the crontab reference – with examples and the most common pitfalls. You can build the expression in the crontab generator. Whether you need an outside service at all is shown in the comparison of the three ways.

Verification

Is it actually running?

In the Cronjob.de call log you will see the first calls with status 200 within a few minutes. Inside Joomla the Scheduled Tasks list shows for each task when it last ran and with what result.

FAQ

Common questions about Joomla

Which Joomla version do I need?
Scheduled Tasks have existed since Joomla 4.1, and so has Web Cron. Joomla 3 did not have this scheduler; there the individual extensions handle it themselves.
Can I trigger a single task on purpose?
Yes. Append the task identifier to the address, that is &id= plus the number from the task list. Without that addition all tasks currently due will run.
Do I really have to switch off the lazy scheduler?
Joomla recommends it and so do we. Running both brings no advantage, only extra load and unpredictable timing.
The address is very long, is that a problem?
No. Enter it in full, with every parameter after the question mark. The only thing that matters is that nothing gets cut off while copying.
Is the hash in the address safe?
The hash is what protects against outside calls. Treat the address like a password. You can generate a new hash in the options at any time, but then you have to update the cronjob as well.
My call returns an empty response.
A short JSON response is normal, even when no task was due. Only a status code of 403 or 500 points to an actual problem.
Is your server rejecting our calls? Error 403 almost always comes from a firewall, a security plugin or directory protection – not from your script. All our calls carry the fixed identifier Cronjob.de in the user agent. Ask your host for an exception for it; that is more reliable than allowing IP addresses, because ours can change. Addresses and details in the FAQ. Other errors such as 401, 404 or 500 are explained in the troubleshooting guide.

Create your cronjob now

Create an account, enter the address, click the schedule. Five cronjobs are free forever, the first 14 days run on the Unlimited plan.

Start for free See pricing

More guides

Official documentation of Joomla

The details about Joomla come from their own documentation, as of September 2026. Please check there whether anything has changed since. Joomla is a trademark of its respective owner. This guide comes from Cronjob.de and has no business relationship with that provider.