1. Rationale
Our current website utilizes RDFa (Resource Description Framework in Attributes) for schema markup. However, the Schema Markup Validator is failing to correctly parse our Organization and Member data.
To improve our SEO and follow modern web standards, we should migrate to JSON-LD.
Why the move?
- Google's Preference: Google explicitly states that JSON-LD is the preferred format for structured data.
- Decoupled Design: RDFa is "baked into" the HTML tags. If we change our UI or rearrange
<div> elements, the metadata often breaks. JSON-LD exists in a standalone script block, making it much more resilient to design changes.
- Django-Friendly: Using Django templates to loop through a queryset and generate a JSON object is significantly cleaner and less error-prone than injecting attributes into individual loop items in the DOM.
2. Implementation Steps
Phase 1: Global Organization Schema
Add a static JSON-LD block to the <head> of our base.html template to define the Lab globally.
Phase 2: Dynamic Member Schema (People Page)
Update the people.html template to iterate over our members queryset.
Phase 3: Site-wide Enhancements
Phase 4: Validation & Cleanup
3. Useful Resources
1. Rationale
Our current website utilizes RDFa (Resource Description Framework in Attributes) for schema markup. However, the Schema Markup Validator is failing to correctly parse our Organization and Member data.
To improve our SEO and follow modern web standards, we should migrate to JSON-LD.
Why the move?
<div>elements, the metadata often breaks. JSON-LD exists in a standalone script block, making it much more resilient to design changes.2. Implementation Steps
Phase 1: Global Organization Schema
Add a static JSON-LD block to the
<head>of ourbase.htmltemplate to define the Lab globally.Organizationschema including lab name, University of Michigan affiliation, and official URL.sameAslinks for social media or institutional profiles (e.g., Twitter, LinkedIn, LabArchives).Phase 2: Dynamic Member Schema (People Page)
Update the
people.htmltemplate to iterate over our members queryset.Personobject for each lab member.Organizationusing thememberproperty.Phase 3: Site-wide Enhancements
BreadcrumbListschema to improve the "path" appearance in Google search results.ScholarlyArticlemarkup to our publications list.Phase 4: Validation & Cleanup
vocab,typeof, andpropertyattributes from our HTML templates to reduce DOM clutter and prevent validation conflicts.3. Useful Resources