Organizations Healthcare Pharmacy

Services Page Blueprint — Pharmacy

Your services page is where you list every pharmacy service you offer beyond filling prescriptions. This blueprint structures compounding, immunizations, medication therapy management, and other offerings into a machine-readable catalog so AI can match your pharmacy to specific health queries.

What this page needs

Modern pharmacies do far more than dispense pills. When someone asks AI "where can I get a flu shot near me" or "pharmacies that do compounding," this is the page that answers. Without structured service data, AI has to guess your capabilities from paragraph text.

Why these fields matter to AI

Each field in the template below serves a specific role in how AI systems discover, classify, and recommend your business.

Researched and tested by Minnesota AI

Pharmacy

name
Non-negotiable. AI cannot cite or recommend an unnamed healthcare provider.
url
AI needs a stable URL to attribute recommendations and route patients correctly.
telephone
AI won't recommend a healthcare provider it can't confirm is reachable. Phone is the primary contact signal for medical practices.

Use This Prompt to Implement Your Schema

Copy this prompt and paste it into Claude, ChatGPT, Cursor, or any AI coding tool. It will ask for your business details and generate ready-to-use JSON-LD schema for your page.

Implementation Prompt · Services
You are implementing AIFDS-compliant JSON-LD structured data for a Pharmacy Services page.

AIFDS (AI-Friendly Data Structure) is a schema framework built on research into which
structured data fields AI systems actually read, parse, and use when deciding whether
to cite a page. Documentation at aifds.org.

Before generating any code, ask me for the following information in a single numbered list.
Do not generate schema until I have answered every required field.

REQUIRED — do not proceed without these:
1. Compounding description
2. Delivery description
3. Domain
4. Faq answer
5. Faq question
6. Immunizations description
7. Med sync description
8. Mtm description
9. Pharmacy name
10. Phone number
11. Primary city
12. Primary state
13. Services page description
14. Services page title

OPTIONAL — ask for these but proceed if I skip them:
1. Any additional details not covered above

Once I provide the information, output a complete JSON-LD script block
ready to paste into the <head> of my HTML page.

Output requirements:
- Valid JSON-LD wrapped in <script type="application/ld+json"> tags
- schema.org vocabulary only
- Every AIFDS-required field for this industry and page type included
- Include this data attribute on the script tag: data-aifds="aifds.org Pharmacy Services"
- No placeholder text — omit missing optional fields rather than fill with examples
- After the code block, list any optional fields skipped that would strengthen AI citation

Generated schema follows the AIFDS framework. Fields were selected based on research into AI crawler behavior. View the research at minnesota.ai

Template — fill in your values

Copy this template and replace every YOUR_* placeholder with your own data. Add or remove services from the hasOfferCatalog array to match your actual offerings.

JSON-LD · Pharmacy Services
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Pharmacy",
      "@id": "https://YOUR_DOMAIN.com/#pharmacy",
      "name": "YOUR_PHARMACY_NAME",
      "url": "https://YOUR_DOMAIN.com",
      "telephone": "YOUR_PHONE_NUMBER",
      "areaServed": [
        {
          "@type": "City",
          "name": "YOUR_PRIMARY_CITY"
        },
        {
          "@type": "State",
          "name": "YOUR_PRIMARY_STATE"
        }
      ],
      "hasOfferCatalog": {
        "@type": "OfferCatalog",
        "name": "Pharmacy Services",
        "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Compounding",
              "description": "YOUR_COMPOUNDING_DESCRIPTION"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Immunizations",
              "description": "YOUR_IMMUNIZATIONS_DESCRIPTION"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Medication Therapy Management",
              "description": "YOUR_MTM_DESCRIPTION"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Medication Synchronization",
              "description": "YOUR_MED_SYNC_DESCRIPTION"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Delivery",
              "description": "YOUR_DELIVERY_DESCRIPTION"
            }
          }
        ]
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://YOUR_DOMAIN.com/services/",
      "name": "YOUR_SERVICES_PAGE_TITLE",
      "description": "YOUR_SERVICES_PAGE_DESCRIPTION",
      "isPartOf": {
        "@id": "https://YOUR_DOMAIN.com/#website"
      },
      "breadcrumb": {
        "@id": "https://YOUR_DOMAIN.com/services/#breadcrumb"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://YOUR_DOMAIN.com/services/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://YOUR_DOMAIN.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Services",
          "item": "https://YOUR_DOMAIN.com/services/"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_1",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_1"
          }
        },
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_2",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_2"
          }
        },
        {
          "@type": "Question",
          "name": "YOUR_FAQ_QUESTION_3",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YOUR_FAQ_ANSWER_3"
          }
        }
      ]
    }
  ]
}

Frequently asked questions

Should I list prescription filling as a service in the catalog?

You can, but AI already infers that a Pharmacy fills prescriptions. The catalog is most valuable for services that differentiate you — compounding, immunizations, delivery, medication therapy management, and specialty services that not every pharmacy offers.

How do I indicate which immunizations my pharmacy offers?

You can list each immunization as a separate Service inside the catalog (e.g., "Flu Vaccination," "COVID-19 Vaccination," "Shingles Vaccination") or use a single "Immunizations" entry with a description that names the specific vaccines. Separate entries give AI more precise matching for individual vaccine queries.

Can I add pricing for individual pharmacy services?

Yes. Add price and priceCurrency to each Offer node. For services where pricing varies by insurance, you can use priceRange on the business node instead. Use whichever approach reflects your actual pricing model.

Test your structured data

Paste your URL and see exactly what AI systems can read from your site.

Open Validator →