Skip to content
Make your website fast and easy to find

Lesson 3 of 6

Structured data & schema markup

8 min read

What schema does

Structured data (schema.org, usually as JSON-LD) labels your content so engines understand it unambiguously: this is an Organization, a Product with this price, an Article by this author, a FAQ. It powers rich results (stars, FAQs, prices in the SERP) and helps AI engines extract facts confidently.

High-value types

  • Organization / LocalBusiness — your identity, location, hours (foundational for local + entity).
  • Product / Offer — price, availability, reviews for e-commerce.
  • Article / BlogPosting — author, dates for content.
  • FAQPage / HowTo — Q&A and steps, frequently cited by AI.
  • BreadcrumbList — hierarchy in the SERP.

A real example you can copy

A filled-in LocalBusiness block — swap in your own facts and place it in the page's HTML:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Riverside Plumbing Co.",
  "telephone": "+1-512-555-0142",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "820 W 5th St",
    "addressLocality": "Austin",
    "addressRegion": "TX",
    "postalCode": "78703",
    "addressCountry": "US"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 30.2705, "longitude": -97.7548 },
  "url": "https://riversideplumbing.example",
  "openingHours": "Mo-Fr 08:00-18:00"
}
</script>

And a two-question FAQPage, for a page that genuinely shows those Q&As:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you offer emergency plumbing service?",
      "acceptedAnswer": { "@type": "Answer", "text": "Yes. We answer 24/7 and can usually reach central Austin within 60 minutes." }
    },
    {
      "@type": "Question",
      "name": "How much does a service call cost?",
      "acceptedAnswer": { "@type": "Answer", "text": "Our standard call-out is a flat 89 dollars, credited toward the repair if you go ahead." }
    }
  ]
}
</script>

Values above are illustrative — replace each with your own real, on-page facts, then confirm it passes Google's Rich Results Test.

Do it right

  • Use JSON-LD in the head/body (Google's preferred format).
  • Mark up only what's actually visible on the page — don't fabricate.
  • Validate with the Rich Results Test and Search Console's enhancement reports.
  • Keep it in sync as content changes (GrowMyWebsite's plugin/snippet does this automatically).

Schema is one of the highest-leverage technical wins for both Google rich results and getting cited by AI.

You can read every lesson for free — no account needed. To save your progress and earn a certificate, you'll need a free account. Create one or sign in whenever you're ready — you won't lose your place.

Saving your progress needs a free account — we'll ask you to sign in.