OpenCart 4.x Extension ✓ Google-Certified Format

Rich Snippets &
Structured Data
for OpenCart

Automatically inject valid schema.org Product JSON-LD into every product page. Enable star ratings, price, delivery and return info in Google Search — zero code editing.

1 hr free support
No core file edits
Fixes GSC warnings
Instant install
✓ Valid Rich Result
How your OpenCart product pages appear in Google with this extension
30%
Higher click-through
rate in search results
More rich snippets
vs sites without schema
4.2×
Google Shopping
visibility boost
0
Core file edits.
Installs clean.
Google Search Console

Seeing These Warnings
in Your GSC?

Under Shopping → Structured Data, Google flags these two missing fields. Without them, your products may be ineligible for enhanced shopping listings in Google Search.

⚠ Missing required field

Missing field "shippingDetails" (in "offers")

⚠ Missing required field

Missing field "hasMerchantReturnPolicy" (in "offers")
✓ This extension resolves both — and 17 more

These are just the two most visible. Scroll down to see the complete list of 19 GSC structured data warnings this extension eliminates automatically.

Complete Error Coverage

Every GSC Warning.
Resolved.

OpenCart ships with zero structured data. Every product page is a blank slate for Google. Here's the full list of Search Console errors this extension eliminates.

📦 Product Identity 6 warnings
Missing field "description" Uses meta description, falls back to stripped product description
Missing field "image" Passes all product images — main thumb + full gallery array
Missing field "brand" Manufacturer from your OpenCart catalog as a Brand entity
Missing field "sku" Pulls SKU directly from the OpenCart product record
No global identifier provided (gtin / mpn) Smart GTIN detection — EAN/UPC/JAN auto-mapped to gtin8/12/13/14 by digit count. MPN and ISBN also included.
Either "offers", "review", or "aggregateRating" should be specified All three are included in every generated block
💰 Offer & Pricing 7 warnings
Missing field "price" (in "offers") Correct numeric price — no currency symbol, period as decimal, tax-inclusive when configured
Missing field "priceCurrency" (in "offers") ISO 4217 currency code pulled from your store's currency setting
Missing field "priceValidUntil" (in "offers") Auto-set to +1 year from today — always valid, never expired
Missing field "availability" (in "offers") OpenCart stock status mapped to correct schema.org URL — InStock, OutOfStock, PreOrder, LimitedAvailability
Invalid enum value in field "availability" Always outputs https://schema.org/InStock format — never a plain string
Missing field "itemCondition" (in "offers") Declares NewCondition on every offer automatically
Missing strikethrough / sale price declaration priceSpecification with StrikethroughPrice when OpenCart special price is active — Google's Feb 2025 format
🚚 Shipping & Returns 2 warnings
Missing field "shippingDetails" (in "offers") Full OfferShippingDetails block — cost, free shipping threshold, destination, handling & transit time. Configure once in admin.
Missing field "hasMerchantReturnPolicy" (in "offers") Full MerchantReturnPolicy block — return window, method, fees, refund type, label source. Configure once in admin.
Ratings & Reviews 4 warnings
Missing field "aggregateRating" AggregateRating built from OpenCart reviews — ratingValue, reviewCount, bestRating:5. Only output when reviews exist.
Missing field "review" Individual Review objects with author, date, rating, and review body from OpenCart's review system
reviewCount must be a positive integer aggregateRating block is skipped entirely when a product has zero reviews — no invalid zero-count errors
Missing field "bestRating" (in "aggregateRating") Explicitly declares bestRating: 5 on every rating and review object

19 warnings and errors eliminated. Zero code editing required.

Why Rich Snippets Matter

The Numbers Speak
for Themselves

For OpenCart stores competing in crowded niches, structured data is one of the highest-ROI SEO investments available — no paid traffic, no redesign required.

30%
Higher Click-Through Rate
Rich results achieve up to 30% higher CTR compared to standard plain blue-link listings in Google Search.
More Rich Snippets
Websites with schema markup receive 4× more rich snippets in search results than those without structured data.
4.2×
Google Shopping Visibility
Product schema delivers 4.2× higher Google Shopping visibility, reaching more qualified buyers actively searching for your products.

Source: Google Product Structured Data Guidelines

Complete Coverage

Everything Google Reads
Automatically Generated

Every property Google uses to power rich results — all pulled from your existing OpenCart product data, no manual input per product.

Product Name & Description

Core identification: name, URL, and meta description — with automatic fallback to stripped product description.

BreadcrumbList Schema

Full site navigation context injected for Google, improving how your URL and category path appear in search results.

Price & Availability

Triggers price and stock display in rich results. Real-time from your store. Tax-inclusive when your store is configured for it.

Sale / Strikethrough Pricing

When a special price is active, both the sale and original price are declared using priceSpecification — Google's February 2025 format.

Multiple Product Images

All additional product images passed to Google — not just the thumbnail. Better visual coverage and more content for rich results.

Aggregate Rating & Reviews

Enables star ratings directly in search results. bestRating correctly declared at 5. Individual review bodies included.

Brand / Manufacturer

Manufacturer data from your OpenCart catalog included as a Brand entity in the schema, strengthening product identity.

Smart GTIN Detection

EAN, UPC, JAN barcodes auto-mapped to gtin8, gtin12, gtin13, or gtin14 based on digit count. SKU, MPN, ISBN also supported.

Seller Information

Your store name is included in the Offer block as an Organization, helping Google associate the listing with your brand in Shopping results.

Admin Panel

Simple to Configure,
Powerful Results

Set up once from your OpenCart admin. No template editing, no file uploads, no developer needed. Custom theme adjustments provided free of charge if ever needed.

Shipping configuration panel in OpenCart admin — Rich Snippets extension

Shipping Configuration

Set flat-rate shipping, free shipping thresholds, destination country, handling and transit times.

Return policy configuration panel in OpenCart admin — Rich Snippets extension

Return Policy Configuration

Configure return window, method, fees, refund type, and label source for full Google compliance.

General Settings

Enable or disable the extension and individual structured data modules with a single toggle.

Passes Google Rich Results Test

Validate any product page at search.google.com/test/rich-results

Google Search Results

What Shoppers See
Before They Click

Rich results display your price, ratings, stock status, and delivery info directly in Google Search — pre-qualifying buyers and increasing conversion rates.

Standard result vs. Rich result
❌ Without this extension
yourstore.com › products › headphones
Sony WH-1000XM5 Wireless Headphones
Industry-leading noise canceling headphones. Exceptional sound quality with up to 30-hour battery life...
✓ With this extension
yourstore.com › products › headphones
Sony WH-1000XM5 Wireless Headphones
★★★★★ 4.8 (124) · $249.99
✓ In stock  ·  Free delivery by Wed, Feb 26
Industry-leading noise canceling headphones. Exceptional sound quality with up to 30-hour battery life...
Sale pricing with strikethrough
yourstore.com › products › laptop
Laptop Pro 15 — Limited Time Offer
★★★★☆ 4.3 (87) · $899.00 $1,199.00
✓ In stock  ·  Ships in 1–3 days
High-performance laptop with 12-core processor, 16 GB RAM, 1 TB SSD...
"priceSpecification": [
{ "@type": "UnitPriceSpecification",
"price": "899.00" },
{ "@type": "UnitPriceSpecification",
"priceType": "StrikethroughPrice",
"price": "1199.00" }
]
Shipping details in search
yourstore.com › products › camera
Canon EOS R6 Mark II — In Stock
★★★★★ 4.9 (203) · $2,499.00
✓ Free shipping on orders over $100  ·  Est. delivery Feb 26–28
"shippingDetails": {
"shippingRate": { "value": "0.00" },
"freeShippingThreshold": {
"value": "100.00" },
"deliveryTime": {
"transitTime": { "minValue": 2,
"maxValue": 4 }
}
}
Return policy in structured data
yourstore.com › products › watch
Seiko Presage Automatic Watch
★★★★★ 4.7 (56) · $349.00
✓ Free returns  ·  30-day return window
"hasMerchantReturnPolicy": {
"returnPolicyCategory":
"FiniteReturnWindow",
"merchantReturnDays": 30,
"returnFees": "FreeReturn",
"returnMethod": "ReturnByMail",
"refundType": "FullRefund"
}
Admin Configuration

Fix Both GSC Warnings
in 5 Minutes

Configure once. Applied automatically to every product page going forward. No per-product work. No template edits.

Shipping Details

Adds the shippingDetails block to the Offer on every product page.

Flat-rate shipping cost with currency
Free shipping threshold — orders above it auto-marked as free
Destination country + optional region (US / AU / JP)
Handling time — min/max days
Transit time — min/max days

