Skip to content
Black BoxPersonalization

Understand

The JSON-LD this site publishes

A Person, an Organization, and a WebSite on every page. Lab pages and notes add an Article and the breadcrumb trail.

A script, not a meta tag

JSON-LD is a JSON object inside <script type="application/ld+json">. The page still reads as HTML. A crawler that understands schema.org can read the object as a list of typed things: a person, a site, an article.

@context says the words come from schema.org. @type names the thing. @id is a stable URL for that thing, so another node can point at it with { "@id": "…" } instead of repeating the whole record.

This site prints the scripts in the document body. A < inside the JSON is written as \u003c so the HTML parser does not treat it as a tag.

Person

Neil Black

The author node. Its URL is the about page. sameAs is an empty list until the public profiles are confirmed.

Organization

Black Box Personalization

The site as a publisher. founder points at the person. sameAs is empty here too.

WebSite

Every page

The site node names the origin and the description. Its publisher is the organization. Lab pages and notes add a second script.

The graph for a path

Pick a public path. The JSON is the same object the layout prints. Lab pages and notes add an Article and a breadcrumb list. Other paths keep the site graph. The SEO lab reads these scripts back out of the HTML.

  • Parse

    pass

    2 scripts parse as JSON.

  • @context

    pass

    Each script names https://schema.org.

  • Site graph

    pass

    Person, Organization, and WebSite are present.

  • Article

    pass

    This path adds an Article and a BreadcrumbList.

  • Dates

    pass

    datePublished and dateModified are YYYY-MM-DD.

  • sameAs

    pass

    sameAs is a list on 2 nodes.

  • FAQPage

    pass

    No FAQPage node. Questions on the page stay in the HTML.

Site

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Person",
      "@id": "https://www.blackboxpersonalization.com/#neil-black",
      "name": "Neil Black",
      "url": "https://www.blackboxpersonalization.com/about",
      "sameAs": []
    },
    {
      "@type": "Organization",
      "@id": "https://www.blackboxpersonalization.com/#organization",
      "name": "Black Box Personalization",
      "url": "https://www.blackboxpersonalization.com",
      "sameAs": [],
      "founder": {
        "@id": "https://www.blackboxpersonalization.com/#neil-black"
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://www.blackboxpersonalization.com/#website",
      "name": "Black Box Personalization",
      "url": "https://www.blackboxpersonalization.com",
      "description": "How metrics are collected in the browser, on the network, and at the server, and how those same signals personalize a page.",
      "inLanguage": "en",
      "publisher": {
        "@id": "https://www.blackboxpersonalization.com/#organization"
      }
    }
  ]
}

This page

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "headline": "JSON-LD structured data explained",
      "description": "How this site writes JSON-LD: a Person, an Organization, and a WebSite on every page, and an Article with breadcrumbs on lab pages and notes.",
      "inLanguage": "en",
      "mainEntityOfPage": "https://www.blackboxpersonalization.com/lab/json-ld",
      "datePublished": "2026-10-08",
      "dateModified": "2026-10-08",
      "image": "https://www.blackboxpersonalization.com/opengraph-image",
      "author": {
        "@id": "https://www.blackboxpersonalization.com/#neil-black"
      },
      "publisher": {
        "@id": "https://www.blackboxpersonalization.com/#organization"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.blackboxpersonalization.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Lab",
          "item": "https://www.blackboxpersonalization.com/lab"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "JSON-LD structured data explained",
          "item": "https://www.blackboxpersonalization.com/lab/json-ld"
        }
      ]
    }
  ]
}
Why these picks

Reading path transitions…