
Rich Snippets & Schema.org Structured Data
FAQ, How-to, Local Business and Event structured data plus offer, brand and rating properties - with a validator that names what is missing.
Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_rich_snippets.
Rich Snippets & Schema.org Structured Data
An add-on for BambooForge SEO Pro. SEO Pro publishes the structured data every page needs; this adds the four types that make a search result look different, and the properties a product needs before it can appear as a shopping result.
Install
Install BambooForge Rich Snippet Pack. It requires BambooForge SEO Pro. Nothing changes on any page until you pick one of the new schema types: existing pages keep the structured data they have.
Structured data must be switched on for the website - Website settings → SEO in SEO Pro - or nothing is emitted at all.
Where you enter it
SEO Pro → SEO Pages, open a page, Advanced → Structured data, pick the schema type. New notebook pages appear for the type you picked:
Schema type |
Where the data goes |
|---|---|
FAQ page |
Questions tab on the page |
How-to guide |
Steps tab on the page |
Local business |
Local business tab on the website |
Event |
Event tab on the page |
Product |
Offer & rating tab on the page |
Local business data lives on the website rather than on each page: it is the same shop whichever page mentions it. Blank address fields fall back on the company address, so most sites only fill in the type and the opening hours.
The verdict
Beside the schema type is a badge:
- No rich result
The page emits SEO Pro's normal structured data and nothing extra.
- Missing required data
The type is picked but Google's published requirements are not met. The warning box lists what is missing, in the order it bites - two questions minimum for a FAQ, an instruction on every how-to step, a street and a city and opening hours for a local business, a rating between 1 and 5 with a review count beside it, an event that does not end before it starts.
- Eligible
Everything a rich result needs is there.
The badge is stored, so SEO Pages can be sorted and filtered on it: on a site with 300 pages that list is the work queue.
Preview JSON-LD
The button beside the badge shows exactly what a crawler receives. It is not a rebuild for the form - it is the same call the page controller makes, so what you read is what is published. Paste it into Google's Rich Results Test if you want a second opinion.
Opening hours
A lunch break is two rows for the same day: 07:00-12:30 and 13:30-18:00.
A shift that runs past midnight is two rows: one ending at 24:00 and one starting at 00:00 on the next day.
A closing time of 24:00 is published as 23:59. Publishing 00:00 would read as the start of the day, and is how a business ends up listed as closed all day.
Honesty rules
Two of Google's rules are worth repeating, because breaking them costs more than the rich result is worth:
The answer in the FAQ must be the answer on the page. A teaser in the structured data and the full text on the page is a manual action.
Never publish a rating the visitor cannot see. An aggregate rating belongs to reviews that exist and are shown.
The pack does not invent either of them: nothing is emitted that you did not type.
Multi-website
Local business data, including opening hours, belongs to the website - six client sites in one database each carry their own address, hours and map pin. Page-level data belongs to the page.
Support
support@bambooforge.dev - the people who wrote it.
Screens


