Structured Data
Structured Data gives search engines clear machine-readable facts about your products, business and page structure. It can support richer understanding, but it must match what visitors can actually see and what your business really offers.
- 1Enable only schemas that match real product, store and policy information.
- 2Open a public product page and use View Source to find
application/ld+json. - 3Paste the page URL into Google Rich Results Test or Schema Markup Validator and inspect warnings.
The structured data describes the same product, price, availability and visible content as the page. Rich-result display is Google's decision, not a guaranteed outcome.
Remember: Do not add invented ratings, reviews, prices or policies. Frontend verification guide →
The golden rule
Only publish true information. Never invent ratings, reviews, prices, stock, shipping promises, return policies, addresses or business details just to fill a schema field.
Recommended starting schemas
| Schema area | Recommended | What to check |
|---|---|---|
| Organization / Store | Enable/configure | Real store/business name, logo, URL and appropriate contact details. |
| Product | Enable for normal product pages | Name, image, price/currency, availability, brand/identifiers where real. |
| Breadcrumb | Enable | Matches the page's real navigation hierarchy. |
| Shipping details | Enable only when the data is accurate | Countries/regions, rates and delivery information must match store policy. |
| Return policy | Enable only when accurate | Return window, method/fees and policy must match your real terms. |
| Local Business | Only if applicable | Use a real public business location/hours; do not invent local presence. |
| Social profiles | Optional | Link only official profiles owned by the business. |
Product data: what matters most
Good product structured data comes from good OpenCart product data. Improve the source rather than trying to patch schema independently.
- Correct product name
- Current price and currency
- Real stock/availability
- Good product image
- Brand/manufacturer where appropriate
- GTIN/MPN/SKU only when genuine
- Visible ratings/reviews only when they are real and supported
Reviews and ratings
Do not create a rating value manually just because star results look attractive. Aggregate rating/review markup must reflect real review data that belongs to the product/page.
Shipping and returns
These fields are useful only when they accurately represent your store. If your policy differs by country, order value or product type, configure only what the component can represent truthfully.
Recommended workflow
- Complete your real business/store details.
- Check a normal in-stock product with price/image/brand.
- Enable Product + Breadcrumb + appropriate organization/business schema.
- Add shipping/returns only after checking the policy text.
- Open the product page and use a structured-data testing tool/search-engine validator.
- Fix source data if values are missing/wrong.
Does structured data guarantee rich results?
No. Valid structured data helps search engines understand a page, but search engines decide whether and how enhanced results are displayed.
Common mistakes
- Publishing fields that contradict the visible product page.
- Using a logo/image URL that is not publicly accessible.
- Inventing a local-business address.
- Marking unavailable items as in stock.
- Adding fake reviews.
- Assuming more schema types automatically improve ranking.
Troubleshooting
- Validator says a field is missing: first check the OpenCart source product/business data.
- Wrong price/stock: inspect the current product and any special/discount logic.
- Duplicate structured data: another theme/extension may also inject schema. Avoid conflicting duplicate systems.
- Rich result not shown: valid markup does not guarantee search appearance.