o

Cronjob.deGuides › Doofinder

Triggering the Doofinder reindex by cronjob

Doofinder serves the search in your shop from its own index – not directly from your database. That index has to be rebuilt regularly. The plugin provides an address for this, and something has to call it. This guide shows how to have that done at a fixed interval.

Why at all

A stale search index sells what is no longer there

Doofinder shop search is fast because it does not query your database but a prepared index. The price: that index only knows the state of its last build. When prices, stock or articles change, the search only notices at the next reindex.

In practice your customer notices before you do: they search an article, find it, click – and land on a page with a different price or a note that it is gone. Anyone whose search still lists discontinued goods may be selling stock that disappeared long ago.

The reindex itself is just a call to an address. That is exactly the catch: something has to trigger it. A shop without its own server cron has no place for that – and nobody remembers to do it by hand every morning.

URL to call
https://ihr-shop.de/plugins/ws5_doofinder/sync.php?action=reindex
Recommended interval
hourly, every 15 minutes if prices and stock change frequently
Tested with
JTL-Shop 4 und 5, Shopware, PrestaShop
Sufficient Cronjob.de plan
The free plan is enough for a single shop. Plus or Unlimited become interesting when you look after several shops or want to see what the reindex replied.

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. Find the address of your reindex

    Which address applies depends on your shop system. The three forms we see in practice:

    JTL-Shop 5:  https://your-shop.com/plugins/ws5_doofinder/sync.php?action=reindex
    JTL-Shop 4:  https://your-shop.com/includes/plugins/jst_doofinder/sync.php?action=reindex
    Shopware:    https://your-shop.com/doofinder/sync/reindex
  2. Open the address in a browser once

    Call the address yourself before turning it into a cronjob. A short confirmation or an empty page is correct. If the browser asks for a username and password, the reindex is password protected – this is common with Shopware and not an error. Note the credentials down, they go into the form two steps later.

  3. 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, including the call log with your shop's reply.

  4. Create the cronjob and pick an interval

    Enter the address and choose the interval. Hourly covers the normal case. If you maintain prices and stock several times a day, take every 15 minutes. If you know crontab syntax, type it directly – or let the AI assistant build the schedule from a single sentence.

    0 * * * *

    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.

  5. Enter credentials if required

    If the reindex is password protected, enter username and password in the two credentials fields of the cronjob form – not in the address. Special characters are no problem there. If you do enter them as user:password@your-shop.com, we move them into those fields automatically when you save.

  6. Switch on notifications

    Enter an email address for error messages. If the reindex stops working because the plugin was renamed by a shop update or the server does not answer, you hear about it straight away – not when a customer complains about wrong prices.

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 your Doofinder account you can see when the index was last built and how many articles it holds. The Cronjob.de call log shows every call with status and runtime alongside. Both should keep moving at the same rate. A good counter-test: change a price in the shop and search for the article after the next reindex – if the new price shows, the chain works.

FAQ

Common questions about Doofinder

How often should the reindex run?
Hourly is right for most shops. Every 15 minutes pays off when prices and stock are maintained continuously. Tighter than every five minutes rarely helps: building the index takes time itself, and a new call while the previous one is still running only costs server capacity.
Does the reindex have to run at night?
Not necessarily. It makes sense when imports from your ERP run at night anyway – the reindex belongs after them, otherwise it indexes the old state. Some shops therefore run it once early in the morning and hourly during the day.
The call ends with error 401 "Not authorized".
The reindex is password protected. With Shopware shops this is the normal case: the server replies 401 with WWW-Authenticate: Basic, often with a realm such as IntediaDoofinder. Enter username and password in the credentials fields of the cronjob and the call goes through. The credentials come from the Doofinder plugin configuration in your shop backend – if you do not run the shop yourself, your agency has them.
Where do I enter the credentials?
The cronjob form has two fields for username and password right below the address. That is where they belong, not in the address: special characters such as @ cause no trouble there, and the password does not end up in logs or error emails. If you do enter it as user:password@your-shop.com, we move it into those fields when you save.
The call ends with error 403.
That is different from 401: no password will help here, something is blocking access – directory protection, a rule in .htaccess or a firewall at your host. Exempt exactly this address. Some plugins additionally expect a key in the address; you find it in the plugin settings in your shop backend.
The call runs into a timeout.
A full reindex of a large catalogue can take longer than a call stays open. On the free plan each call gets up to 45 seconds, on the paid plans up to 60. Important: the shop usually keeps working even if we close the connection earlier – check in your Doofinder account whether the index finished anyway.
Nothing works after a shop update.
The most common cause is a changed plugin path, for example when moving from JTL-Shop 4 to 5: /includes/plugins/jst_doofinder/ becomes /plugins/ws5_doofinder/. Adjust the address in the cronjob and it runs again. With notifications switched on you notice this the same day.
I look after several shops.
Create one cronjob per shop and sort them into folders. Notifications can be set per folder with their own address – handy when different clients are behind the shops.
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 Doofinder

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