EducationalOrganization
EducationalOrganization is the schema.org base type for any kind of school, but most of the time you shouldn't actually use it directly. This example uses its subtype CollegeOrUniversity instead, and the choice of subtype over base type is the main lesson this page exists to teach.
Pick the most specific subtype available
schema.org has a deep type hierarchy. For a university it looks like this: Thing then Organization then EducationalOrganization then CollegeOrUniversity then University. Each step down is more specific. Using CollegeOrUniversity communicates more to search engines and knowledge graphs than plain Organization or even plain EducationalOrganization.
The principle applies everywhere in schema.org. Use MedicalOrganization not Organization for a clinic. Use Corporation for a public company, NGO for a non-profit, SportsOrganization for a team, GovernmentOrganization for a ministry. The Common Mistakes section below explains why this matters in detail.
The Xoo universe thread
The example is the Royal Institute of Medicine (RIM), Jane Xoo's alma mater, founded 1863 in Copenhagen, following the schema.org/EducationalOrganization vocabulary. It's listed as her alumniOf in the Person example, and the link between them is now bidirectional. RIM's alumni array references Jane Xoo's @id, and Jane Xoo's alumniOf points to RIM's @id rather than redefining the institution inline.
That's how bidirectional relationships work in schema.org. Most properties are one-directional, but a handful form explicit inverse pairs: alumni/alumniOf, parent/child, subOrganization/parentOrganization. When you use one side, the other side is implied.
Full example of schema.org/CollegeOrUniversity json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://roymed.dk#organization",
"@type": "CollegeOrUniversity",
"name": "Royal Institute of Medicine",
"alternateName": [
"RIM",
"Det Kongelige Medicinske Institut"
],
"description": "Founded 1863 in Copenhagen, the Royal Institute of Medicine is one of Scandinavia's oldest continuously operating medical research and teaching institutions. RIM's pediatric medicine program, active since 1894, has produced clinicians whose work has shaped children's healthcare across Northern Europe.",
"url": "https://www.roymed.dk/",
"logo": {
"@type": "ImageObject",
"url": "https://www.roymed.dk/images/rim-crest.png",
"width": "512",
"height": "512",
"caption": "Royal Institute of Medicine official crest"
},
"image": [
"https://www.roymed.dk/images/main-building-16x9.jpg",
"https://www.roymed.dk/images/pediatric-wing-4x3.jpg"
],
"sameAs": [
"https://wikipedia.org/wiki/RoyMed",
"https://www.linkedin.com/school/royal-institute-of-medicine",
"https://twitter.com/roymed_dk"
],
"foundingDate": "1863",
"foundingLocation": {
"@type": "Place",
"name": "Copenhagen, Denmark",
"address": {
"@type": "PostalAddress",
"addressLocality": "Copenhagen",
"addressCountry": "DK"
}
},
"founder": {
"@type": "Person",
"name": "Dr. Henrik Lundgaard",
"description": "Danish physician and educator who established RIM as a private institution in 1863 before it received royal charter in 1871"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "Blegdamsvej 9",
"addressLocality": "Copenhagen",
"postalCode": "2100",
"addressCountry": "DK"
},
"telephone": "+45-35-45-35-45",
"email": "kontakt@roymed.dk",
"parentOrganization": {
"@type": "GovernmentOrganization",
"name": "Danish Ministry of Higher Education and Science",
"url": "https://ufm.dk/"
},
"department": [
{
"@type": "EducationalOrganization",
"name": "Department of Pediatric Medicine",
"description": "Founded 1894, RIM's oldest and most internationally recognized department. Alumni include Jane Xoo, whose 1945 clinical framework for post-war pediatric care remains influential in Scandinavian medical training.",
"url": "https://www.roymed.dk/departments/pediatrics"
},
{
"@type": "EducationalOrganization",
"name": "Department of Cardiovascular Research",
"url": "https://www.roymed.dk/departments/cardiovascular"
},
{
"@type": "EducationalOrganization",
"name": "Department of Epidemiology and Public Health",
"url": "https://www.roymed.dk/departments/epi"
}
],
"affiliation": {
"@type": "MedicalOrganization",
"name": "Rigshospitalet Copenhagen",
"description": "RIM's primary teaching hospital since 1910. Most of RIM's clinical training programs run rotations through Rigshospitalet's pediatric, surgical, and emergency wards.",
"url": "https://www.rigshospitalet.dk/"
},
"alumni": [
{
"@id": "https://janexoo.com#person"
},
{
"@type": "Person",
"name": "Prof. Margareta Lindqvist",
"description": "Swedish-Danish nutritionist and peer reviewer of Jane Xoo's 1945 clinical framework",
"url": "https://en.wikipedia.org/wiki/Margareta_Lindqvist"
}
],
"numberOfStudents": {
"@type": "QuantitativeValue",
"value": "2840",
"unitText": "enrolled students (2026 academic year)"
},
"accreditingBody": {
"@type": "GovernmentOrganization",
"name": "Danish Accreditation Institution",
"alternateName": "Danmarks Akkrediteringsinstitution",
"url": "https://akkr.dk/"
},
"educationalCredentialAwarded": [
"Bachelor of Medical Science",
"Doctor of Medicine (MD)",
"Master of Public Health",
"Doctor of Philosophy in Medical Research (PhD)"
],
"hasCourse": [
{
"@id": "https://roymed.dk/courses/ped-412#course"
},
{
"@type": "Course",
"name": "Nutritional Rehabilitation",
"description": "Practical course covering therapeutic nutrition protocols from the 1945 Rigshospitalet recovery formulas through modern enteral nutrition.",
"courseCode": "NUT-210",
"provider": {
"@id": "https://roymed.dk#organization"
}
}
],
"openingHours": [
"Mo-Fr 08:00-18:00",
"Sa 09:00-14:00"
],
"knowsLanguage": [
"da",
"en",
"sv",
"no"
],
"slogan": "Scientia medica sine finibus",
"areaServed": {
"@type": "Country",
"name": "Denmark"
},
"nonprofitStatus": "https://schema.org/NonprofitType",
"award": [
"European Medical Education Excellence Award (2019)",
"Nordic Council Prize for Public Health (2014)"
]
}
</script>Minimal valid version
The smallest markup that still produces a valid CollegeOrUniversity 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.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollegeOrUniversity",
"name": "Royal Institute of Medicine",
"url": "https://www.roymed.dk/",
"logo": "https://www.roymed.dk/images/rim-crest.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "Blegdamsvej 9",
"addressLocality": "Copenhagen",
"addressCountry": "DK"
}
}
</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.
- Google docsOrganization logo in Google Searchprimary
- Google docsKnowledge Panel enrichment
Common CollegeOrUniversity 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.
- 01
Using base Organization when a subtype fits better
Wrong"@type": "Organization" "name": "Royal Institute of Medicine"Right"@type": "CollegeOrUniversity" "name": "Royal Institute of Medicine"schema.org has a deep type hierarchy. Use the most specific subtype that fits: CollegeOrUniversity (or University) for higher education, School for K-12, MedicalOrganization for clinics and hospitals, Corporation for public companies, NGO for non-profits, SportsOrganization for teams, GovernmentOrganization for ministries and agencies. Base Organization validates but communicates less to search engines and knowledge graphs, and you may lose eligibility for subtype-specific surfacing.
- 02
department as a string instead of a nested Organization
Wrong"department": "Pediatric Medicine"Right"department": { "@type": "EducationalOrganization", "name": "Department of Pediatric Medicine", "description": "..." }The schema.org department property expects another Organization, not a plain string. This is the most confusing of the Organization properties. Authors often treat it like a text label. A nested Organization lets the department have its own url, description, and even its own alumni, courses, and sub-departments. If you only have a name, still use the nested form: { "@type": "EducationalOrganization", "name": "..." }.
- 03
alumni as flat strings instead of Person refs
Wrong"alumni": ["Jane Xoo", "Margareta Lindqvist"]Right"alumni": [ { "@id": "https://janexoo.com#person" }, { "@type": "Person", "name": "Margareta Lindqvist", "url": "https://en.wikipedia.org/wiki/Margareta_Lindqvist" } ]Flat strings validate but throw away graph connectivity. Each alumnus should be either a nested Person object (with name, url, sameAs, etc.) or an @id reference to an existing Person entity marked up elsewhere. The Person-to-institution relationship is one of the rare bidirectional properties in schema.org (alumni ↔ alumniOf), so both directions should resolve cleanly.
- 04
Over-specified foundingDate
Wrong"foundingDate": "1863-01-01T00:00:00Z"Right"foundingDate": "1863"ISO 8601 dates support partial precision. You can use year-only (1863), year-month (1863-10), or full date (1863-10-15). If you don't actually know the day or month of founding, don't fake it with 01-01. Over-specification misleads consumers that compute anniversaries, birthdays, or historical timelines. Honest partial precision is always better than fabricated exactness.
Compare your markup against this exampleruns in your browser
Schema properties in this example
Comments
Loading comments...