outeredge / magento-structured-data-module

outeredge/magento-structured-data-module

Magento Structured Data Module by outer/edge

magento2-module 2.4.6-2.4.9 Compatible Based on composer requirements only QA: failed MIT

Packagist
Packagist
Packagist

outer/edge Structured Data Module for Magento 2

Hyvä and Breeze compatible.

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
  • 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:

Products

[image: structured_data-product]

  • 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)

CMS Pages

[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".

Organization

[image: structured_data-contact]

  • Type: Select whether business in a Local Business or Organization.
  • Latitude: Specify latitude for local business.
  • Longitude: Specify longitude for local business.
  • Enable on Home Page: Enable or disable Organization structured data on Home page.
  • Enable on Contact Page: Enable or disable Organization structured data on Contact page.
  • Related Pages Populates "SameAs" property. Add links to related pages, for example Facebook, Linked In and other social media sites.

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

http://schema.org/

No changelog yet

The vendor hasn't published a changelog. Tagged releases appear in the Versions tab.

Versions
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
QA results
Tool Status Findings Summary
PHPCS Pass 0
PHPStan Fail 55 55 errors (level 5, ruleset: phpstan + bitexpert/phpstan-magento) · +257 advisory to level max
Cpd Pass 0
Security Pass 0
License
MIT
Authors
Make it pay

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.