Search results are no longer just blue links. Product listings show prices and availability, articles show dates and images, and breadcrumbs replace long URLs. Much of that comes from structured data. This schema markup guide explains what schema is in plain terms, which types are worth implementing for a business website, how to add it with JSON-LD, and how to test it so it keeps working after every update.
What schema markup is
Schema markup is a standardized vocabulary, maintained at schema.org, that describes what the content on a page represents. Your HTML tells the browser how to display a product page. Schema tells search engines that the page is a Product with a specific name, price, currency and availability.
Search engines use that information in two ways:
- Understanding — connecting your pages to entities like your organization, your products and your authors.
- Rich results — enhanced listings that may show ratings, prices, breadcrumbs, event dates and more.
Structured data does not guarantee rich results, and Google states it is not a general ranking factor. It makes your pages eligible and easier to interpret, which is valuable in its own right.
The three formats, and which to use
| Format | How it works | Recommendation |
|---|---|---|
| JSON-LD | A separate <script type="application/ld+json"> block |
Preferred by Google; easiest to maintain |
| Microdata | Attributes added inside your HTML elements | Works, but couples data to layout |
| RDFa | Attributes in HTML, similar to Microdata | Rarely used on business sites today |
For almost every modern site, use JSON-LD. It can be generated from your database in your templates, so it updates automatically when content changes.
Schema types that matter for business websites
You do not need to mark up everything. Start with the types that match your content and have clear benefits.
Organization and LocalBusiness
Add Organization markup on your home page with your legal name, logo, website URL, contact details and links to official social profiles using sameAs. If you serve customers at a physical location, use LocalBusiness or a more specific subtype (for example MedicalClinic or Store) with address, opening hours and geo-coordinates. This supports local SEO as well.
BreadcrumbList
Breadcrumb markup describes a page's position in your site hierarchy. It is simple to generate from your navigation and helps search engines understand site structure.
Product and Offer
For e-commerce and product catalogues, Product markup with nested Offer data (price, currency, availability) and, where genuine, AggregateRating is one of the most valuable implementations. Keep price and stock in sync with your database. Stale prices in markup are a common source of errors.
Article and BlogPosting
For blog and news content, Article or BlogPosting markup with headline, author, publish and modified dates, and a representative image helps search engines understand freshness and authorship.
FAQPage, HowTo and others
FAQPage markup can be used on pages that genuinely contain questions and answers, though Google now shows FAQ rich results only for a limited set of sites. It can still help search engines understand page content. Other types such as Event, JobPosting, Course and VideoObject are worth adding where they match your content.
Key takeaway: Mark up what is actually on the page, starting with Organization, Breadcrumbs and your core content type. Accurate, automated markup beats extensive, hand-written markup that goes stale.
How to add schema markup: step by step
- Inventory your templates. List your page types: home, service, product, category, article, location, contact.
- Choose a schema type per template. Map each template to the most specific relevant type.
- Check required and recommended properties. Google's Search Central documentation lists them for each rich result type.
- Generate JSON-LD from your data. In a custom platform, build it in the template or a helper class from the same fields that render the page. On WordPress, a well-maintained SEO plugin may cover the basics.
- Connect entities with
@id. Give your Organization a stable@idand reference it as the publisher of articles and the brand of products. This builds a consistent graph. - Test before deploying. Use Google's Rich Results Test and the Schema Markup Validator on staging pages.
- Deploy and monitor. Check the Enhancements reports in Search Console for errors and warnings after release.
A simplified Product example looks like this:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Industrial Voltage Stabilizer 10 kVA",
"image": "https://example.com/images/stabilizer-10kva.jpg",
"brand": { "@type": "Brand", "name": "Example Brand" },
"offers": {
"@type": "Offer",
"price": "1450.00",
"priceCurrency": "CAD",
"availability": "https://schema.org/InStock"
}
}
Schema markup guide: common mistakes to avoid
These are the issues we see most often during audits:
- Markup that does not match the page. Ratings in schema that are not visible to users, or prices that differ from the displayed price.
- Self-serving reviews. Marking up reviews of your own business on your own site has restricted eligibility for review rich results.
- Duplicate, conflicting blocks. A theme, a plugin and a custom script each outputting their own Organization markup with different details.
- Hard-coded values. Markup written once by hand and never updated as products, prices or authors change.
- Wrong type. Using generic
ThingorWebPagewhere a specific type exists. - Ignoring warnings. Missing recommended properties do not break markup, but they can reduce eligibility for enhanced features.
Choosing schema by business type
Different businesses get value from different combinations. As a starting point:
| Business type | Core schema types | Notes |
|---|---|---|
| Corporate or professional services | Organization, LocalBusiness, BreadcrumbList, Article | Add Service where it describes clear offerings |
| Clinic or healthcare provider | MedicalClinic or MedicalBusiness, Physician, BreadcrumbList | Keep medical claims accurate and reviewed |
| Manufacturer or product catalogue | Organization, Product, BreadcrumbList | Offers only where prices are actually published |
| Online store or marketplace | Product, Offer, AggregateRating, BreadcrumbList | Sync price and stock automatically |
| Publisher or blog-heavy site | Article or BlogPosting, Person (author), BreadcrumbList | Use accurate published and modified dates |
| Recruiter or employer | JobPosting, Organization | Remove or expire postings when roles are filled |
A manufacturer that does not publish prices, for example, should still use Product markup for names, images, brand and descriptions, but should not invent an Offer with a placeholder price just to satisfy a validator. Missing recommended properties produce warnings; fabricated data produces bigger problems.
Who should own structured data?
In many organizations, structured data falls between teams: marketing asks for it, developers implement it once, and nobody owns it afterwards. Assign a clear owner, usually the developer or team responsible for templates, with SEO input on which types and properties to support. Document the mapping between your content fields and schema properties so new team members can maintain it.
Schema in multilingual and multi-region sites
If your site runs in several languages, generate structured data in the language of each page. Product names, descriptions and article headlines should match the localized content. Use the correct currency for each regional version. Our guide to international SEO and hreflang covers the wider setup.
Maintaining structured data over time
Structured data is not a one-off task. Templates change, new content types are added and Google updates its supported features. Build these habits:
- Include schema checks in your release checklist.
- Review Search Console enhancement reports monthly.
- Re-test key templates after design or CMS changes.
- Remove markup for types Google no longer supports in rich results only if it adds no understanding value; otherwise leaving valid markup is harmless.
Next steps
Schema markup works best when it is generated from your real data rather than bolted on. DigiVort's engines, including Apex CMS and T-Rex Commerce, output structured data from content and product records so it stays accurate as your site grows. If you want your existing site reviewed or your templates upgraded, see our SEO and content services or start a conversation through the project wizard.


