Skip to main content
Page

AEO schema markup

Get a Free Audit for This Service
13 sections
|7 min
> Audit
Introduction

Schema markup tells AI systems explicitly what your content means. Without schema, ChatGPT must infer whether your page is about a strain, a business, or a product review. With schema, you declare this information directly, reducing inference errors and improving AI comprehension.

Cannabis businesses treating schema as optional SEO detail are missing a clear AEO opportunity. Structured data is explicit, verifiable, and extractable. A page with proper LocalBusiness schema tells every system that reads it: "This is a business at X address, with Y phone number, Z hours." No inference required.

Schema is foundational.

Section 01

Schema Types for Cannabis Businesses

Cannabis dispensaries and retailers should implement LocalBusiness schema with cannabis-specific attributes. Cannabis brands should implement Organization schema plus Product schema. Cannabis publishers should implement NewsArticle schema.

LocalBusiness Schema (for Dispensaries)

LocalBusiness schema declares your business entity with critical information: name, address, phone, hours, categories, and service area. For cannabis dispensaries, this schema is the most important structured data on your site.

Essential attributes: 1. name: Exact business name 2. address: Complete postal address 3. telephone: Business phone number 4. openingHoursSpecification: Hours per day with special notes for holidays 5. servesCuisine (adapted for cannabis): Product categories (strains, edibles, concentrates) 6. geo: Geographic coordinates (latitude, longitude) 7. sameAs: Links to verified profiles (Google Business Profile URL, social profiles) 8. review: Review data (rating, count, reviewer)

For cannabis, add cannabis-specific categories: "CannabisDispensary," "RetailStore," plus specific product categories. Declare whether you offer delivery, curbside pickup, or consultations.

Schema example structure:

{
  "@context": "https://schema.org/",
  "@type": "LocalBusiness",
  "name": "Denver Cannabis Collective",
  "image": "https://example.com/logo.png",
  "description": "Premier cannabis dispensary in Denver",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Denver",
    "addressRegion": "CO",
    "postalCode": "80202",
    "addressCountry": "US"
  },
  "telephone": "+1-303-555-0123",
  "url": "https://example.com",
  "openingHoursSpecification": {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Monday",
    "opens": "10:00",
    "closes": "22:00"
  },
  "areaServed": "Denver, CO"
}

Product Schema (for Strains and Products)

Product schema declares your cannabis strains or products with attributes AI systems understand: name, description, image, price, availability, rating, and review.

Essential attributes: 1. name: Strain or product name 2. description: Product description 3. image: Product image (high resolution recommended) 4. brand: Brand name 5. offers: Price and availability information 6. aggregateRating: Rating and review count 7. review: Individual reviews

For cannabis strains, include cannabinoid profiles and terpene information in the description. This additional detail helps AI systems understand product characteristics.

Schema example:

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Blue Dream OG",
  "description": "High-THC hybrid strain with myrcene and caryophyllene terpene profile. Effects: uplifting, creative. Best for daytime use.",
  "brand": "Colorado Cannabis Co",
  "image": "https://example.com/strain.jpg",
  "offers": {
    "@type": "Offer",
    "price": "45",
    "priceCurrency": "USD",
    "availability": "InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "203"
  }
}

Organization Schema (for Cannabis Brands)

Organization schema declares your brand or company with credentials, contact information, and social presence. For cannabis brands, this schema establishes business legitimacy.

Essential attributes: 1. name: Legal business name 2. image: Logo or primary image 3. description: Company mission and description 4. url: Company website 5. sameAs: Verified profile links (LinkedIn, social media, industry listings) 6. foundingDate: Company founding year 7. address: Business location 8. contact: Contact information for inquiries

Add cannabis-specific information: licensing body, regulatory certifications, third-party testing approvals.

Schema example:

{
  "@context": "https://schema.org/",
  "@type": "Organization",
  "name": "Colorado Cannabis Co",
  "url": "https://example.com",
  "image": "https://example.com/logo.png",
  "description": "Artisanal cannabis producer focused on small-batch, fully tested products",
  "foundingDate": "2019",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "456 Farm Road",
    "addressLocality": "Boulder",
    "addressRegion": "CO",
    "addressCountry": "US"
  },
  "sameAs": [
    "https://www.linkedin.com/company/colorado-cannabis-co",
    "https://www.instagram.com/coloradocannabisco"
  ]
}
Section 02

Review and Rating Schema

Review schema explicitly declares customer feedback with rating, review text, and reviewer information. AI systems use review data to evaluate business credibility.

Use aggregateRating to summarize reviews: total count, average rating. Use individual review items for specific customer feedback.

Schema example:

{
  "@context": "https://schema.org/",
  "@type": "LocalBusiness",
  "name": "Denver Cannabis Collective",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "347"
  },
  "review": [
    {
      "@type": "Review",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      },
      "reviewBody": "Best strains, knowledgeable staff, fair pricing",
      "author": {
        "@type": "Person",
        "name": "John"
      }
    }
  ]
}
Section 03

