Skip to main content

Need to find Chris? Call him: (216) 694-8540 or Schedule a meeting

Structured Data is a powerful but often overlooked part of cannabis SEO. It helps search engines better understand your website content and display enhanced results,  like product listings, FAQs, and business details,  directly in Google search.

What Is Structured Data?

Structured data is a standardized format that helps search engines understand the content on your website. Think of it as a translator between your site and Google. While a human can look at your page and understand that “Green Heights is a dispensary in Cleveland,” a search engine needs that relationship spelled out explicitly.

Structured data uses a vocabulary called Schema Markupa shared language supported by Google, Bing, and other major platforms. When you mark up your content with schema, you’re telling search engines what each part of your site means, not just what it says. For example:

  • This page is about a cannabis product

  • This is a dispensary’s name and address

  • This section answers frequently asked questions

  • This job listing is for a budtender

Structured data doesn’t change how your site looks to users. It lives in your HTML code, behind the scenes. But it can have a huge impact on how your listings appear in search results. That’s where rich results come in.

When you apply schema correctly, Google can reward your pages with rich resultsenhanced search snippets like star ratings, pricing info, map pins, drop-down FAQs, and more. These extras catch the eye, increase click-through rates, and help you stand out in a crowded cannabis search landscape.

For cannabis brands, using structured data is one of the few SEO tools that offers clear, front-end benefits in an industry with strict advertising limits.


What Is Schema Markup?

Schema markup (also known as structured data) is a standardized code format—usually in JSON-LD—that you add to your website. It gives search engines extra context about your content.

Think of it as a translation layer. Google can already crawl your pages, but schema helps it understand exactly what kind of business you are, what products you sell, where you’re located, and what kind of content you're publishing.

When implemented correctly, schema can unlock rich search results like:

  • Business knowledge panels

  • Product pricing and availability

  • FAQ dropdowns

  • Article previews with bylines and dates

  • Job listings

These visual enhancements can improve your click-through rates—and help cannabis businesses stand out in a competitive search environment.


How to Test Your Schema

Once your schema is live, test it using:

1. Google's Rich Results Tester:
Paste in your page URL or code snippet. This tool will show which types of rich results your markup qualifies for.

2. Schema.org Validator:
This is useful for checking that your syntax is valid even if Google doesn't support that particular markup.

3. Google Search Console > Enhancements Tab:
Once Google indexes your structured data, you'll start seeing reports for supported types like Product, FAQ, JobPosting, and LocalBusiness. These reports show errors, warnings, and indexing coverage.


Template-Level Setup Using Web Builders

If you’re using platforms like WordPress (with Elementor or Gutenberg), Shopify, Webflow, or Squarespace, don’t manually add schema to every page. Instead:

  • Use your builder’s theme templates (e.g., product page template, blog post template).

  • Add JSON-LD inside <script type="application/ld+json"> tags using dynamic fields (e.g., , ).

  • Many themes or SEO plugins (like Rank Math, Yoast, or Shopify Liquid snippets) support schema templates out-of-the-box.

This ensures that each new blog post, product, or location page gets schema automatically—without needing to touch code each time.


Common Schema Types for Cannabis Websites

Below are the schema types you’ll want to use, real-world examples based on Green Heights, and sample code snippets.


1. LocalBusiness Schema

If you operate a physical dispensary, delivery service, or processing facility with a licensed address. Adding LocalBusiness schema helps Google confirm that your cannabis business is legitimate and location-based. This is key for showing up in Google Maps, the local 3-pack, and local search results like “dispensary near me” or “Cleveland cannabis delivery.”

Example Case:
You want Google to show Green Heights' (a fake company)address, hours, and phone number in the knowledge panel.

Sample Code:

{
"@context": "https://schema.org",
"@type": "CannabisDispensary",
"name": "Green Heights",
"image": "https://greenheights.com/logo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Fake Street",
"addressLocality": "Cleveland",
"addressRegion": "OH",
"postalCode": "44120",
"addressCountry": "US"
},
"telephone": "+1-216-555-1234",
"openingHours": "Mo-Su 10:00-20:00",
"url": "https://greenheights.com"
}

2. Organization Schema

Use this on your homepage, footer, or About page to define your cannabis brand as a legitimate business entity. This schema ties all your other schema types together and can support the appearance of a branded knowledge panel in Google. It helps search engines understand who you are, what you do, and where your web presence lives.

Use Case:
Green Heights wants consistent branding in search across its locations and verticals. You'll often hear something like this come up as you consider consistent NAP (Name, Address, Phone) across directories and helps keep them all connected.

Sample Code:

{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Green Heights",
"url": "https://greenheights.com",
"logo": "https://greenheights.com/logo.png",
"sameAs": [
"https://www.instagram.com/greenheights",
"https://www.linkedin.com/company/greenheights"
]
}

3. Website Schema

Add this to your homepage. Website schema tells Google how your site functions and can enable a search bar directly in your search result listing. For cannabis companies with large inventories or blog libraries, this makes it easier for users to find content or products directly from the SERP.

