, (*1)
outer/edge Structured Data Module for Magento 2
Hyvä and Breeze compatible., (*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., (*3)
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, (*4)
This will look similar to the below:, (*5)
<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:, (*6)
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
- highPrice
- lowPrice
Contact Page
- @type
- @id
- name
- image
- address
- telephone
- email
- 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:, (*7)
Structured Data (Product)
, (*8)
-
Enable: Enable or disable structured data on product pages.
-
Use Short Description: Use
short_description
attribute for the description
markup. By default description
will 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
weight
schema to product page structured data.
-
Product Brand/Manufacturer field: Choose which Magento attribute is used to populate the structured data values.
-
Brand (Default:
manufacturer
or brand
)
-
MPN (Default: empty)
-
ISBN (Default: empty)
-
Size (Default: empty)
-
GTIN (Default: empty)
-
Color (Default:
Color
or Colour
)
-
Material (Default: empty)
-
Keywords (Default: empty)
Structured Data (CMS Page)
, (*9)
-
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)
, (*10)
-
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:, (*11)
, (*12)
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:, (*13)
{
products(
filter: {
...
}
) {
items {
sku
name
structured_data
}
}
}
Uninstalling the module
Remove via Composer
composer remove outeredge/magento-structured-data-module
References
https://developers.google.com/search/docs/guides/intro-structured-data
https://developers.google.com/search/docs/advanced/structured-data/product, (*14)
Structured data syntax is based on
http://schema.org/, (*15)