o

Cronjob.deGuides › JTL-Shop

Setting up a JTL-Shop cronjob: making the task scheduler reliable

JTL-Shop ships its own task scheduler but only starts it as a side effect of page views. This guide shows how to trigger it from outside at a fixed interval instead – a route JTL explicitly names in its own documentation.

Why at all

The task scheduler depends on your visitors

JTL-Shop processes scheduled tasks through a queue. By default it is not the clock that triggers it but traffic: the shop only starts the task scheduler after a configured number of page views, ten by default. JTL itself calls this a pseudo cron method.

The consequence is in the same documentation: with low visitor frequency, for example at night, queue entries may be executed late. But night is exactly when exports should run, prices should be updated and orders should be passed on.

A shop with little traffic therefore hits the worst case: the tasks meant to run at night wait for the first customer in the morning. A fixed interval from outside solves this without changing anything in the shop itself.

URL to call
https://ihr-shop.de/includes/cron_inc.php
Recommended interval
every 5 minutes
Tested with
JTL-Shop 5.x
Sufficient Cronjob.de plan
The free plan is enough to start with. If you want exports and order processing on a tight interval, take the one-minute option from 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. Assemble the task scheduler address

    The task scheduler sits in your shop at /includes/cron_inc.php. No additional parameter is required.

    https://your-shop.com/includes/cron_inc.php
  2. Check the address in a browser once

    Open the address yourself once. An empty or very short response is correct. An error page or a login prompt means something is blocking access – usually directory protection or a rule in .htaccess.

  3. Switch off the pseudo cron in the backend

    In the shop backend open Administration › System › Cron and the Settings tab. Disable the start via page views. Otherwise both run in parallel: your interval from outside plus the check on every tenth visit.

  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 with call log and notifications.

  5. Create a cronjob with that address

    Enter the address and select minutes 0, 5, 10 and so on in the schedule. If you know crontab syntax, type the 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 notifications

    Enter an email address under notifications. If your shop stops responding or reports an error you will hear about it, instead of noticing days later from an export that never ran.

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.

Verification

Is it actually running?

In the shop backend under Administration › System › Cron you can see when the tasks last ran. The Cronjob.de call log shows the calls with status 200 and their runtime alongside. Both lists should grow at the same rate.

FAQ

Common questions about JTL-Shop

Is calling from outside intended by JTL?
Yes. The JTL documentation explicitly names this route and gives external cron services as an example. No additional parameter or token is required.
Do I really have to disable the pseudo cron?
Not necessary, but sensible. If it stays on, the shop additionally checks the queue on every tenth page view. That costs processing time for nothing once the external interval is in place.
Which interval is right?
Every five minutes covers the normal case and is enough for exports, newsletters and cleanup. If orders and stock levels have to be synchronised closely with JTL-Wawi, the one-minute interval is the better choice.
What happens if a call fails?
Nothing is lost. The queue stays where it is and is processed on the next successful call. A single failure only delays execution.
My call ends with error 403.
Something is blocking access to the /includes/ directory. Common causes are directory protection, a blocking rule in .htaccess or a firewall at your host. Exempt cron_inc.php there.
Can I watch several shops?
Yes. Create one cronjob per shop and sort them into folders. Notifications can be configured per folder with their own address – handy when different clients are behind them.
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.

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 JTL-Shop

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