Return Policy

Adds the hasMerchantReturnPolicy block to every product Offer.

Return window: Finite, Unlimited, No Returns, or Unspecified
Return method: By Mail, In Store, or At Kiosk
Return fees: Free, Original Shipping, Restocking, or custom cost
Refund type: Full Refund, Store Credit, or Exchange
Return label: Downloadable, In the Box, or Not Provided
Item condition requirement (optional)
Under the Hood

Valid JSON-LD Generated
on Every Product Page

<!-- Injected automatically before </head> on every product page -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "BreadcrumbList", /* auto from page breadcrumbs */ },
    {
      "@type": "Product",
      "name": "Sony WH-1000XM5",
      "image": [ "…thumb.jpg", "…extra1.jpg", "…extra2.jpg" ],
      "sku": "SONYWH1000XM5",
      "gtin13": "4548736132078", <!-- auto-detected from digit count -->
      "brand": { "@type": "Brand", "name": "Sony" },
      "aggregateRating": { "ratingValue": 4.8, "reviewCount": 124, "bestRating": 5 },
      "offers": {
        "@type": "Offer",
        "price": "249.99", "priceCurrency": "USD",
        "availability": "schema.org/InStock",
        "shippingDetails": { /* configured once in admin → applied everywhere */ },
        "hasMerchantReturnPolicy": { /* configured once in admin → applied everywhere */ }
      }
    }
  ]
}
</script>
Setup

Up and Running
in 3 Steps

No developer. No template changes. No core file edits.

Install via Extension Installer

Upload the .ocmod.zip through OpenCart's built-in Extension Installer. Done in under a minute.

Configure in Admin Panel

Go to Extensions → Modules → Rich Snippets. Set your shipping details and return policy. Enable the module.

Validate with Google

Open any product URL in Google's Rich Results Test and confirm valid structured data is detected.

Free Check

Does Your Store
Need This?

Enter any product page URL from your OpenCart store. Google's Rich Results Test will show you exactly what structured data is missing — and what shoppers aren't seeing in search results.

Compatibility

Works With Your Setup

Designed to be theme-independent. Works through OpenCart's native event system.

OpenCart 4.x
Default OpenCart Theme
Journal3 Theme
Custom Themes
PHP 8.x
Multi-Language Stores
Event-Based — No File Overwrites
Tax-Inclusive Price Support

Custom theme adjustments provided free of charge if needed.

FAQ

Frequently Asked Questions

Yes. The extension uses OpenCart's native event system — it hooks into the product page render cycle rather than modifying any templates directly. It works with any theme, including custom-built ones. If you encounter any compatibility issue, custom adjustments are provided free of charge with every purchase.
Rich results appear once Google recrawls and reindexes your product pages — typically within a few days to a few weeks depending on crawl frequency. You can accelerate this by submitting your sitemap in Google Search Console and using the URL Inspection tool to request indexing of key product pages immediately after installation.
No. Shipping details and return policy are configured once in the admin panel and automatically applied to every product page in your store. Product-specific data — name, price, images, reviews, SKU, GTIN — is pulled automatically from your existing OpenCart product data with zero manual work per product.
Yes. When a product has a special (sale) price set in OpenCart, both the current sale price and the original price are declared using Google's priceSpecification format introduced in February 2025. This enables the strikethrough price display in Google Shopping results and rich snippets automatically.
The extension supports SKU, MPN, and ISBN. For barcodes, it includes smart GTIN detection — EAN, UPC, and JAN values from oc_product_code are automatically mapped to the correct gtin8, gtin12, gtin13, or gtin14 field based on digit count, matching Google's specification exactly.
The extension is built for OpenCart 4.x. It uses OpenCart 4's event system and controller architecture. OpenCart 3.x is not currently supported as the codebase is significantly different. Check the OpenCart Marketplace listing for the latest version compatibility details.
Every purchase includes 1 hour of free support. This covers installation assistance, configuration help, and custom theme adjustments if your theme requires any. Support is provided by the developer via the OpenCart Marketplace messaging system.
⭐ Available on OpenCart Marketplace

Start Getting
Rich Results Today

One-time purchase. No subscription. Works on every product page, automatically, from the moment you enable it.

1 hour free support · Instant download · OpenCart 4.x · No subscription