PHPackages                             angeo/module-rich-data - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. angeo/module-rich-data

ActiveMagento2-module[API Development](/categories/api)

angeo/module-rich-data
======================

Magento 2 JSON-LD Rich Data for AI Engine Optimization. Injects spec-compliant Product, Organization, BreadcrumbList, FAQPage, and WebSite schema. Fixes the 'Product schema — JSON-LD structured data' signal in angeo/module-aeo-audit.

1.0.2(1mo ago)17↑500%MITPHPPHP &gt;=8.2

Since Apr 18Pushed 1mo agoCompare

[ Source](https://github.com/angeo-dev/module-rich-data)[ Packagist](https://packagist.org/packages/angeo/module-rich-data)[ Docs](https://angeo.dev)[ RSS](/packages/angeo-module-rich-data/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (7)Versions (4)Used By (0)

Angeo Rich Data — Magento 2
===========================

[](#angeo-rich-data--magento-2)

[![Packagist](https://camo.githubusercontent.com/ea0fba2787274fc099206c64efd1ed485313578edd47396061efb68c2c35064d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616e67656f2f6d6f64756c652d726963682d646174612e737667)](https://packagist.org/packages/angeo/module-rich-data)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)[![PHP](https://camo.githubusercontent.com/d840cef9807c8f76051ad687841d67f4d830c84e0d83236968e53124ef6742d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d3838393242462e737667)](https://php.net)

**Fixes the "Product schema — JSON-LD structured data" signal in `angeo/module-aeo-audit`. Injects spec-compliant JSON-LD on product pages, CMS pages, and homepage.**

---

What this module fixes
----------------------

[](#what-this-module-fixes)

AEO Audit signalBeforeAfterProduct schema — JSON-LD structured dataFAIL / WARNPASSFAQPage schema — AI answer eligibilityWARNPASS (on FAQ CMS pages)Product schema — AggregateRatingWARNPASS (when reviews exist)---

Schema types injected
---------------------

[](#schema-types-injected)

SchemaPagesKey fields`Product`All product pagesname, description, image, sku, offers.price, offers.priceCurrency, offers.availability, aggregateRating`Organization`All pagesname, url, logo, sameAs, contactPoint`WebSite`Homepage onlyname, url, potentialAction/SearchAction`BreadcrumbList`Product pagescategory path`FAQPage`CMS pages with FAQ contentauto-detected Q&amp;A pairs---

Installation
------------

[](#installation)

```
composer require angeo/module-rich-data
bin/magento setup:upgrade
bin/magento cache:flush
```

---

Configuration
-------------

[](#configuration)

**Stores → Configuration → Angeo → Rich Data (JSON-LD)**

### Product schema

[](#product-schema)

- Enable/disable
- Include AggregateRating (from Magento reviews)
- Include BreadcrumbList
- Include SKU
- Include Brand (configurable attribute)
- Item condition (New/Used/Refurbished)

### Organization schema

[](#organization-schema)

- Organization name (default: store name)
- Logo URL
- sameAs social URLs (comma-separated)
- Contact telephone + type

### WebSite schema

[](#website-schema)

- Enable/disable
- Include SearchAction (Sitelinks Searchbox)

### FAQPage schema

[](#faqpage-schema)

- Enable/disable — auto-detected from CMS page content

---

FAQ page markup (recommended)
-----------------------------

[](#faq-page-markup-recommended)

Add `data-faq-question` / `data-faq-answer` attributes to your CMS FAQ page for explicit Q&amp;A detection:

```

```

Without these attributes the module uses heuristic detection: `/` followed by `` are treated as question/answer pairs.

---

Extending with custom schemas
-----------------------------

[](#extending-with-custom-schemas)

Implement `Angeo\RichData\Api\Data\SchemaInterface` and register via `di.xml`:

```

            Vendor\Module\Model\JsonLd\Builder\MySchemaBuilder

```

---

CLI validation
--------------

[](#cli-validation)

```
# Validate on random product
bin/magento angeo:rich-data:validate --store=en_us

# Validate specific product on specific store
bin/magento angeo:rich-data:validate --store=en_us --product-id=42
```

Output example:

```
Validating JSON-LD for: [42] Alpine Hiking Jacket
  Store:   default
  URL:     https://mystore.com/alpine-jacket

Found 3 JSON-LD block(s):
  Block 1: @type:Organization — valid JSON ✓
  Block 2: @type:Product — valid JSON ✓
    PASS aggregateRating present
  Block 3: @type:BreadcrumbList — valid JSON ✓

All JSON-LD blocks are valid.

```

---

The Angeo AI Suite
------------------

[](#the-angeo-ai-suite)

ModulePurpose`angeo/module-aeo-audit`AEO audit — detects missing schema`angeo/module-rich-data`**This module** — fixes missing schema`angeo/module-llms-txt`Generates `/llms.txt``angeo/module-openai-product-feed-api`ACP REST API for ChatGPT Shopping---

License
-------

[](#license)

MIT — see [LICENSE](LICENSE)

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance91

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~3 days

Total

3

Last Release

46d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/557748?v=4)[angeo](/maintainers/angeo)[@angeo](https://github.com/angeo)

---

Tags

aeojson-ldmagentomagento2schema-markupstructured-dataJSON-LDstructured-datamagento2schema.organgeoaeoai visibilitychatgpt shoppingrich data

### Embed Badge

![Health badge](/badges/angeo-module-rich-data/health.svg)

```
[![Health](https://phpackages.com/badges/angeo-module-rich-data/health.svg)](https://phpackages.com/packages/angeo-module-rich-data)
```

###  Alternatives

[mollie/magento2

Mollie Payment Module for Magento 2

1131.8M12](/packages/mollie-magento2)[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

68353.9k](/packages/run-as-root-magento2-prometheus-exporter)[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8054.6M39](/packages/smile-elasticsuite)[loki/magento2-components

Core module for defining Alpine.js components with advanced AJAX features

1010.0k22](/packages/loki-magento2-components)[magento/module-upward-connector

Magento module used for routing all frontend requests through UPWARD-PHP.

24427.4k1](/packages/magento-module-upward-connector)[mage-os/module-inventory-reservations-grid

Add a grid with the list of inventory reservations.

1512.6k](/packages/mage-os-module-inventory-reservations-grid)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
