XooCode(){

ArchiveComponent

ArchiveComponent is a pending CreativeWork subtype for a single archival item: a manuscript page, a letter, a photograph, a recording reel, a maquette, a digital file held by an archive. It adds two direct properties: holdingArchive (the ArchiveOrganization that physically holds the item) and itemLocation (Place, PostalAddress, or Text for the item's current location within the archive).

Group related ArchiveComponent items into a Collection. The inverse of holdingArchive is archiveHeld on ArchiveOrganization.

Full example of schema.org/ArchiveComponent json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/ArchiveComponent
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ArchiveComponent",
  "name": "Jane Xoo's original JSON-LD whiteboard sketch, 2018-03-22",
  "description": "Photograph of the original whiteboard on which Jane Xoo sketched the first version of the XooStructured validator architecture.",
  "dateCreated": "2018-03-22",
  "holdingArchive": { "@type": "ArchiveOrganization", "name": "Xoo Code Archive", "url": "https://xoocode.com/archive" },
  "itemLocation": "Box 4, Folder 17, Xoo Code Archive, Dunmore PA",
  "isPartOf": { "@type": "Collection", "name": "Xoo Code Archive of Early JSON-LD" },
  "image": "https://xoocode.com/archive/early-jsonld/jx-2018-whiteboard.jpg"
}
</script>

Minimal valid version

The smallest markup that still produces a valid ArchiveComponent entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/ArchiveComponent (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ArchiveComponent",
  "name": "Jane Xoo's JSON-LD whiteboard sketch",
  "holdingArchive": { "@type": "ArchiveOrganization", "name": "Xoo Code Archive" }
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • No dedicated rich result (used by GLAM aggregators)
    Google docs

Common ArchiveComponent mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    ArchiveComponent without a holdingArchive

    Wrong
    ArchiveComponent as a bare CreativeWork with no holdingArchive
    Right
    Always populate holdingArchive so GLAM aggregators can resolve provenance

    The whole point of ArchiveComponent is to encode 'held by' provenance. Without holdingArchive, use plain CreativeWork.

About the example data

A specific archival item: the original 2018 whiteboard photo of Jane Xoo's first JSON-LD sketch, held by the Xoo Code Archive.

Comments

Loading comments...

Leave a comment