Why Allergen and Dietary Information Matters for Online Restaurant Ordering
A customer with a severe peanut allergy places an order from your online menu. There’s no allergen info listed anywhere. They call the restaurant, but it’s a busy Friday night and nobody picks up. They either abandon the order — or worse, they take a chance and something goes wrong. This scenario plays out more often than most restaurant owners realize, and it’s entirely preventable.
Food allergy prevalence has been climbing steadily. According to Food Allergy Research & Education (FARE), roughly 33 million Americans live with food allergies, including about 1 in 13 children. In the UK, hospital admissions for severe allergic reactions have risen significantly over the past decade. The demand for clear allergen labeling isn’t a niche concern — it’s a mainstream expectation.
Legally, restaurants in many regions are required to provide allergen information. The EU Food Information for Consumers (FIC) Regulation mandates that all food businesses — including those selling online — clearly declare the presence of 14 major allergens. In the United States, the FDA enforces labeling of the “Big 9” allergens (milk, eggs, fish, shellfish, tree nuts, peanuts, wheat, soybeans, and sesame) for packaged foods, and many states are extending similar requirements to restaurant menus. Natasha’s Law in the UK, enacted after a teenager’s fatal allergic reaction, tightened rules further for pre-packaged food.
Beyond legal compliance, there’s a strong business case. Research from Technomic indicates that a significant majority of consumers with dietary restrictions say they’re more loyal to restaurants that accommodate their needs. Displaying allergen badges and dietary labels — vegan, gluten-free, keto, halal, nut-free — directly on your online menu builds trust, reduces order abandonment, and protects your business from liability claims.
If you’re running a restaurant ordering system on WordPress and WooCommerce, adding this information is entirely within your control. Let’s walk through exactly how to do it right.
How to Plan Your Allergen and Dietary Label System in WooCommerce
Before touching any code or plugin settings, you need a clear plan. Jumping straight into implementation without a taxonomy strategy leads to inconsistent labels, missed allergens, and a messy backend that’s painful to maintain.
Decide Which Allergens and Dietary Categories to Include
Start with the 14 major allergens recognized by EU regulations, which represent the most comprehensive standard globally:
- Celery
- Cereals containing gluten (wheat, rye, barley, oats)
- Crustaceans
- Eggs
- Fish
- Lupin
- Milk (lactose)
- Molluscs
- Mustard
- Tree nuts (almonds, hazelnuts, walnuts, cashews, pecans, Brazil nuts, pistachios, macadamia nuts)
- Peanuts
- Sesame seeds
- Soybeans
- Sulphur dioxide and sulphites (above 10mg/kg or 10mg/litre)
Then layer on dietary preference labels that match your customer base: Vegan, Vegetarian, Gluten-Free, Dairy-Free, Keto, Halal, Kosher, Paleo, and Low-Sodium are the most commonly requested. You don’t need to include every label under the sun — focus on what’s relevant to your menu and your audience.
Organize Using WooCommerce Product Attributes and Custom Taxonomies
WooCommerce has a built-in attribute system that works perfectly for this. The key is creating two distinct global attributes:
- “Contains” attribute — for allergens present in the dish (e.g., Contains: Gluten, Eggs, Milk)
- “Suitable For” attribute — for dietary labels the dish qualifies for (e.g., Suitable For: Vegan, Keto, Halal)
Separating these into two attributes keeps things clean. A dish can contain gluten while also being suitable for a vegetarian diet. Mixing these into a single taxonomy creates confusion fast.
Navigate to Products → Attributes in your WordPress dashboard and create both as global attributes with pre-configured terms. This ensures every staff member selects from the same standardized list rather than typing freeform text (which inevitably leads to “Gluten Free” vs. “gluten-free” vs. “GF” inconsistencies).
[IMAGE: Screenshot of WooCommerce product attributes panel showing a “Contains” attribute with allergen terms like Gluten, Eggs, Milk, Peanuts, and a “Suitable For” attribute with dietary labels like Vegan, Keto, Halal]
Step-by-Step: Adding Allergen Attributes and Dietary Icons to Menu Items
With your attribute structure in place, it’s time to assign allergens to individual menu items and make them visually prominent for customers browsing your online menu.
Creating and Assigning Global Attributes
Go to Products → Attributes and add your first attribute:
- Name: Contains (slug:
contains) - Click “Add attribute,” then click “Configure terms”
- Add each allergen as a term: Gluten, Eggs, Milk, Peanuts, Tree Nuts, Soy, Fish, Shellfish, Sesame, Celery, Mustard, Lupin, Molluscs, Sulphites
- Repeat the process for a second attribute: Suitable For (slug:
suitable-for) - Add terms: Vegan, Vegetarian, Gluten-Free, Dairy-Free, Keto, Halal, Kosher, Nut-Free
Now, when editing any WooCommerce product (your menu item), scroll to the Product Data section, click the Attributes tab, select your global attribute from the dropdown, and check the relevant terms. A margherita pizza might get Contains: Gluten, Milk and Suitable For: Vegetarian. A grilled chicken salad might get Contains: Mustard, Sesame and Suitable For: Gluten-Free, Keto, Halal.
Make sure to check the “Visible on the product page” checkbox for each attribute. This ensures the allergen data appears in the Additional Information tab by default.
Displaying Visual Icons and Badges
Plain text attributes in a table are functional but not ideal for a restaurant menu. Customers scan quickly — visual icons are far more effective. A small wheat icon next to “Contains Gluten” or a green leaf badge for “Vegan” communicates instantly.
To display icons, you have a few options. The most straightforward approach for non-developers is using a plugin like YITH WooCommerce Badge Management to assign visual badges based on product attributes. For more control, you can add custom code to your theme’s functions.php file (or a site-specific plugin) that hooks into woocommerce_after_shop_loop_item_title and woocommerce_single_product_summary to output icon markup based on assigned attribute terms.
Here’s a simplified example of the approach:
Create a folder of SVG icons (one per allergen/diet label), name them to match your attribute term slugs (e.g., vegan.svg, gluten.svg), and use a function that loops through the product’s assigned terms and outputs the corresponding icon with a tooltip. This gives you a clean row of recognizable badges beneath each dish name.
If you’re using FoodMaster for your WooCommerce restaurant setup, your menu items are already structured as WooCommerce products, which means these attributes integrate seamlessly into the existing menu layout — no extra configuration needed to make them appear alongside your food categories, pricing, and add-ons.
How to Add Allergen Filters So Customers Can Browse Your Menu Safely
Displaying allergen info on individual items is essential, but letting customers filter the entire menu by dietary need takes the experience to another level. A customer who’s gluten-free shouldn’t have to click through 40 menu items to find what they can eat.
Using WooCommerce Attribute Filters
Since you’ve set up allergens and dietary labels as global product attributes, WooCommerce’s built-in “Filter Products by Attribute” widget (or block, in the block editor) can be used directly. Add it to your shop page sidebar or above your menu grid, and customers can check “Gluten-Free” or “Vegan” to instantly narrow results.
For a smoother experience, AJAX-based filtering avoids full page reloads. Plugins like FacetWP or the built-in WooCommerce product filtering blocks (available in WooCommerce 8.x+) handle this well. The key settings to configure:
- Set the filter type to checkboxes for the “Suitable For” attribute (customers want to see all vegan items)
- For the “Contains” attribute, consider an exclusion filter — “Hide items containing: Peanuts, Tree Nuts” is more useful than “Show items containing: Peanuts”
- Enable AJAX/live filtering so results update without reloading the page
- Show the product count next to each filter term so customers know how many options are available
Building an Exclusion-Based Filter
Most default WooCommerce filters work on an inclusion basis — show products that have a certain attribute. But for allergens, customers typically want exclusion — hide products that contain something they can’t eat. This requires a bit of custom query modification or a filtering plugin that supports “NOT” logic.
FacetWP supports this natively with its “exclude” operator. If you’re working with a developer, a custom pre_get_posts filter that uses a tax_query with 'operator' => 'NOT IN' on the “Contains” taxonomy achieves the same result. This way, a customer with a nut allergy can check “Peanuts” and “Tree Nuts” in an exclusion filter, and every dish containing those allergens disappears from the menu grid.
This kind of thoughtful filtering turns your online menu from a static list into an accessible, personalized experience — and it’s a genuine competitive advantage over restaurants still using PDF menus or basic page builders.
[IMAGE: Front-end view of a restaurant WooCommerce menu page with dietary filter checkboxes on the left sidebar showing options like Vegan, Gluten-Free, Nut-Free, and a grid of food items displaying small allergen and dietary icons beneath each dish name]
Displaying Allergen Disclaimers and Popups on Your Checkout and Order Pages
Even with thorough labeling, you need a safety net at checkout. Cross-contamination risks, recipe variations, and supplier changes mean no restaurant can guarantee a dish is 100% free of any allergen. A well-placed disclaimer protects both the customer and your business.
Adding a Checkout Allergen Disclaimer
Use the woocommerce_before_order_review hook to insert a visible allergen notice above the order summary. Something like:
“Allergen Notice: While we take every precaution, our kitchen handles all 14 major allergens. We cannot guarantee that any dish is completely free from allergen traces. Please inform us of any severe allergies in the field below.”
Keep it prominent — use a colored background (yellow or light orange works well for warnings) and ensure it’s not buried beneath terms and conditions text that nobody reads.
Adding a Custom “Dietary Notes” Field at Checkout
WooCommerce includes an “Order Notes” field by default, but a dedicated dietary/allergy notes field is more effective because it signals to customers that you take this seriously. Add a custom checkout field using the woocommerce_after_order_notes hook:
This field should have clear placeholder text like “Please list any food allergies or dietary requirements here” and should be optional (not every customer needs it, and making it required adds friction). The data entered here needs to be saved to the order meta and displayed in the admin order view, order confirmation emails, and — critically — on any kitchen-facing systems.
Passing Allergy Notes to the Kitchen
This is where the chain often breaks. A customer types “severe shellfish allergy” at checkout, but the kitchen never sees it because the note only appears in the WordPress admin panel that nobody checks during service.
If you’re using a restaurant ordering plugin like FoodMaster, order details — including custom fields and customer notes — flow directly to the kitchen display system (KDS) and printed order tickets. This closes the gap between the online order and the kitchen line. The allergy note appears right alongside the dish details, so the cook preparing the order sees it immediately without anyone having to relay the message manually.
For an extra layer of safety, consider adding a confirmation popup that triggers when a customer adds an item containing a specific allergen to their cart. A simple JavaScript modal that says “This item contains peanuts. Do you wish to continue?” adds a moment of pause that could prevent a serious incident. You can trigger this based on the product’s “Contains” attribute terms using a small custom script or a popup plugin with WooCommerce conditional triggers.
Best Practices: Keeping Your Allergen Data Accurate and Up to Date
Setting up allergen labels once and forgetting about them is arguably worse than not having them at all. Outdated allergen info creates a false sense of security. A dish that was nut-free last month might contain cashews now because the supplier changed the sauce recipe. Here’s how to maintain accuracy over time.
Establish an Update Protocol
- Trigger-based reviews: Any time a recipe changes, a new supplier is onboarded, or a menu item is added, the allergen attributes must be reviewed before the item goes live online.
- Scheduled audits: Review all menu item allergen data quarterly at minimum. Assign a specific staff member as the “allergen data owner.”
- Supplier communication: Request allergen specification sheets from every ingredient supplier and keep them on file. When a supplier sends an updated spec, cross-reference it against your WooCommerce listings.
Use Bulk Editing to Update Attributes Efficiently
When a change affects multiple products — say your bread supplier switches to a recipe that now contains sesame — you don’t want to edit 15 menu items one by one. WooCommerce’s built-in bulk editor (select products → Bulk Actions → Edit) lets you add or remove attribute terms across multiple products simultaneously. For more granular control, plugins like PW WooCommerce Bulk Edit provide spreadsheet-style editing of product attributes, which is far faster when managing a large menu.
Add a “Last Updated” Date for Allergen Info
A visible “Allergen information last verified: March 2025” notice on your menu page or in the product description area gives customers confidence that the data is current. You can automate this by adding a custom field that records the date whenever a product’s allergen attributes are modified, then displaying it on the front end via a short function hooked to the product page.
Leverage Structured Data for SEO Benefits
Accurate allergen and dietary data does double duty for local SEO. Google supports Schema.org markup for menu items (using the MenuItem and NutritionInformation schema types), and including dietary restriction information (suitableForDiet) in your structured data helps your menu items appear in rich results when people search for things like “gluten-free pizza near me.”
You can add this markup manually using a plugin like Rank Math or Yoast SEO (both support custom schema), or generate it programmatically based on your WooCommerce product attributes. Each menu item’s “Suitable For” terms map directly to Schema.org’s RestrictedDiet enumeration values: GlutenFreeDiet, VeganDiet, HalalDiet, HinduDiet, KosherDiet, and LowSaltDiet, among others.
This is a genuinely underused SEO tactic for restaurant websites. Most competitors aren’t marking up their menus with dietary schema, so doing it correctly gives you a real edge in local search visibility.
Bringing It All Together
Adding allergen information and dietary labels to your <a href="https://www.wpslash.com/how-to-set-up-a-meal-subscription-and-recurring-order-system-on-your-woocommerce-restaurant-website-2025/" title="How to Set Up a Meal Subscription and Recurring Order System on Your <a href="https://www.wpslash.com/how-to-add-product-attributes-and-custom-filters-to-your-woocommerce-restaurant-menu-step-by-step/" title="How to Add Product Attributes and Custom Filters to Your WooCommerce Restaurant Menu (Step by Step)”>WooCommerce Restaurant Website (2025)”>WooCommerce restaurant menu isn’t a single task — it’s a system. The attributes you set up in your backend need to flow consistently through to your menu display, your filtering interface, your checkout process, and your kitchen operations. Each link in that chain matters.
Start with a solid attribute taxonomy (the “Contains” and “Suitable For” structure), assign them diligently to every menu item, add visual icons so customers can scan quickly, implement filters so they can browse safely, and put disclaimers and custom fields at checkout so nothing falls through the cracks. Then maintain it like the critical safety system it is.
If you’re building your restaurant’s online ordering on WooCommerce, tools like FoodMaster give you a solid foundation — your menu items are already WooCommerce products with full attribute support, and order details (including those crucial allergy notes) flow directly to kitchen displays and printed tickets. Layer on the allergen attributes, icons, and filters described above, and you’ll have an online ordering experience that’s safer, more accessible, and more trustworthy than what most restaurants offer today.
Your customers with dietary restrictions will notice. And they’ll come back.