Use Case:
Green Heights wants a search bar in Google results that lets users search its product catalog directly.

Sample Code:

{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Green Heights",
"url": "https://greenheights.com",
"potentialAction": {
"@type": "SearchAction",
"target": "https://greenheights.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}

4. Product / Offer Schema

Use this on individual product detail pages, like pre-rolls, flower strains, edibles, or vape cartridges. This makes your product listings stand out and can drive higher click-through rates from people searching for specific items like “sativa pre-roll Cleveland.” PLEASE NOTE: while in other industries, this may help you show up in the shopping panel cards, due to Google regulations, cannabis products are not able to be shown as part of their merchant center.

Use Case:
You want pricing and stock data for Green Heights' "Sour Diesel Pre-Roll" to appear in search results.

Sample Code:

{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Sour Diesel Pre-Roll",
"image": "https://greenheights.com/images/sour-diesel.jpg",
"description": "1g pre-roll of Sour Diesel. Energizing sativa strain.",
"brand": {
"@type": "Brand",
"name": "Green Heights"
},
"offers": {
"@type": "Offer",
"priceCurrency": "USD",
"price": "12.00",
"availability": "https://schema.org/InStock",
"url": "https://greenheights.com/products/sour-diesel-pre-roll"
}
}

5. ItemList Schema (For Product Collections)

Use this on product category or collection pages—like “Top-Selling Edibles” or “New Arrivals.” It tells Google that a list of products is grouped together on one page. This improves how category pages are crawled and understood, and can sometimes influence how multiple products from your site show up under a single Google result. These are the workhorses of your product library, and the ones that will most likely get boosted by schema markup.

Use Case:
Green Heights wants to mark up its “Top Flower Picks” product collection page.

Sample Code:

{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "Top Flower Picks",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"url": "https://greenheights.com/products/blue-dream"
},
{
"@type": "ListItem",
"position": 2,
"url": "https://greenheights.com/products/gelato"
}
]
}

6. Article / BlogPosting Schema

Use this on educational blog content—like posts about Ohio cannabis laws, terpene profiles, or product how-tos. BlogPosting schema adds structured data for the author, publish date, headline, and more. This increases the chance your blog shows up with rich results, including featured snippets or article cards in Google Discover.

Use Case:
Green Heights publishes a blog post titled “Understanding Ohio’s Recreational Cannabis Laws.”

Sample Code:

json
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Understanding Ohio’s Recreational Cannabis Laws",
"author": {
"@type": "Person",
"name": "Jenny Roth"
},
"datePublished": "2025-04-10",
"image": "https://greenheights.com/images/ohio-laws.jpg",
"publisher": {
"@type": "Organization",
"name": "Green Heights",
"logo": {
"@type": "ImageObject",
"url": "https://greenheights.com/logo.png"
}
},
"articleBody": "..."
}

7. FAQPage Schema

Add this to FAQ sections across your site—especially on product pages, location pages, or legal information pages. Google may display your Q&A directly in search as expandable dropdowns. For cannabis businesses, this is a great way to answer common questions about legality, THC content, ID requirements, or first-time visitor info without the user even leaving the results page. According to some research, these are also being heavily used to inform Google's AI answers. You can also add this schema outside of specific FAQ pages, and is often a good resource for Q&A style blogs, much like this one you're reading right now.

Use Case:
Green Heights answers common questions about legality on its homepage.

Sample Code:

{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "Is recreational cannabis legal in Ohio?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, as of 2024, recreational cannabis is legal for adults 21+ in Ohio. Green Heights is a licensed provider."
}
}]
}

8. JobPosting Schema

Use this on your careers or hiring page whenever you have open roles like budtender, delivery driver, or cultivation tech. This enables your job listings to appear in Google Jobs search results. It helps you reach job seekers actively searching for cannabis positions in your area, even if they don’t know your brand yet.

Use Case:
Green Heights is hiring a budtender in Cleveland and wants it to appear in Google Jobs.

Sample Code:

{
"@context": "https://schema.org",
"@type": "JobPosting",
"title": "Budtender",
"description": "Help customers select cannabis products based on needs and preferences at Green Heights' flagship Cleveland location.",
"datePosted": "2025-05-10",
"hiringOrganization": {
"@type": "Organization",
"name": "Green Heights",
"sameAs": "https://greenheights.com"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Fake Street",
"addressLocality": "Cleveland",
"addressRegion": "OH",
"postalCode": "44120"
}
},
"employmentType": "FULL_TIME",
"applicantLocationRequirements": {
"@type": "Country",
"name": "US"
}
}

Automate Schema and Monitor Results

Setting up schema at the template level saves time, scales effortlessly, and reduces errors. Once schema is implemented, test with Google’s Rich Results Test and monitor performance through Google Search Console’s Enhancements section.

If you’re serious about local rankings, product visibility, or getting ahead of competitors in Google, structured data is essential.

Need help adding schema to your cannabis site? Reach outwe’ll help you build it right from the ground up.

 

Chris Chin - Founder
Post by Chris Chin - Founder
May 12, 2025 11:58:07 PM

Comments