Structured data: what exists
This page is for owners and builders of local business sites who have heard that search engines read structured data: a block of machine-readable facts (in the JSON-LD format, using the schema.org vocabulary) in the page head. It says plainly what ships and what does not.
Contents
What structured data is for
Structured data repeats facts that are already on the page (name, address, opening hours, price) in a form machines read without guessing. Search engines may use it for richer results. It does not replace a correct page or an accurate business listing on map platforms (Business listings outside Exponential).
What ships today
Searched in extension/ on 20 October 2026:
| Structured data | Where | Applies to |
|---|---|---|
BreadcrumbList on every page | extension/sevenx_themes_media/design/media/templates/pagelayout/head/meta.tpl | sites using the media theme |
Article with publisher Organization | the media theme's full views for articles, news, blog posts | those content types |
Recipe | extension/sevenx_themes_media/autoloads/sevenxthemesmediaoperators.php (class ng_recipe) | recipe pages of the media theme |
a job posting with hiring Organization | .../content/views/full/ng_job_position.tpl | job pages of the media theme |
schema.org license of the content | xrowmetadata (xrowmetadata/license_head.tpl, version 1.4.9 and later) | sites that set a content license |
So whether your site prints any structured data depends on the design it uses. The default public design
(sevenx_themes_simple) was not found to print JSON-LD.
What does not ship
- No
LocalBusiness(orRestaurant,Store,HairSalonand so on) block. - No
OpeningHoursSpecification; there is also no opening-hours datatype to read it from (Opening hours without a special datatype). - No
Eventstructured data for theeventclass ofezwebin. - No
ProductorOfferstructured data for shop products. - No
AggregateRatingfromezstarrating.
Each can be added by a builder in a template. None needs a new extension.
Adding a LocalBusiness block
This is template work for your builder, usually an hour or two once the content model is clear. The idea:
- Keep name, address, phone and hours in one content object (Planning your pages); with structured hours fields, as described in Opening hours without a special datatype.
- In the pagelayout, or only on the front page and contact page, print a JSON-LD block built from those fields. The
media theme's
meta.tplshows how the project prints JSON-LD safely with thejson_ldoperator. - Use the coordinates of an
ezgmaplocationfield forgeo, if the site has one (Showing your location on a map). - Test the page with the search engines' own structured data testing tools (outside Exponential).
- Remember the holiday hours: if structured data says "open" and the door is closed, visitors are annoyed. Either include special dates or keep the block to the regular hours and announce exceptions on the page.
Checklist
- To do: You know which design your site uses and whether it prints any JSON-LD.
- To do: Name, address, phone and hours live in one object.
- To do: If a LocalBusiness block is wanted, it is in the builder's quote.
- To do: The block is tested and matches the visible page.
- To do: Holiday hours are handled.
Related pages
- Local SEO basics
- Site packages and the themes that ship
- Choosing a design or theme
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.