Linking Schemas Together
Session 5.9 · ~5 min read
From Isolated Blocks to an Entity Graph
In the previous sessions, you created individual schema blocks: Organization, LocalBusiness, Person, Product, Service, BreadcrumbList, FAQPage. Each is valuable on its own. But their real power emerges when they are connected. Connected schema blocks create a mini knowledge graph on your own website, a structured map of your entity and all its relationships.
Google reads these connections. When it sees that your Organization has a founder (Person), makes products (Product), provides services (Service), and operates from a location (LocalBusiness), it builds a richer, more complete picture of your entity than any single schema block could provide.
Individual schema blocks tell Google facts. Connected schema blocks tell Google relationships. The Knowledge Graph is built on relationships, not isolated facts.
The Connection Map
Each schema type connects to others through specific properties. Here is the complete map of connections you should implement:
Homepage"] -->|founder| Person["Person
Bio Page"] Org -->|makesOffer| Product["Product
Product Pages"] Org -->|hasOfferCatalog| Service["Service
Service Pages"] Person -->|worksFor| Org Product -->|brand| Org Service -->|provider| Org Org -->|subOrganization| LB["LocalBusiness
Location Pages"] LB -->|parentOrganization| Org Article["Article
Blog Posts"] -->|author| Person Article -->|publisher| Org FAQ["FAQPage
FAQ Pages"] -->|about| Service
Connection Properties
| From Type | Property | To Type | Direction |
|---|---|---|---|
| Organization | founder |
Person | Org declares its founder |
| Person | worksFor |
Organization | Person declares employer |
| Product | brand |
Organization | Product declares its brand |
| Organization | makesOffer |
Offer (containing Product) | Org declares what it sells |
| Service | provider |
Organization | Service declares who provides it |
| Article | author |
Person | Content declares its author |
| Article | publisher |
Organization | Content declares its publisher |
| LocalBusiness | parentOrganization |
Organization | Location declares parent company |
The @id Linking Pattern
The @id property is the mechanism that makes cross-page schema linking work. When two schema blocks on different pages share the same @id, Google knows they describe the same entity.
Establish your @id conventions once and use them consistently:
| Entity | @id Convention | Defined On |
|---|---|---|
| Organization | https://yoursite.com/#organization |
Homepage |
| Founder (Person) | https://yoursite.com/about/#founder |
About/Bio page |
| Location (LocalBusiness) | https://yoursite.com/contact/#location |
Contact page |
| Product | https://yoursite.com/products/cp-500/#product |
Product page |
When referencing an entity defined on another page, you only need the @id and @type. Google will find the full definition elsewhere:
// On a blog post, referencing the author:
"author": {
"@type": "Person",
"@id": "https://yoursite.com/about/#founder"
}
// On a product page, referencing the brand:
"brand": {
"@type": "Organization",
"@id": "https://yoursite.com/#organization"
}
Bidirectional Linking
Wherever possible, create bidirectional schema links. If your Organization references a Person as its founder, that Person should reference the Organization as their employer. Bidirectional links are stronger signals because they provide mutual confirmation.
Testing the Graph
After implementing connected schemas across your site, test the graph by running multiple pages through the Rich Results Test. For each page, verify that the schema block correctly references entities defined on other pages via @id. If the @id values do not match exactly, the connection is broken.
A common error is using slightly different @id formats on different pages: https://yoursite.com/#organization on the homepage but https://www.yoursite.com/#organization on a product page. These are different strings. Google treats them as different entities.
Further Reading
- Introduction to Structured Data - Google's guide covering multi-type and connected schema patterns.
- Getting Started with Schema.org - Schema.org's introductory guide to property relationships and nesting.
- JSON-LD Schema Markup: Complete Guide - Covers @id patterns and cross-page entity linking in detail.
- Schema Markup for Local Business - Schema App's guide including organization-location linking patterns.
Assignment
- Draw a diagram showing all the schema types you have implemented (or plan to implement) on your site. Draw arrows showing the connecting properties between them.
- For each connection, verify that the @id values match exactly between the referencing schema and the defining schema.
- Identify any connections that are currently unidirectional. Add the reverse link where possible (e.g., if Organization references Person as founder, add worksFor on the Person schema).
- List any missing connections. For example, if your blog posts do not reference an author via Person schema, that is a gap in your entity graph.