Structured Data & Schema Markup

Learn how to implement structured data and schema markup to earn rich results in Google. Covers types, implementation, testing, and SEO impact.

Intermediate10 min readUpdated 04 Mar 2026Bukhosi Moyo

Structured data is code added to your web pages that helps search engines understand the meaning and context of your content. When implemented correctly, it can trigger rich results in Google — enhanced search listings with stars, images, FAQs, breadcrumbs, and more. While not a direct ranking factor, rich results significantly increase click-through rates and visibility.

Quick Answer
  • Structured data is code (usually JSON-LD) that tells search engines exactly what your content represents — articles, products, events, FAQs, etc.
  • It enables rich results — enhanced SERP listings with visual elements like stars, prices, images, and FAQ dropdowns.
  • Structured data is not a direct ranking factor, but rich results increase CTR, which drives more traffic.
  • JSON-LD is the recommended format — embedded in a <script> tag, separate from the HTML content.
  • Google provides a Rich Results Test to validate your implementation before deployment.

If you want the full breakdown, continue below.

What Is Structured Data?

Structured data uses a standardised vocabulary (schema.org) to describe the content on your pages in a machine-readable format.

Without structured data, Google must infer what your content represents by analysing text, HTML elements, and context. With structured data, you explicitly tell Google:

  • This page is an Article written by Bukhosi Moyo on 2026-03-04
  • This is a LocalBusiness located at 123 Main Road, Pretoria
  • This section contains FAQs with specific questions and answers
  • This is a Product priced at R8,999 with a 4.5-star rating

Schema Types Most Useful for SEO

Organisation Schema

Defines your business entity for Google's Knowledge Graph:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Symaxx",
  "url": "https://symaxx.co.za",
  "logo": "https://symaxx.co.za/logo.png",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+27-xx-xxx-xxxx",
    "contactType": "customer service"
  },
  "sameAs": [
    "https://www.linkedin.com/company/symaxx",
    "https://www.facebook.com/symaxx"
  ]
}

Place on: Homepage

LocalBusiness Schema

For businesses serving local customers:

{
  "@context": "https://schema.org",
  "@type": "ProfessionalService",
  "name": "Symaxx",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Road",
    "addressLocality": "Pretoria",
    "addressRegion": "Gauteng",
    "postalCode": "0001",
    "addressCountry": "ZA"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "-25.7479",
    "longitude": "28.2293"
  }
}

Place on: Homepage and location pages

Article Schema

For blog posts and documentation:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "What Is SEO?",
  "description": "A complete beginner's guide to search engine optimisation.",
  "author": {
    "@type": "Person",
    "name": "Bukhosi Moyo"
  },
  "datePublished": "2026-03-04",
  "dateModified": "2026-03-04"
}

Place on: Blog posts, documentation pages

FAQ Schema

Adds expandable FAQ questions directly in search results:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does SEO take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most SEO campaigns show measurable results within 3-6 months..."
      }
    }
  ]
}

Place on: Pages with FAQ sections

BreadcrumbList Schema

Shows breadcrumb navigation in search results:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Resources", "item": "https://symaxx.co.za/resources" },
    { "@type": "ListItem", "position": 2, "name": "SEO", "item": "https://symaxx.co.za/resources/seo" },
    { "@type": "ListItem", "position": 3, "name": "Technical SEO", "item": "https://symaxx.co.za/resources/seo/technical-seo" }
  ]
}

Place on: All pages with breadcrumb navigation

Other Useful Schema Types

Schema Type Rich Result Use Case
Product Price, availability, reviews E-commerce product pages
Review / AggregateRating Star ratings Product/service reviews
HowTo Step-by-step with images Tutorial pages
Video Video thumbnail with duration Pages with embedded video
Event Date, time, location Event listing pages
Service Service details Service pages

Implementation Format: JSON-LD

Google recommends JSON-LD (JavaScript Object Notation for Linked Data) as the preferred structured data format.

Why JSON-LD:

  • Separate from HTML content — no risk of breaking page layout
  • Easy to add and modify
  • Can be dynamically generated
  • Google's recommended format

Where to place JSON-LD:

Add it in a <script> tag in the <head> or <body> of the page:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Structured Data & Schema Markup"
}
</script>

Other Formats (Not Recommended)

  • Microdata — embedded in HTML attributes. Harder to implement and maintain.
  • RDFa — similar to Microdata. Rarely used for SEO.

Use JSON-LD unless you have a specific reason not to.

Testing & Validation

Google Rich Results Test

URL: search.google.com/test/rich-results

  • Paste your URL or code
  • View which rich result types are detected
  • Identify errors and warnings
  • Preview how rich results will appear

Schema Markup Validator

URL: validator.schema.org

  • Validates against the full schema.org specification
  • More detailed than the Rich Results Test
  • Identifies structural issues

Google Search Console — Enhancements

After deployment, monitor structured data in Search Console:

  • Navigate to the "Enhancements" section
  • View reports for each schema type detected
  • Identify pages with errors, warnings, and valid markup
  • Track rich result eligibility over time

Common Structured Data Mistakes

Marking up content that does not exist on the page. Structured data must describe content visible on the page. Adding FAQ schema for questions not on the page violates Google's guidelines.

Incorrect nesting. Schema types have specific property requirements. Validate with the Rich Results Test before deploying.

Missing required properties. Each schema type has required fields. Missing them prevents rich result eligibility.

Spammy markup. Fake reviews, misleading product information, or self-serving FAQ schema can result in a manual action from Google.

Not monitoring after deployment. Structured data can break when templates change. Monitor Search Console Enhancements regularly.

Key Takeaways

  • Structured data tells Google exactly what your content represents using machine-readable code.
  • It enables rich results that increase visibility and click-through rates.
  • JSON-LD is the recommended format — clean, separate from HTML, and easy to maintain.
  • Essential schema types: Organisation, Article, FAQ, BreadcrumbList, and LocalBusiness.
  • Always validate with Google's Rich Results Test before deployment.
  • Monitor structured data health in Google Search Console Enhancements.

Quick Structured Data Checklist

  • Organisation schema on homepage
  • Article schema on blog posts and documentation
  • BreadcrumbList schema on content pages
  • FAQ schema on pages with FAQ sections
  • LocalBusiness schema on location pages (if applicable)
  • All schema validated with Rich Results Test
  • No markup for content not visible on the page
  • Required properties present for each schema type
  • JSON-LD format used (not Microdata)
  • Monitored in Search Console Enhancements monthly

Tools & Resources (Coming Soon)

  • Schema Markup Generator (Coming soon)
  • Rich Results Preview (Coming soon)
  • Structured Data Validator (Coming soon)

Related SEO Documentation

Was this helpful?