{"id":21542139,"url":"https://github.com/outeredge/magento-structured-data-module","last_synced_at":"2025-04-10T03:55:17.734Z","repository":{"id":37458169,"uuid":"98182090","full_name":"outeredge/magento-structured-data-module","owner":"outeredge","description":"Magento Structured Data Module by outer/edge","archived":false,"fork":false,"pushed_at":"2025-03-13T09:36:50.000Z","size":681,"stargazers_count":65,"open_issues_count":6,"forks_count":14,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-10T03:55:02.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/outeredge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-24T11:10:06.000Z","updated_at":"2025-03-27T13:22:13.000Z","dependencies_parsed_at":"2023-09-26T13:07:05.388Z","dependency_job_id":"ca37c38c-b936-466c-9178-23a30e42b1fa","html_url":"https://github.com/outeredge/magento-structured-data-module","commit_stats":{"total_commits":117,"total_committers":8,"mean_commits":14.625,"dds":0.6068376068376069,"last_synced_commit":"97a7b54cfcfa6c2e81ef8212039564d1ab1cdf42"},"previous_names":[],"tags_count":85,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-structured-data-module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-structured-data-module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-structured-data-module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/outeredge%2Fmagento-structured-data-module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/outeredge","download_url":"https://codeload.github.com/outeredge/magento-structured-data-module/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248155000,"owners_count":21056542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T05:08:39.278Z","updated_at":"2025-04-10T03:55:17.713Z","avatar_url":"https://github.com/outeredge.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Packagist](https://img.shields.io/packagist/v/outeredge/magento-structured-data-module?style=for-the-badge)](https://packagist.org/packages/outeredge/magento-structured-data-module)\n[![Packagist](https://img.shields.io/packagist/dt/outeredge/magento-structured-data-module?style=for-the-badge)](https://packagist.org/packages/outeredge/magento-structured-data-module)\n[![Packagist](https://img.shields.io/packagist/dm/outeredge/magento-structured-data-module?style=for-the-badge)](https://packagist.org/packages/outeredge/magento-structured-data-module)\n\n# outer/edge Structured Data Module for Magento 2\n\n[Hyvä](https://hyva.io) and [Breeze](https://breezefront.com/) compatible.\n\nOur 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. \n\nOnce this module is installed you will have valid structured data in the source of your product, contact and CMS pages. For example:\nhttps://developers.google.com/search/docs/advanced/structured-data/product\n\nThis will look similar to the below:\n\n```\n\u003cscript type=\"application/ld+json\"\u003e\n{\n    \"@context\": \"https://schema.org/\",\n    \"@type\": \"Product\",\n    \"@id\": \"https://example.co.uk/blue-t-shirt#Product\",\n    \"brand\": {\n            \"@type\": \"Brand\",\n            \"name\": \"Nike\"\n    },\n    \"aggregateRating\": {\n        \"@type\": \"AggregateRating\",\n        \"bestRating\": \"100\",\n        \"worstRating\": \"1\",\n        \"ratingValue\": \"4.55\",\n        \"reviewCount\": \"5\"\n    },\n    \"name\": \"Nike Blue T-Shirt\",\n    \"sku\": \"blue-t-shirt\",\n    \"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.\",\n    \"image\": \"https://example.co.uk/media/catalog/product/b/t/blue-t-shirt.jpg\",\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https://example.co.uk/blue-t-shirt\",\n        \"price\": 18.99,\n        \"priceCurrency\": \"GBP\",\n        \"priceSpecification\": {\n            \"@type\": \"UnitPriceSpecification\",\n            \"price\": 18.99,\n            \"priceCurrency\": \"GBP\",\n            \"valueAddedTaxIncluded\": true\n        },\n        \"availability\": \"http://schema.org/InStock\",\n        \"itemCondition\": \"http://schema.org/NewCondition\"\n    }\n}\n\u003c/script\u003e\n```\n\nThe module provides the following structured data:\n\n### Product Page (GraphQL available)\n\n* @type\n* @id\n* name\n* sku\n* description\n* image\n* weight\n* brand\n* aggregateRating\n  * bestRating\n  * worstRating\n  * ratingValue\n  * reviewCount\n* mpn\n* material\n* color\n* price\n* priceCurency\n* valueAddedTaxIncluded\n* availability\n* itemCondition\n* AggregateOffer\n  * offers\n* highPrice\n* lowPrice\n\n### Contact Page\n\n* @type\n* @id\n* name\n* image\n* address\n* telephone\n* email\n* url\n* geo\n\n### CMS Page\n\n* name\n* mainContentOfPage\n* description\n* primaryImageOfPage\n\n## Installation\n\n#### Install via Composer\n\n```\ncomposer require outeredge/magento-structured-data-module\n```\n\n#### Review configuration for Structure Data Module\n\nConfiguration is available in `Stores \u003e Configuration \u003e outer/edge \u003e Structured Data`. The following options are available:\n\n#### Products\n\n![structured_data-product](/assets/config-product.png)\n\n* **Enable:** Enable or disable structured data on product pages.\n* **Use Short Description:** Use `short_description` attribute for the `description` markup. By default `description` will be used.\n* **Include ChildProducts:** Choose whether to include individual offer for each child (simple) product for structured data on configurable product pages.\n* **Include Product Weights:** Ad `weight` schema to product page structured data.\n* **Product Brand/Manufacturer field:** Choose which Magento attribute is used to populate the structured data values.\n  - **Brand** (Default: `manufacturer` or `brand`)\n  - **MPN** (Default: empty)\n  - **ISBN** (Default: empty)\n  - **Size** (Default: empty)\n  - **GTIN** (Default: empty)\n  - **Color** (Default: `Color` or `Colour`)\n  - **Material** (Default: empty)\n  - **Keywords** (Default: empty)\n\n#### CMS Pages\n\n![structured_data-cms](/assets/config-cms.png)\n\n* **Enable:** Enable or disable structured data on CMS pages.\n* **Enable About Page:** Enable or disable `\"@type\": \"AboutPage\"`.\n* **About Page:** Select the CMS page for  `\"@type\": \"AboutPage\"`.\n\n#### Organization\n\n![structured_data-contact](/assets/config-organization.png)\n\n* **Type:** Select whether business in a Local Business or Organization.\n* **Latitude:** Specify latitude for local business.\n* **Longitude:** Specify longitude for local business.\n* **Enable on Home Page:** Enable or disable Organization structured data on Home page.\n* **Enable on Contact Page:** Enable or disable Organization structured data on Contact page.\n* **Related Pages** Populates \"SameAs\" property. Add links to related pages, for example Facebook, Linked In and other social media sites.\n\nOnce the module is installed and configured you will find the schema markup in your source code:\n\n![schema_screenshot](/assets/screenshot-schema.png)\n\n## GraphQL\n\nOur 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:\n\n```\n{\n  products(\n    filter: {\n        ...\n    }\n  ) {\n    items {\n      sku\n      name\n      structured_data\n    }\n  }\n}\n```\n\n\n## Uninstalling the module\n\n####  Remove via Composer\n\n```\ncomposer remove outeredge/magento-structured-data-module\n```\n\n### References\n\n#### Google docs for structured data format (using JSON-LD format)\nhttps://developers.google.com/search/docs/guides/intro-structured-data\nhttps://developers.google.com/search/docs/advanced/structured-data/product\n\n#### Structured data syntax is based on\nhttp://schema.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouteredge%2Fmagento-structured-data-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fouteredge%2Fmagento-structured-data-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fouteredge%2Fmagento-structured-data-module/lists"}