Automatic SEO Schema Rich Snippets: setup and help
Quick start
- Install the ZIP in Modules > Module Manager and click Configure.
- Open Improve > Schema Rich Snippets > Settings > Configuration and select the required Schema Types.
- Fill Organization and Social Profiles, then review Brand Source and Show Variant Offers under Product Schema.
- Configure Shipping Countries (ISO), Carriers for Shipping Rates, and actual handling and transit times.
- Set Return Policy Placement and review the return window, fees, method, and any product exceptions; save.
- Generate homepage and product previews in Schema Preview.
- Inspect the public JSON-LD and validate real URLs, including prices, variants, shipping, and returns.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Install and open configuration
Upload the ZIP in Modules > Module Manager > Upload a module. Install it, then click Configure. Open Improve > Schema Rich Snippets > Settings > Configuration.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
HTML cleanup requires your core to call actionOutputHTMLBefore. Check the public output on your actual core and theme.
Installation creates the mprschema_override and mprschema_log tables with your database prefix. It stores module settings under mprschema in the shared MPR configuration table.
Select schema types and cleanup
In Schema Types, the following switches default to Yes.
| Setting | Output |
|---|---|
| Product Schema | Product markup on product pages, with variant markup when supported. |
| Organization Schema | Business markup on the homepage. |
| WebSite Schema | Homepage website markup with a search action using the native search URL and ?s={search_term_string}. |
| Breadcrumb Schema | BreadcrumbList on supported non-homepage entity pages when a trail can be built. |
| Category Schema | CollectionPage with category data, product count, and a small product list. |
| CMS Article Schema | Article with CMS text, headline, language, available dates, author, and publisher. |
| Remove Microdata Attributes | Remove supported itemscope, itemtype, itemprop, itemid, and itemref attributes from rendered HTML. |
| Remove Existing JSON-LD | Remove other JSON-LD script blocks from rendered HTML. The module preserves its own marked blocks and marked Smart Breadcrumbs blocks. |
Disable a schema type when you do not want that type published. Review cleanup before saving if another module publishes markup you need to retain. Cleanup operates on rendered HTML and does not edit theme files.
The module does not produce FAQ schema and has no FAQ configuration option.
Configure Product Schema
| Setting | Default | Behavior and when to change it |
|---|---|---|
| Brand Source | Manufacturer | Choose Manufacturer, Supplier, Feature named "Brand", or Store brand (own products). |
| Store Brand Name | Empty | Used for the store-brand source. Empty falls back to organization name or shop name. |
| Default Product Condition | New | Fallback when the product does not provide a supported condition. Other choices are Used and Refurbished. |
| Include Reviews | Yes | Read approved product comments and ratings. Disable to omit review output. |
| Show Variant Offers | Yes | Publish eligible combinations with their own offers and product data. Disable to use the page's single product offer. |
| Variant Properties | No explicit mapping | Map attribute groups to Size, Color, Material, Pattern, Age group, Gender, or Not a variant property. Color groups default to color; other groups need a mapping. |
| Max Product Images | 5 | Set an image limit from 1 to 10. |
Product output reads current catalog data. Available fields include name, URL, description, reference as SKU, EAN-13 as gtin13, UPC as gtin12, ISBN, supplier reference as MPN, brand, images, condition, weight, category, and product features. Offers include price, currency, availability, URL, and seller where available. Products with hidden prices or unavailable ordering do not publish their stored price as an offer.
For products with usable, distinct combination URLs, output can become a ProductGroup containing variant Product records and their offers. If combinations cannot be preselected at distinct URLs, the module falls back to the product page's single offer. Do not expect the former AggregateOffer structure.
Review data comes from approved records in {prefix}product_comment. The module can add an aggregate rating and up to 10 recent reviews. When no approved aggregate rating is available, it can read rating values from the latest active override for that product, without filtering by shop. It does not create ratings without source data.
The module maps available product identifiers directly from the product fields. There is no setting to remap them.
Configure Shipping
| Setting | Default | What to configure |
|---|---|---|
| Include Shipping Details | Yes | Enable rate and delivery-time output when a reliable rate can be calculated. |
| Handling Time Min (days) | 0 | Minimum handling time in whole days. |
| Handling Time Max (days) | 1 | Maximum handling time, at least the minimum. |
| Transit Time Min (days) | 2 | Minimum transit time in whole days. |
| Transit Time Max (days) | 5 | Maximum transit time, at least the minimum. |
| Shipping Countries (ISO) | Empty | Comma-separated two-letter destination codes, such as PL,DE. Empty uses the shop country. |
| Carriers for Shipping Rates | None | Select carriers whose rates should be published. Leave pickup and quote-only carriers out. No carrier selection means no shipping details. |
Rates use one unit of the product and the lowest applicable rate from selected carriers for each destination. The calculator checks carrier ranges, zones, taxes, handling, product surcharges, and supported free-shipping thresholds.
Shipping details may be omitted if the rate depends on an extension, address-specific taxes, carrier modules, warehouse rules, or other unsupported checkout conditions. The module does not substitute a guessed price. Test rates against your checkout before relying on the output.
Configure Returns
| Setting | Default | What to configure |
|---|---|---|
| Include Return Policy | Yes | Enable policy output. |
| Return Policy Placement | Every product offer | Choose the homepage Organization block, every product offer, or both. Organization placement requires Organization Schema enabled. |
| Return Window (days) | 14 | Positive whole days for a finite return window. |
| Return Policy Type | Finite Return Window | Choose Finite Return Window, Unlimited Return Window, or Returns Not Permitted. |
| Return Fees | Free Return | Choose Free Return, Customer Pays Return Shipping, or Fixed Return Fee Charged by the Shop. |
| Return Shipping Fee | Empty | Enter the positive fixed amount if the shop charges a fixed return fee. |
| Currency of the Return Shipping Fee | Empty | Choose the amount's currency. Only shops with that default currency publish the amount. |
| Return Method | Return by Mail | Choose Return by Mail, Return in Store, or Return at Kiosk. |
| Products With Their Own Return Policy | None | Select specific products that use an exception policy on their offers. |
| Return Policy of These Products | Returns Not Permitted | Choose the exception policy type. |
| Return Window of These Products (days) | 0 | Enter positive whole days if the exception uses a finite window. |
Return applicability is built from the shop's delivery countries. Return policy country uses the organization or shop country. It is not derived solely from Shipping Countries (ISO).
Review these values against the policy your shop actually publishes. Saving schema settings does not configure checkout shipping or your returns process. Invalid choices, country codes, day ranges, or required fixed-fee values can prevent the form from saving. Correct the reported fields and save again.
Preview and verify public pages
Open Schema Rich Snippets > Schema Preview. Generate a homepage preview and a preview for a real product, category, or CMS page.
Preview renders applicable schema groups independently of their top-level enable switches. Always check the public URL too. In page source, find application/ld+json blocks marked data-mprschema="1". Confirm prices, currency, availability, identifiers, business details, shipping, and returns against visible page content.
Use the preview screen's validator links to inspect the public URL.
If your custom theme does not call the header hook, add the native call in its head template:
{hook h='displayHeader'}
The module outputs JSON-LD through that hook. It does not add shopper-facing CSS or JavaScript.
Use rating overrides only when needed
There is no ordinary rating editor in this setup flow. The code can read review_count and review_value from {prefix}mprschema_override for an active product record. It does not filter by id_shop, so an override can affect other shops sharing that product ID. Approved comment aggregates take precedence.
If you maintain such records directly, use real reviews, the actual table prefix, product ID and shop ID. The original insertion shape is:
INSERT INTO ps_mprschema_override
(entity_type, entity_id, id_shop, review_count, review_value, active, date_add, date_upd)
VALUES
('product', 123, 1, 42, 4.80, 1, NOW(), NOW());
Replace every example value before use. This stores an aggregate fallback, not individual Review records.
Troubleshoot and uninstall
If markup is missing, check the schema type switch, header hook, entity ID, and page cache. The dashboard reports catalog counts and configuration coverage. Use Settings > Integrity for required infrastructure checks.
If required third-party markup disappears, disable Remove Existing JSON-LD, clear any page cache, and inspect the output again. If duplicate microdata remains, confirm your core calls the output hook and the page has a normal head section.
If shipping details are missing, select carriers and review unsupported pricing conditions. If a return fee is missing, check its amount, selected currency, and each shop's default currency. Compare a simple product and a combination product separately.
Disable the module in Module Manager to stop output. Uninstall removes its menu, module settings, admin preferences, override table, and log table. Export any custom override records you need before uninstalling.
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
7
Administration labels remained in English
Offers published for enquiry-only products
Intended structured data removed during cleanup
Save and stay did not validate settings consistently
Damaged translated labels
Security hardening
Configure did not open the correct settings page
Feature Requests
9
Implemented
Structured offer data for product combinations
Automatic structured data
Installation checks and repair
One-click module updates
Merchant return and shipping policies
Product variant structured data
Product features in structured data
Reusable content variables in structured data
Shop brand as product brand
Changelog
v1.1.102026-06-10
- Certified the release package with the shared package surface gate.
- Synced shared Entity Selector, Search and License package copies.
- Aligned mprschema.php, config.xml and package metadata to the same version.
- Rebuilt the ZIP without development sources or leaked admin package files.
Older releases
v1.1.122026-05-27
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedAdd standard infrastructure checks, tag quality/monitoring checks
v1.1.02026-04-12
- AddedJSON-LD generation for product, offer, breadcrumb, category, CMS article, organization and website schema.
- Addedoptional review/rating output when reliable product comment or override data exists.
- Addedschema cleanup to reduce duplicate microdata/JSON-LD from themes.
v1.1.22025-12-03
- Addedstandard infrastructure and integrity checks.
- Refreshed module translations and PrestaShop scanner parity.
- Addedone-click module update package integration.
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.