outeredge / magento-structured-data-module
outeredge/magento-structured-data-module
Magento Structured Data Module by outer/edge
outer/edge Structured Data Module for Magento 2
Our open source module allows you to quickly add structured data markup (also known as Rich Snippets) to any Magento 2 store by simply installing our module and setting a few configuration options.
Once this module is installed you will have valid structured data in the source of your product, contact and CMS pages. For example:
https://developers.google.com/search/docs/advanced/structured-data/product
This will look similar to the below:
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"@id": "https://example.co.uk/blue-t-shirt#Product",
"brand": {
"@type": "Brand",
"name": "Nike"
},
"aggregateRating": {
"@type": "AggregateRating",
"bestRating": "100",
"worstRating": "1",
"ratingValue": "4.55",
"reviewCount": "5"
},
"name": "Nike Blue T-Shirt",
"sku": "blue-t-shirt",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer viverra vitae nulla quis venenatis. Donec sollicitudin pharetra eros, in facilisis justo fringilla eu. In at consequat felis.",
"image": "https://example.co.uk/media/catalog/product/b/t/blue-t-shirt.jpg",
"offers": {
"@type": "Offer",
"url": "https://example.co.uk/blue-t-shirt",
"price": 18.99,
"priceCurrency": "GBP",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": 18.99,
"priceCurrency": "GBP",
"valueAddedTaxIncluded": true
},
"availability": "http://schema.org/InStock",
"itemCondition": "http://schema.org/NewCondition"
}
}
</script>
The module provides the following structured data:
Product Page (GraphQL available)
- @type
- @id
- name
- sku
- description
- image
- weight
- brand
- aggregateRating
- bestRating
- worstRating
- ratingValue
- reviewCount
- mpn
- material
- color
- price
- priceCurency
- valueAddedTaxIncluded
- availability
- itemCondition
- AggregateOffer
- offers
- highPrice
- lowPrice
Contact Page
- @type
- @id
- name
- image
- address
- telephone
- url
- geo
CMS Page
- name
- mainContentOfPage
- description
- primaryImageOfPage
Installation
Install via Composer
composer require outeredge/magento-structured-data-module
Review configuration for Structure Data Module
Configuration is available in Stores > Configuration > outer/edge > Structured Data. The following options are available:
Structured Data (Product)
[image: structured_data-product]
- Enable: Enable or disable structured data on product pages.
- Use Short Description: Use
short_descriptionattribute for thedescriptionmarkup. By defaultdescriptionwill be used. - Include ChildProducts: Choose whether to include individual offer for each child (simple) product for structured data on configurable product pages.
- Include Product Weights: Ad
weightschema to product page structured data. - Product Brand/Manufacturer field: Choose which Magento attribute is used to populate the structured data values.
- Brand (Default:
manufacturerorbrand) - MPN (Default: empty)
- ISBN (Default: empty)
- Size (Default: empty)
- GTIN (Default: empty)
- Color (Default:
ColororColour) - Material (Default: empty)
- Keywords (Default: empty)
- Brand (Default:
Structured Data (CMS Page)
[image: structured_data-cms]
- Enable: Enable or disable structured data on CMS pages.
- Enable About Page: Enable or disable
"@type": "AboutPage". - About Page: Select the CMS page for
"@type": "AboutPage".
Structured Data (Contact Page)
[image: structured_data-contact]
- Enable: Enable or disable structured data on Contact page.
- Type: Select whether business in a Local Business or Organization.
- Latitude: Specify latitude for local business.
- Longitude: Specify longitude for local business.
Once the module is installed and configured you will find the schema markup in your source code:
[image: schema_screenshot]
GraphQL
Our structured data module provides for product schema to the built in Magento GraphGL endpoint. Simply request the structured_data field with your product data as per the example below and the data will be returned as a JSON array:
{
products(
filter: {
...
}
) {
items {
sku
name
structured_data
}
}
}
Uninstalling the module
Remove via Composer
composer remove outeredge/magento-structured-data-module
References
Google docs for structured data format (using JSON-LD format)
https://developers.google.com/search/docs/guides/intro-structured-data
https://developers.google.com/search/docs/advanced/structured-data/product
Structured data syntax is based on
No changelog yet
The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.
| Version | Stability | QA Status | Released |
|---|---|---|---|
| 5.2.5 | stable | Fail | 2026-01-27 15:36:33 |
| 5.2.4 | stable | Not tested | 2026-01-06 13:12:09 |
| 5.2.3 | stable | Not tested | 2025-11-05 18:22:42 |
| 5.2.2 | stable | Not tested | 2025-11-05 13:45:19 |
| 5.2.1 | stable | Not tested | 2025-07-23 09:56:42 |
| 5.2.0 | stable | Not tested | 2025-06-17 09:34:35 |
| 5.1.3 | stable | Not tested | 2025-03-13 09:36:50 |
| 5.1.2 | stable | Not tested | 2025-03-11 09:36:14 |
| 5.1.1 | stable | Not tested | 2025-03-06 10:57:52 |
| 5.1.0 | stable | Not tested | 2025-03-05 17:14:48 |
| 5.0.11 | stable | Not tested | 2025-03-05 13:52:41 |
| 5.0.10 | stable | Not tested | 2024-11-05 10:18:22 |
| 5.0.9 | stable | Not tested | 2024-10-22 12:48:50 |
| 5.0.8 | stable | Not tested | 2024-07-26 10:48:38 |
| 5.0.7 | stable | Not tested | 2024-07-24 15:14:25 |
| 5.0.6 | stable | Not tested | 2024-07-19 08:20:24 |
| 5.0.5 | stable | Not tested | 2024-06-26 09:40:35 |
| 5.0.4 | stable | Not tested | 2024-06-19 16:37:45 |
| 5.0.3 | stable | Not tested | 2024-06-12 11:14:16 |
| 5.0.2 | stable | Not tested | 2024-05-29 10:14:45 |
| 5.0.1 | stable | Not tested | 2024-05-28 16:13:41 |
| 5.0.0 | stable | Not tested | 2024-05-24 16:23:35 |
| 4.2.1 | stable | Not tested | 2024-05-15 17:08:11 |
| 4.2.0 | stable | Not tested | 2024-05-14 13:01:32 |
| 4.1.0 | stable | Not tested | 2024-05-13 15:04:24 |
| 4.0.10 | stable | Not tested | 2024-02-29 11:59:17 |
| 4.0.9 | stable | Not tested | 2024-02-08 09:40:28 |
| 4.0.8 | stable | Not tested | 2024-01-02 16:17:34 |
| 4.0.7 | stable | Not tested | 2023-12-20 10:48:50 |
| 4.0.6 | stable | Not tested | 2023-10-24 13:37:56 |
| 4.0.5 | stable | Not tested | 2023-08-30 16:41:16 |
| 4.0.4 | stable | Not tested | 2023-08-08 09:30:31 |
| 4.0.3 | stable | Not tested | 2023-07-18 12:53:07 |
| 4.0.2 | stable | Not tested | 2023-07-05 14:39:48 |
| 4.0.1 | stable | Not tested | 2023-07-05 11:28:20 |
| 4.0.0 | stable | Not tested | 2023-06-29 11:43:26 |
| 3.0.4 | stable | Not tested | 2023-04-26 11:11:41 |
| 3.0.3 | stable | Not tested | 2023-04-11 12:09:38 |
| 3.0.2 | stable | Not tested | 2023-03-30 09:28:31 |
| 3.0.1 | stable | Not tested | 2023-03-28 11:44:46 |
| 3.0.0 | stable | Not tested | 2023-02-10 18:13:49 |
| 2.4.1 | stable | Not tested | 2023-02-02 12:48:11 |
| 2.4.0 | stable | Not tested | 2023-01-20 16:16:39 |
| 2.3.9 | stable | Not tested | 2022-12-13 10:57:41 |
| 2.3.8 | stable | Not tested | 2022-12-07 15:45:42 |
| 2.3.7 | stable | Not tested | 2022-09-23 09:00:43 |
| 2.3.6 | stable | Not tested | 2022-09-02 15:57:40 |
| 2.3.5 | stable | Not tested | 2022-09-02 14:04:29 |
| 2.3.4 | stable | Not tested | 2022-08-25 12:00:24 |
| 2.3.3 | stable | Not tested | 2022-08-22 15:07:03 |
| 2.3.2 | stable | Not tested | 2022-08-16 10:46:52 |
| 2.3.1 | stable | Not tested | 2022-08-15 16:17:25 |
| 2.3.0 | stable | Not tested | 2022-08-15 10:49:57 |
| 2.2.25 | stable | Not tested | 2022-06-24 13:21:46 |
| 2.2.24 | stable | Not tested | 2022-04-13 14:37:58 |
| 2.2.23 | stable | Not tested | 2022-03-07 16:41:13 |
| 2.2.22 | stable | Not tested | 2022-02-09 20:21:48 |
| 2.2.21 | stable | Not tested | 2022-02-01 12:04:37 |
| 2.2.20 | stable | Not tested | 2021-12-13 17:14:16 |
| 2.2.19 | stable | Not tested | 2021-12-09 16:49:52 |
| 2.2.18 | stable | Not tested | 2021-12-03 14:55:18 |
| 2.2.17 | stable | Not tested | 2021-12-02 14:17:10 |
| 2.2.16 | stable | Not tested | 2021-11-26 16:20:51 |
| 2.2.15 | stable | Not tested | 2021-07-27 15:01:42 |
| 2.2.14 | stable | Not tested | 2021-07-16 14:37:00 |
| 2.2.13 | stable | Not tested | 2021-07-16 08:27:09 |
| 2.2.12 | stable | Not tested | 2021-04-30 19:51:25 |
| 2.2.11 | stable | Not tested | 2021-04-23 15:37:33 |
| 2.2.10 | stable | Not tested | 2021-02-12 11:01:01 |
| 2.2.9 | stable | Not tested | 2021-02-11 19:36:15 |
| 2.2.8 | stable | Not tested | 2021-02-04 17:50:44 |
| 2.2.7 | stable | Not tested | 2021-02-04 13:03:33 |
| 2.2.6 | stable | Not tested | 2021-02-03 16:18:27 |
| 2.2.5 | stable | Not tested | 2020-12-17 16:37:58 |
| 2.2.4 | stable | Not tested | 2020-07-06 13:43:18 |
| 2.2.3 | stable | Not tested | 2020-07-02 08:34:56 |
| 2.2.2 | stable | Not tested | 2020-05-27 06:16:32 |
| 2.2.1 | stable | Not tested | 2020-05-15 16:58:06 |
| 2.2.0 | stable | Not tested | 2020-05-15 14:46:44 |
| 2.1.9 | stable | Not tested | 2019-10-23 15:19:58 |
| 1.2.1 | stable | Not tested | 2019-10-23 14:12:57 |
| 2.1.8 | stable | Not tested | 2019-09-23 15:33:59 |
| 1.2.0 | stable | Not tested | 2019-08-01 14:50:57 |
| 2.1.7 | stable | Not tested | 2019-07-22 14:42:50 |
| 2.1.6 | stable | Not tested | 2019-07-15 16:37:33 |
| 2.1.5 | stable | Not tested | 2019-07-12 10:00:38 |
| 1.1.0 | stable | Not tested | 2019-07-10 13:11:16 |
| 2.1.4 | stable | Not tested | 2019-06-05 14:57:11 |
| 2.1.3 | stable | Not tested | 2019-05-08 10:40:47 |
| 2.1.2 | stable | Not tested | 2019-04-05 13:17:04 |
| 2.1.1 | stable | Not tested | 2018-11-05 12:24:50 |
| 2.1.0 | stable | Not tested | 2018-11-02 17:11:59 |
| 2.0.0 | stable | Not tested | 2018-04-24 12:34:47 |
Requires 1
| Package | Constraint |
|---|---|
| php | ^8.1 |
Requires-dev 1
| Package | Constraint |
|---|---|
| outeredge/dev-dependencies | ^3.0 |
No QA results yet
QA pipelines haven't run for this version. Status appears here once the vendor publishes a tagged release that gets ingested.
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.