FAQPage Schema for Cannabis Q&A Content

FAQPage schema structures question-and-answer content for AI system extraction. If your cannabis content addresses FAQs, this schema improves visibility.

Schema example:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What's the difference between CBD and THC?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "CBD and THC are distinct cannabinoids. THC creates psychoactive effects (the 'high'). CBD does not create intoxication but may provide therapeutic effects. Both interact with the endocannabinoid system differently."
      }
    }
  ]
}
Section 04

NewsArticle Schema for Cannabis Content

If you publish news or industry analysis, NewsArticle schema helps AI systems recognize this as news content.

Essential attributes: 1. headline: Article title 2. description: Article summary 3. image: Featured image 4. datePublished: Publication date 5. author: Author information 6. articleBody: Full article text or structured sections

This schema is particularly valuable for regulatory news, industry updates, and market analysis.

Section 05

Implementation Best Practices

Place schema markup in the <head> section of your website using JSON-LD format (recommended). JSON-LD is less error-prone than inline microdata and is easier to maintain.

Use Google's Rich Results Test to validate your schema: https://search.google.com/test/rich-results

Validate schema syntax before deploying. Invalid schema can confuse AI systems worse than missing schema.

Keep schema updated. If your business hours change, update schema immediately. If product prices change, update product schema. Stale schema signals unreliable information.

For cannabis businesses, consistency is critical. Ensure schema data matches your Google Business Profile, website, and all citations. Conflicting information confuses AI systems.

Section 06

Cannabis-Specific Schema Considerations

Cannabis schema implementation faces unique challenges because cannabis is regulated and restricted in many jurisdictions. Schema should reflect this context.

Declare regulatory status explicitly. If your business is licensed by the Colorado Department of Revenue, include this information. If your products have third-party lab testing, declare testing organization and certification dates.

For cannabis, include content restrictions in schema where applicable. Some jurisdictions restrict age of purchasers or delivery distance. Schema can declare these restrictions.

Use schema.org vocabulary as published. Where no cannabis-specific type exists, use the closest general type and describe the cannabis details in plain text on the page.

Section 07

Schema and Local AEO

For dispensaries, LocalBusiness schema combined with an accurate Google Business Profile gives search and AI systems consistent data about your location.

Ensure schema includes: 1. Accurate address and coordinates 2. Current business hours (updated for holidays) 3. Service area (delivery radius for delivery services) 4. Product categories matching your actual inventory 5. Review data that matches your real, current reviews

Section 08

Schema Migration and Updates

If you're implementing schema for the first time, start with LocalBusiness (for dispensaries) or Organization (for brands). Add Product schema once foundational schema is complete.

Update schema in phases: basic information first, then review data, then cannabis-specific attributes. This reduces implementation complexity and error probability.

Monitor schema performance using Google Search Console. The Rich Results report shows whether your schema is recognized and generating rich results in Google Search. While this is a Google-specific metric, it signals whether your schema is properly formatted for AI system comprehension.

---

Section 09

Structured Data and AI Comprehension

AI systems process content through multiple layers of understanding: semantic analysis (understanding meaning), entity recognition (identifying named entities), and structured data extraction (parsing schema markup). Schema markup provides explicit information to the entity and extraction layers. A page declaring a LocalBusiness schema with address, phone, and hours tells any system that reads it exactly what type of entity the page describes and what critical information that entity possesses. Without schema, AI systems must infer this information from page content, which introduces error probability. For cannabis businesses, schema markup reduces inference ambiguity. This consistency makes schema implementation a worthwhile AEO tactic with relatively low implementation effort.

Section 10

Schema and Real-Time Data Updates

Systems that retrieve live web pages when generating answers can pick up schema changes on your site, while models that rely on static training data cannot. When you update your business hours in schema, a retrieval-based system can reference the updated hours the next time it fetches your page. Cannabis businesses tracking inventory changes should update Product schema regularly. Dispensaries with seasonal hours should update LocalBusiness schema when hours change. Brands launching new products should implement Product schema immediately. This maintenance approach keeps your AEO visibility current as your business information changes.

Section 11

Schema Accuracy and Trust Signals

AI systems can treat schema accuracy as a trust signal. A business with LocalBusiness schema declaring address, phone, and hours that match across Google Business Profile, Yelp, and the website's schema signals consistency. Conversely, a business with conflicting information (different phone number in schema vs. GBP, different hours in schema vs. website footer) signals unreliability. Cannabis businesses gain trust through schema accuracy and consistency. As cannabis remains a regulated industry, transparency and consistency matter. Implementing and maintaining accurate schema is particularly valuable for cannabis businesses operating transparently and compliantly.

---

Section 12

Related Reads

Section 13

Back to Hub

// deploy

Ready to Deploy This Protocol?

Start with a comprehensive audit. We'll map every opportunity and build your custom growth protocol.

> [ INITIATE AUDIT ]
BA://OS