Guide · GLP-1 schema template

Schema markup for GLP-1 clinics: complete @graph template

A copy-paste Schema.org @graph template for GLP-1 weight loss clinics. Includes MedicalClinic, Drug entities per medication (semaglutide, tirzepatide, Wegovy, Ozempic, Mounjaro, Zepbound), Physician, Offer, FAQPage, and BreadcrumbList.

By · · 10 min read
Reviewed by: Kailesk, Founder & Lead Engineer, KailxLabs

This guide ships a copy-paste Schema.org @graph template for GLP-1 clinics. Place the JSON-LD in a script tag in the page head. Customize placeholders. Validate at validator.schema.org.

The complete @graph template

Wrap all entities in a single @graph array with @id references linking them. The root MedicalClinic anchors the graph. Drug, Physician, Offer, and MedicalProcedure entities reference back through @id.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "MedicalClinic",
      "@id": "https://[clinic-domain]/#organization",
      "name": "[Clinic Name]",
      "url": "https://[clinic-domain]",
      "telephone": "[phone]",
      "email": "[email]",
      "address": { /* PostalAddress */ },
      "geo": { /* GeoCoordinates */ },
      "openingHoursSpecification": [ /* per day */ ],
      "medicalSpecialty": "Endocrinology",
      "areaServed": { /* GeoCircle or counties */ }
    },
    {
      "@type": "Drug",
      "@id": "https://[domain]/#drug-semaglutide",
      "nonProprietaryName": "semaglutide",
      "proprietaryName": ["Wegovy", "Ozempic"],
      "manufacturer": { "@type": "Organization", "name": "Novo Nordisk" },
      "prescriptionStatus": "PrescriptionOnly",
      "availableAtOrFrom": { "@id": "https://[domain]/#organization" }
    },
    {
      "@type": "Drug",
      "@id": "https://[domain]/#drug-tirzepatide",
      "nonProprietaryName": "tirzepatide",
      "proprietaryName": ["Mounjaro", "Zepbound"],
      "manufacturer": { "@type": "Organization", "name": "Eli Lilly" },
      "prescriptionStatus": "PrescriptionOnly",
      "availableAtOrFrom": { "@id": "https://[domain]/#organization" }
    },
    {
      "@type": "Physician",
      "@id": "https://[domain]/providers/[name]#physician",
      "name": "Dr. [Name]",
      "medicalSpecialty": "FamilyMedicine",
      "hasCredential": [
        { "@type": "EducationalOccupationalCredential", "credentialCategory": "board certification", "name": "ABFM Family Medicine", "recognizedBy": { "@type": "Organization", "name": "American Board of Family Medicine" } },
        { "@type": "EducationalOccupationalCredential", "credentialCategory": "specialty certification", "name": "ABOM Obesity Medicine", "recognizedBy": { "@type": "Organization", "name": "American Board of Obesity Medicine" } }
      ],
      "worksFor": { "@id": "https://[domain]/#organization" }
    },
    {
      "@type": "MedicalProcedure",
      "@id": "https://[domain]/services/semaglutide#procedure",
      "name": "Physician-Supervised Semaglutide Weight Loss Program",
      "procedureType": "weight loss program",
      "expectedPrognosis": "Average 15-20% body weight reduction at 12 months",
      "drug": { "@id": "https://[domain]/#drug-semaglutide" },
      "performer": { "@id": "https://[domain]/providers/[name]#physician" }
    },
    {
      "@type": "Offer",
      "@id": "https://[domain]/services/semaglutide#offer",
      "name": "Semaglutide Program",
      "priceSpecification": {
        "@type": "UnitPriceSpecification",
        "price": "299",
        "priceCurrency": "USD",
        "referenceQuantity": { "@type": "QuantitativeValue", "value": 1, "unitCode": "MON" }
      },
      "itemOffered": { "@id": "https://[domain]/services/semaglutide#procedure" }
    }
  ]
}
</script>

The validation step

Paste the customized JSON-LD into validator.schema.org. Confirm no syntax errors and no @id reference breaks. Then test the Rich Results test at search.google.com/test/rich-results to confirm Google recognizes the entities.

Related reading

About the author

Kailesk is the founder and lead engineer at KailxLabs. He builds AI native websites for premium specialty businesses so ChatGPT, Perplexity, Gemini, and Google AI quote them by name within 45 days. Every engagement is delivered personally with no agency layer. Kailesk also ships open source developer tools under HouseofMVPs and runs SaveMRR, a churn recovery product cited across 14 AI engines.