XooCode(){

MedicalWebPage

MedicalWebPage is a WebPage subtype for pages whose content is medical / clinical in nature: patient-education articles, drug-information pages, symptom explainers, clinical guidelines. It adds 2 direct properties:

  • aspect (Text): which aspect of the topic the page covers ("symptoms", "treatment", "diagnosis", "epidemiology", "risk factors").
  • medicalAudience (MedicalAudience or MedicalAudienceType): who the page is written for — Patient, Clinician, or both (array).

The typed classification signals to Google and AI healthcare assistants that the content is medical; the aspect lets them route the page to "symptoms of..." or "treatment of..." queries specifically; and medicalAudience separates plain-language patient pages from technical clinician references.

Full example of schema.org/MedicalWebPage json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/MedicalWebPage
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalWebPage",
  "@id": "https://dunmorefamilyclinic.example/patient-info/type-2-diabetes",
  "name": "Understanding Type 2 Diabetes",
  "url": "https://dunmorefamilyclinic.example/patient-info/type-2-diabetes",
  "description": "Plain-language guide to what Type 2 diabetes is, how it's diagnosed, and how it's managed.",
  "aspect": ["symptoms", "diagnosis", "treatment"],
  "medicalAudience": "https://schema.org/Patient",
  "mainEntity": { "@type": "MedicalCondition", "name": "Type 2 diabetes mellitus", "code": [{ "@type": "MedicalCode", "codeValue": "E11.9", "codingSystem": "ICD-10-CM" }] },
  "author": { "@type": "Person", "name": "Priya Chen", "honorificSuffix": "MD", "jobTitle": "Family Physician" },
  "dateModified": "2026-02-28",
  "reviewedBy": { "@type": "Person", "name": "Marcus Hale", "honorificSuffix": "MD, PhD", "jobTitle": "Endocrinologist" }
}
</script>

Minimal valid version

The smallest markup that still produces a valid MedicalWebPage 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.

schema.org/MedicalWebPage (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "MedicalWebPage",
  "name": "Understanding Type 2 Diabetes",
  "aspect": "symptoms",
  "medicalAudience": "https://schema.org/Patient"
}
</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.

  • Medical Web Page signalling (used by Google healthcare surfaces)
    Google docs

Common MedicalWebPage 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.

  1. 01

    MedicalAudience free text

    Wrong
    "medicalAudience": "patients"
    Right
    "medicalAudience": "https://schema.org/Patient"

    MedicalAudience is enumeration-valued.

  2. 02

    Missing reviewedBy on patient-education

    Wrong
    Medical content with no clinical reviewer
    Right
    reviewedBy pointing to a qualified clinician

    Google's E-E-A-T for healthcare content specifically surfaces reviewer credentials; omitting them flags the page as lower trust.

Also mentioned in 1 other example

MedicalWebPage also appears in Patient. See the full MedicalWebPage schema page for every reference.

About the example data

A patient-education page about Type 2 diabetes on Dunmore Family Clinic's site.

Comments

Loading comments...

Leave a comment