Use a schema example as a model, not as a sticker. Read the type, identify every claimed fact, and replace the sample values with information the visible page can support.

The examples below are deliberately complete enough to show the relationships. They are still starting points. Your page, content type, and current platform rules decide the final properties.

Try each example while you read. Paste the JSON-LD into the Schema Markup Checker and watch the detected types change from one graph to the next.

Choose the example that matches the page

ExampleBest fitMain lesson
ArticleEditorial pageConnect author, publisher, and page
Organization and WebSiteSite identityReuse stable entity IDs
Product and OfferProduct detail pageMatch offer facts to the page
BreadcrumbListVisible navigation trailKeep positions and URLs aligned

Article with a connected WebPage, author, and publisher

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "North Star Bakery",
      "url": "https://example.com/"
    },
    {
      "@type": "Person",
      "@id": "https://example.com/about/maya-chen/#person",
      "name": "Maya Chen",
      "url": "https://example.com/about/maya-chen/"
    },
    {
      "@type": "WebPage",
      "@id": "https://example.com/sourdough-schedule/#webpage",
      "url": "https://example.com/sourdough-schedule/",
      "name": "A Better Sourdough Schedule",
      "isPartOf": {"@id": "https://example.com/#website"}
    },
    {
      "@type": "Article",
      "@id": "https://example.com/sourdough-schedule/#article",
      "headline": "A Better Sourdough Schedule",
      "datePublished": "2026-10-10",
      "dateModified": "2026-11-02",
      "author": {"@id": "https://example.com/about/maya-chen/#person"},
      "publisher": {"@id": "https://example.com/#organization"},
      "mainEntityOfPage": {"@id": "https://example.com/sourdough-schedule/#webpage"}
    }
  ]
}

The Article points to a Person, Organization, and WebPage by stable identifiers. Those nodes can be reused across the site. The missing WebSite node should be defined in the complete site graph if the WebPage points to it.

Change the headline, dates, URLs, author, and publisher. Do not leave Maya Chen or North Star Bakery in your production markup.

Organization and WebSite identity graph

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#organization",
      "name": "North Star Bakery",
      "url": "https://example.com/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://example.com/images/logo.png"
      },
      "sameAs": [
        "https://www.instagram.com/northstarbakery",
        "https://www.linkedin.com/company/northstarbakery"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://example.com/#website",
      "url": "https://example.com/",
      "name": "North Star Bakery",
      "publisher": {"@id": "https://example.com/#organization"}
    }
  ]
}

Use sameAs only for URLs that identify the same organization. A partner, news article, product page, or related business is not the same entity.

Product with a current Offer

{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example.com/grinders/orbit-one/#product",
  "name": "Orbit One Burr Grinder",
  "image": "https://example.com/images/orbit-one.jpg",
  "description": "A compact steel burr grinder with 24 settings.",
  "sku": "ORB-ONE-24",
  "brand": {
    "@type": "Brand",
    "name": "Orbit Coffee Tools"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/grinders/orbit-one/",
    "priceCurrency": "USD",
    "price": 129.00,
    "availability": "https://schema.org/InStock"
  }
}

The visible page must show the same product identity and offer. If the price or availability changes, update the page and markup together. Do not add aggregate ratings or reviews unless the page shows real source material that meets the applicable rules.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Grinders",
      "item": "https://example.com/grinders/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Orbit One Burr Grinder"
    }
  ]
}

Positions start at one and continue in order. The visible breadcrumb should tell the same story. Google allows the final item to omit its URL because the current page is already known.

What every example leaves for you to decide

  • Whether the type matches the main page job
  • Which properties the visible content can support
  • Which IDs belong to recurring entities
  • Which current Google feature rules apply
  • How the website keeps markup synchronized with content changes

Copying a valid example does not answer those questions. The implementation becomes yours only when the values and relationships belong to your page.

Test the changed version, not this sample

Paste your edited block into the Schema Markup Checker. Then use the complete testing workflow on the public URL.

If the checker reports a problem, open Schema Markup Errors and How to Fix Them before adding more properties.