Dispensary Schema Generator
Fill in one store and get clean LocalBusiness structured data built for cannabis retail, with a live preview of what it states. Copy it into that location page so the store's name, address, hours and links are stated in a form a crawler does not have to guess at.
Build The Markup For One Store
Fill in the store as it appears on your Business Profile. The code on the right updates as you type, with a preview of what it states and a list of what is still missing.
- Schema repeats your name, address, coordinates and hours in the page HTML, in a form a crawler does not have to interpret, whatever the menu and age gate do.
- Store is the right type for almost every dispensary, and the markup should match your Business Profile character for character.
- Skip Product markup on cannabis items. Google's Shopping policies prohibit marijuana, and the markup pushes the page toward promoting restricted goods.
01 Why Structured Data Matters
Structured data is a block of code that tells a search engine what a page is about, in a format it does not have to interpret. On an ordinary retail site it is a helpful addition. On a dispensary site it does far more work, because so much else is working against you.
Paid advertising is closed to cannabis on the major platforms, so organic and local search carry the whole weight of acquisition. At the same time, dispensary sites are unusually hard for a crawler to read. The menu often loads inside an iframe, and the age gate can hide the rest.
Structured data helps with that. Placed in the page HTML, it repeats the name, address, coordinates and hours the page already shows, in a form that does not depend on scripts running and that a crawler does not have to interpret.
02 Which Schema Type To Choose
Four types come up for dispensaries. Schema.org has no cannabis type, and only one of these is the right default.
| Type | What It Says | Use It When |
|---|---|---|
| Store | A retail storefront. A schema.org subtype of LocalBusiness with no medical implication. | The right default for almost any dispensary. When in doubt, this one. |
| LocalBusiness | The broadest local type. Correct, just less specific. | A business that does not fit neatly into a retail description. |
| HealthAndBeautyBusiness | Salons, spas and similar personal care businesses, which is not what a dispensary is. | Almost never. It misdescribes the store and hints at the health claims you cannot make. |
| Pharmacy style types | Pharmacy sits under MedicalBusiness: a licensed pharmacy. | Not for a cannabis dispensary, even a medical one, unless it is also a licensed pharmacy. |
03 The Fields That Actually Carry Weight
Not every property is worth the effort. A small set does most of the work, and the generator flags them if you leave them empty.
Name, Address And Phone
The foundation. They should match your Google Business Profile character for character. Markup that contradicts the listing it should agree with is worse than no markup, because it introduces doubt instead of confidence.
Geo Coordinates
They remove any ambiguity about where the store physically sits, which matters when two stores are close together or an address is hard to geocode.
Opening Hours
Worth filling properly, and worth keeping identical to the hours on the page and the Business Profile, so Google is never given two different answers.
sameAs
Links to your Google Maps listing, Weedmaps page and Leafly profile tell a crawler that these profiles describe the same store. Use full profile addresses. sameAs expects a web address, so a bare handle such as @littlefirhill does not point to a profile.
04 Why This Tool Does Not Generate Product Schema
Operators often ask for Product and Offer markup on menu items, expecting results with prices and ratings. Google's Shopping policies prohibit marijuana products, so shopping listings are out however correct the markup is.
Marking up cannabis products with prices and potency also pushes a page toward promoting restricted goods. That is the same behavior that gets Business Profiles suspended. Why product schema is a separate decision covers the full reasoning.
05 Doing This Across A Multi Location Chain
Every store needs its own markup on its own page, with its own address, coordinates, hours and license number. The failure mode is predictable. Someone generates the markup once and reuses it across thirty location pages with only the city swapped. That produces thirty pages claiming the same coordinates, which is simply wrong.
For a chain, add parentOrganization pointing at the brand, so the individual stores connect to the parent entity. Then fill the markup from the same per store data sheet that drives your location page content. Both need the same facts, and gathering them twice wastes time. This is part of the delivery work in a multi location engagement.
06 Mistakes Worth Avoiding
Markup The Page Does Not Show
Google's guidelines say structured data should describe content visible on the page. Markup that describes something else breaks those guidelines. If the hours are in the schema, they belong on the page too.
Drift
A store changes its hours, the page gets updated, and the schema block quietly keeps the old details for a year. Treat markup as page content, not a set and forget task. Re-check it whenever the store details change.
Skipping Validation
Run every block through Google's Rich Results Test after publishing. A single malformed character can invalidate the whole block, and nothing on the page will look wrong.
07 Where Schema Fits In Dispensary SEO
Schema does not rank a page by itself. It makes everything else legible. In dispensary SEO it belongs to the same foundation as the profile and the location page, and the local SEO foundation guide shows how the three reinforce each other.
It is also one of the cheapest wins a dispensary SEO consultant can hand a new client, because many dispensary sites either have no markup or markup that contradicts the Business Profile.
If you are not sure whether your existing markup is helping or hurting, the free audit reads it alongside everything else and tells you which it is.
Questions About Dispensary Schema Markup
Found Something And Not Sure How Serious It Is?
Send the domain and what the check flagged. You will get a written read on what it is costing you and what to fix first.
Get Your Free Audit