Download the PHP package angeo/module-rich-data without Composer
On this page you can find all versions of the php package angeo/module-rich-data. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download angeo/module-rich-data
More information about angeo/module-rich-data
Files in angeo/module-rich-data
Package module-rich-data
Short Description Magento 2 JSON-LD Rich Data for AI Engine Optimization. Emits a linked @graph with Product, ProductGroup variants, Organization, BreadcrumbList, CollectionPage, FAQPage and WebSite schema. Fixes the 'Product schema — JSON-LD structured data' signal in angeo/module-aeo-audit.
License MIT
Homepage https://angeo.dev
Informations about the package module-rich-data
Angeo Rich Data — Magento 2
Publishes one linked JSON-LD @graph per page so ChatGPT, Gemini, Perplexity and Google read your catalog as connected data instead of loose fragments. Fixes the schema signals in angeo/module-aeo-audit.
What this module fixes
| AEO Audit signal | Before | After |
|---|---|---|
| Product schema — JSON-LD structured data | FAIL / WARN | PASS |
| Merchant policies — return & shipping schema | FAIL | PASS (when enabled & configured) |
| Product schema — AggregateRating | WARN | PASS (when reviews exist) |
| JSON-LD quality — BreadcrumbList | WARN | PASS (product, category and CMS pages) |
| FAQPage schema — AI answer eligibility | WARN | PASS (on pages you nominate) |
Schema types injected
| Schema | Pages | Key fields |
|---|---|---|
Product |
Product pages | name, description, image, sku, gtin/mpn, brand, offers, aggregateRating |
ProductGroup |
Configurable product pages | hasVariant, variesBy, productGroupID, per-variant offers |
Organization |
All pages | name, description, url, logo, sameAs, contactPoint |
WebSite |
Homepage | name, url, publisher |
BreadcrumbList |
Product, category, CMS pages | full trail |
CollectionPage |
Category pages | ItemList of the products on the current page |
FAQPage |
Nominated CMS pages | detected Q&A pairs |
Every node has a stable @id, so offers.seller points at the same Organization on every page of the store rather than repeating a name string.
Installation
Upgrading from 1.x? Read UPGRADE.md — the markup shape changes and prices become tax-inclusive on VAT-display stores.
Output
Prefer the 1.x layout of one script tag per schema? General → Output mode → One script tag per schema.
Configuration
Stores → Configuration → Angeo → Rich Data (JSON-LD)
General
- Enabled
- Output mode —
@graph(default) or legacy one-tag-per-schema
Product schema
- Enable, AggregateRating, SKU, Brand (attribute-driven)
- GTIN / MPN (attribute-driven, off by default)
- Item condition
- Publish configurable products as ProductGroup, and a variant cap
priceValidUntilwindow in days (0 to omit)- In-stock / out-of-stock availability URLs
Prices follow the store's tax display setting, so the marked-up price matches the price on the page. Configurable, grouped and bundle products publish an AggregateOffer with lowPrice and highPrice.
Breadcrumb schema
- Enable — runs on product, category and CMS pages
Merchant policies (return & shipping)
offers.hasMerchantReturnPolicy and offers.shippingDetails, required by Google and ChatGPT Shopping since January 2026. Off by default — enable only once your real return window, shipping rate and delivery times are known, because publishing wrong policy values can hurt eligibility.
Organization schema
Name, description, logo URL, sameAs URLs, contact telephone and type.
WebSite schema
Enable, plus an optional SearchAction. Google removed the sitelinks search box on 21 November 2024, so SearchAction is off by default and produces no Google feature; the option stays for other consumers.
CollectionPage schema
ItemList of the products on the current category page. Paging and sort order are honoured. Layered-navigation filters are not reflected, because the layer is not resolved yet when the page head renders.
FAQPage schema
- Enable
- CMS page identifiers — comma-separated allow-list. Leave empty to allow identifiers containing "faq". The homepage is never treated as an FAQ page.
Google restricts FAQ rich results to government and health sites, so treat this as machine-readable content for AI answer engines rather than a Google rich result.
FAQ page markup
Explicit attributes are the reliable option:
Without them the module falls back to a heuristic: <h2>/<h3> followed by <p>.
Extending with custom schemas
Implement Angeo\RichData\Api\Data\SchemaInterface and register via di.xml:
Set an @id on your root node and it joins the graph like any built-in schema.
CLI validation
Exit code is non-zero when a node is missing an @id, an offer is incomplete or two nodes collide — usable in CI.
Tests
The Angeo AI Suite
| Module | Purpose |
|---|---|
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-robots-txt-aeo |
AI crawler rules in robots.txt |
angeo/module-openai-product-feed-api |
ACP REST API for ChatGPT Shopping |
Security
Found a vulnerability? See SECURITY.md. 2.0.0 fixes a script-breakout issue present in every 1.x release.
License
MIT — see LICENSE
All versions of module-rich-data with dependencies
magento/framework Version >=103.0.0
magento/module-store Version >=101.0.0
magento/module-catalog Version >=104.0.0
magento/module-catalog-inventory Version >=100.4.0
magento/module-configurable-product Version >=100.4.0
magento/module-cms Version >=104.0.0
magento/module-review Version >=100.4.0
magento/module-backend Version >=102.0.0
magento/module-config Version >=101.2.0