Cronjob.de › Guides › Doofinder
Triggering the Doofinder reindex by cronjob
You keep the Doofinder index current with a cronjob that regularly calls the reindex address of your shop plugin, for example hourly. Without a plugin address, use the Doofinder Management API: a POST to /api/v2/search_engines/HASHID/_process. You set up either one at Cronjob.de without programming. If Doofinder works with a data feed, it can also read the feed itself on a schedule.
Updated:
Why at all
A stale search index shows what is no longer there
Doofinder shop search does not query your database but a prepared index. That index only knows the state of its last build. When prices, stock or articles change, the search only sees it after the next rebuild. Doofinder itself writes that your data feed may need to be updated more than once a day.
With the Doofinder plugin for JTL-Shop, according to the Doofinder help, catalogue indexing is not automatic by default and has to be triggered manually. Price changes are not sent to Doofinder by themselves. The help therefore recommends a cronjob on the reindex URL. The helpdesk of the plugin maker WebStollen says the same: set up a cronjob that calls the reindex URL regularly.
For Shopware 6 the Doofinder plugin has “Update on Save”: changed products are sent to Doofinder in batches. Doofinder recommends an additional scheduled full reindex. You set that up in the Doofinder Admin Panel under “Automatic Indexing”, with options for daily, every X hours or specific times. According to Doofinder, this feature is not supported if you index via the API.
So the cronjob is the way to go whenever your shop plugin provides a reindex address or when you want to trigger the rebuild yourself through the API. You need no server cronjob, no command line and no script.
- 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
- Doofinder Management API v2, Plugins für JTL-Shop und Shopware
- Sufficient Cronjob.de plan
- The free plan is enough for a single shop. Plus (€17.88 a year) pays off when you look after several shops, want to see the reindex reply or get an email on failure.
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".
-
Find the reindex address
With the Doofinder plugin for JTL-Shop 5 the address is shown in the plugin backend on the “Reindex” tab. For other plugins you find it in their settings. In the shops we call, these forms come up most often:
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
-
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. That is common with Shopware plugins and not an error. The credentials go into the form two steps later.
-
Create an account at Cronjob.de
Registration takes a minute and is free, no payment details needed. Five cronjobs stay free forever. For the first 14 days you have all features, including the call log with your shop’s reply.
Start for free 14 days of Unlimited included, no payment details
-
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. You can assemble the schedule by clicking, type it as a crontab expression or describe it in one 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.
-
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. -
Without a plugin address: call the Doofinder API
According to the Doofinder documentation, a POST to the
_processendpoint schedules processing of all data sources of a search engine. You generate the API key in the Admin Panel under Account → API Keys. The hashid is listed under Configuration → Search Engines. The zone (eu1,us1orap1) is the start of your API key. In the cronjob form set the method to POST and add the header. Doofinder reports success with status 201.Address: https://eu1-api.doofinder.com/api/v2/search_engines/YOUR-HASHID/_process Request method: POST Headers: Authorization: Token YOUR-API-KEY
-
Switch on notifications
Enter an email address under Notifications. If the reindex stops working because a shop update changed the plugin path or the server does not answer, you hear about it straight away. 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?
Run the cronjob once by hand. The Cronjob.de call log shows every call with status and runtime, and from Plus with the reply as well. On the API route, status 201 is correct. 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 Doofinder reindex run?
- Hourly is a good starting point for most shops, every 15 minutes when prices and stock are maintained continuously. Tighter rarely helps, because building the index takes time itself. Check in your Doofinder account whether your plan sets limits for this.
- Do I need a cronjob at all if Doofinder indexes by itself?
- Not necessarily. If Doofinder reads your data feed, you can choose daily, every X hours or specific times in the Admin Panel under “Automatic Indexing”. You need a cronjob when your shop plugin provides a reindex address that has to be called, as with the JTL plugin, or when you trigger through the API.
- Does the reindex have to run at night?
- Not necessarily. It makes sense after nightly imports from your ERP, otherwise it indexes the old state. For Shopware 6, Doofinder itself advises scheduling the full reindex shortly after such imports.
- The call ends with error 401 “Not authorized”.
- The reindex is password protected. With Shopware shops the server often replies
401withWWW-Authenticate: Basic, frequently with the realmIntediaDoofinder. According to Doofinder, the older Shopware plugin comes from Intedia. Enter username and password in the credentials fields. You find them in the Doofinder plugin configuration in your shop backend. - The call ends with error 403.
- That is different from 401: no password will help here, something is blocking access, such as directory protection, a rule in .htaccess or a firewall. Exempt exactly this address. On the API route, 401 or 403 means the API key is wrong or lacks access to this search engine.
- The call runs into a timeout.
- A full reindex of a large catalogue can take longer than we wait: 45 seconds on the free plan, 60 seconds on the paid plans. Whether the shop keeps working afterwards depends on the plugin and the PHP settings. Check in your Doofinder account whether the index finished anyway. The API route answers right away, because Doofinder only schedules the work.
- 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. 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.
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 pricingMore guides
- Webspace
- Windows
- WordPress
- Nextcloud
- Contao
- Drupal
- Joomla
- All-Inkl (KAS)
- STRATO
- IONOS
- Matomo
- Dolibarr
- phpList
- SuperWebMailer
- Firefly III
- Host Europe
- Hetzner Webhosting
- Gambio
- Shopware
- JTL-Shop
- PrestaShop
- Moodle
- WooCommerce
- WP All Import
- GitHub Actions
- MySQLDumper
Official documentation of Doofinder
The details about Doofinder come from their own documentation, as of October 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.
By Joscha Schultze, operator of Cronjob.de · Written with AI assistance, provider details checked against their official pages.