-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
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.
- Implement
Organizationschema including lab name, University of Michigan affiliation, and official URL. - Add
sameAslinks for social media or institutional profiles (e.g., Twitter, LinkedIn, LabArchives).
Phase 2: Dynamic Member Schema (People Page)
Update the people.html template to iterate over our members queryset.
- Create a
Personobject for each lab member. - Link these members to the
Organizationusing thememberproperty. - Map Django model fields (Name, Title, Bio, Image) to Schema properties.
Phase 3: Site-wide Enhancements
- Breadcrumbs: Implement
BreadcrumbListschema to improve the "path" appearance in Google search results. - Research Articles: If applicable, add
ScholarlyArticlemarkup to our publications list.
Phase 4: Validation & Cleanup
- Verify the new implementation using the Schema Markup Validator.
- Remove legacy RDFa: Delete
vocab,typeof, andpropertyattributes from our HTML templates to reduce DOM clutter and prevent validation conflicts.
3. Useful Resources
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels