Course → Module 5: Schema.org Structured Data
Session 9 of 10

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:

graph TD Org["Organization
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.

graph LR subgraph "Unidirectional (Weaker)" A1["Organization"] -->|founder| B1["Person"] end subgraph "Bidirectional (Stronger)" A2["Organization"] -->|founder| B2["Person"] B2 -->|worksFor| A2 end

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

Assignment

  1. 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.
  2. For each connection, verify that the @id values match exactly between the referencing schema and the defining schema.
  3. 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).
  4. 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.