DataFirefly Allergens & Ingredients — Complete Guide
Installation, configuration and usage of the INCO 1169/2011 allergen module for PrestaShop 8 & 9: the 14 EU allergens, structured ingredients, customer profile and JSON-LD.
Overview
DataFirefly Allergens & Ingredients brings your PrestaShop 8 or 9 store into compliance with EU Regulation 1169/2011 (INCO): display of the 14 Annex II allergens, a structured ingredient list with automatic allergen emphasis (article 21), and information available before purchase as required by article 14 for distance selling.
The module also adds two differentiators: a personal allergen profile for each customer with real-time alerts on product pages, and automatic Schema.org JSON-LD enrichment for SEO.
Requirements and compatibility
- PrestaShop 8.0.0 to 9.99.99
- PHP 8.0 minimum
- MySQL 5.7+ or MariaDB 10.3+
- Multi-store and multi-language compatible
- Languages included: French, English, Spanish, German
Installation
- In the back office, open Modules → Module Manager.
- Click Upload a module and select the
dfallergens-1.0.0.zipfile. - Click Install. The module creates 5 tables prefixed
df_and preloads the 14 Annex II allergens in the 4 languages. - A new DataFirefly Allergens tab appears in the Modules menu to manage the allergen taxonomy.
On installation, the 14 official allergens are preloaded with their SVG icons and their names in French, English, Spanish and German. Nothing needs to be entered manually.
Configuration
Open Modules → Module Manager → DataFirefly Allergens & Ingredients → Configure. Six settings are available:
- Emphasis style — how allergens are marked in the ingredient list: bold (recommended), uppercase, underline or colour. Bold is the most common style on physical labels.
- Show icons — enables or disables the SVG pictograms next to each allergen name.
- Show traces — shows or hides the “May contain traces” section (article 36 paragraph 3).
- JSON-LD markup — injects the Schema.org markup into the head tag of relevant product pages.
- Customer profile — enables the allergen profile feature in the customer account and the alerts on product pages.
- Display position — dedicated tab on the product page, after the description, or after the price.
Declaring a product’s allergens
- Open the product page in the back office and go to the Modules tab (PrestaShop 8) or the module section (PrestaShop 9).
- In the DataFirefly Allergens panel, each allergen offers three states: not applicable (default), Contains, or Traces.
- Select Contains for allergens present in the recipe, Traces for possible cross-contamination.
- Enter the ingredient list in natural language, in descending order of quantity as required by the regulation. The module automatically detects and emphasises allergens and their synonyms.
- Optionally, fill in the origin and storage instructions.
- Save the product.
The ingredients, origin and storage fields are stored per language and per store: switch languages with the product page language selector to enter each version.
Automatic synonym detection
Emphasis is not limited to the official allergen name. The internal dictionary recognises common variants in all four languages:
- Milk → milk, butter, cream, casein, whey, lactose
- Gluten → wheat, spelt, barley, rye, oats, kamut, malt
- Sulphites → SO2, sulphur dioxide, E220 to E228
- Nuts → almond, hazelnut, walnut, cashew, pecan, pistachio, macadamia
Detection uses Unicode-aware word boundaries: “wheat” is detected in “wheat flour” but not inside longer unrelated words.
Customer allergen profile
When the option is enabled, each logged-in customer has a My allergens section in their account. There they select their allergens and a severity level: avoid, intolerance, severe or anaphylactic.
On every product page, the module compares the product’s declared allergens with the customer’s profile. In case of conflict, a red alert banner appears above the price, indicating the allergen concerned and the recorded severity level.
The customer profile is a decision-support service. It replaces neither regulatory labelling nor consumer vigilance: always display the complete allergen list on every product page.
Schema.org JSON-LD markup
When a product has at least one declared allergen or an ingredient list, the module automatically injects a JSON-LD script into the head tag containing:
ingredients— the ingredient list in plain textsuitableForDiet— the inferred compatible diets (for example GlutenFreeDiet if no gluten allergen is declared)additionalProperty— each allergen with the propertyID INCO-1169-2011 and its level (contains or traces)
The markup is generated server-side in PHP, without a template, with injection protection.
Managing the allergen taxonomy
The DataFirefly Allergens back-office menu lets you edit the names and descriptions of the 14 allergens in each language, enable or disable them individually, and adjust their display order. The default order follows the Annex II numbering.
Troubleshooting
- The allergen block does not appear — check that the product has at least one declared allergen or an ingredient list, and that the configured display position matches a hook supported by your theme.
- All allergens appear as “Contains” — make sure you are using the final 1.0.0 version of the module; clean the test product data by setting all selectors back to “not applicable” and saving.
- Emphasis does not work on a term — the term may be missing from the synonym dictionary; use the official allergen name in the ingredient list.
- JSON-LD does not appear — check the option is enabled in the configuration and inspect the product page source code (search for INCO-1169-2011).
Uninstallation
Uninstalling removes the module’s 5 tables and all associated allergen, ingredient and customer profile data. Export your data beforehand if needed.
Legal responsibility
The module provides the technical display tools. In accordance with article 8 of the INCO regulation, responsibility for the accuracy of food information lies with the food business operator, i.e. the merchant.