Requirements
- A Grumeria account with a search engine. The first 14 days are free.
- JTL-Shop 5.7.2 to 5.8.0 with PHP 8.3 and the PHP extensions XMLReader and XMLWriter.
- A running JTL task scheduler (shop cron) for regular exports.
- Your shop address, to allow it in Grumeria.
Installation
- Get and install the plugin in the JTL Extension Store – or upload the direct ZIP in the plugin manager.
- Update an existing plugin normally; do not uninstall it. Settings, engine ID and feed link are kept.
- Open the plugin. The protected feed link is under “Setup → Product feed”. No engine ID is needed for the feed yet.
Create the product feed
- Open the JTL export formats and choose “Grumeria Produktsuche”. Check language, currency, customer group and a fixed delivery country – one fixed combination per search engine.
- Run the complete export. It contains products and purchasable variants, characteristics, article attributes and functional attributes with multiple values, categories, images, descriptions, manufacturers, GTIN, prices, offers, base prices and availability.
- Schedule a recurring export in the JTL task scheduler, for example daily. Choose a shorter interval if prices or stock change often.
- Optionally untick individual fields under “Functional attributes in the feed” that should not leave the shop. Protected fields such as credentials, purchase prices, suppliers, margins or internal notes are never exported.
JTL's table preview is meant for CSV and shows missing column headers for XML feeds. That is not an error: open the XML feed in the plugin or use the preview in Grumeria to check it.
Choose fields and filters in Grumeria
- In Grumeria, add an XML data source under “Product data”, enter the feed link and choose the template “Grumeria JTL-Plugin”.
- “Load fields & preview”: characteristics, article attributes, functional attributes and variant values appear separately, each with sample values.
- Decide for every field whether it is searchable, filterable or sortable. Nothing is switched on without your choice. Map descriptions to a searchable field.
- Save and run a full import. Then create and name the filters you want under “Filters”.
- Compare three articles with your shop: a regular article, a variant and an offer – plus one article “on order”.
Activate search in your shop
- Allow your shop address in Grumeria under “Appearance”. https://shop.example and https://www.shop.example are different addresses.
- Enter the 26-character engine ID in the plugin settings. Keep the default selector or adapt it to your template, then clear the shop cache.
- Do not add another Grumeria snippet in parallel.
- Test the search. It works without tracking cookies and without consent. If Grumeria is ever unavailable, the normal JTL search stays active.
Optional search analytics
On installation or update, JTL adds the entry “Grumeria Suchstatistik” to the Consent Manager. Search terms, result views and clicks are only recorded for analytics after explicit consent. Withdrawal, Do Not Track and Global Privacy Control switch analytics off; search keeps working.
Optionally, the plugin reports up to 50 product IDs as a purchase signal on the order confirmation page – without names, addresses, order numbers or order values. This is off by default and additionally requires analytics consent.
Updates
- Install updates normally; do not uninstall. Feed link, engine ID and all settings are kept.
- From version 1.3.0, functional attributes are in the feed by default. A selection made in version 1.2.0 is kept exactly on update.
- After changing the field selection, recreate the export and re-import it in Grumeria.
Troubleshooting
- HTTP 403 when fetching the feed
- Hosting often blocks PHP files inside plugin folders. Allow only the endpoint frontend/feed.php, never the whole plugin directory.
- “No column header found” in JTL
- The table preview is meant for CSV. The XML feed is still valid – open the XML feed in the plugin or use the preview in Grumeria.
- Note about the delivery country
- Choose a fixed delivery country in the export format so prices are calculated the same way on every export.
- Search shows old prices
- Check the task scheduler and shop cron. If a fetch fails, Grumeria keeps the last complete version active.
- Search does not appear in the shop
- Check the engine ID, the allowed shop address and the selector, and clear the shop cache.
No Grumeria account yet?
Try it free for 14 days – no credit card. The feed assistant guides you through the setup.
Start free trialQuestions about the setup? Write to hello@grumeria.com.