Most posts about dispensary SEO are written by agencies that have never operated a dispensary. This one isn't. I ran marketing for STIIIZY across 7 states with $2.4M in ad spend before starting Sparksbox. Here's what actually drove traffic, what wasted time, and what I'd do differently if I were opening a dispensary tomorrow.
What dispensary SEO actually is
Dispensary SEO is local SEO with a regulatory twist. The buyer is usually within 10 miles of the store. They know what they want or they're sorting by price. They're on a phone. And they're searching from a state where cannabis is still federally illegal, which is why Google won't sell you ads to compete on the same terms as a coffee shop.
Cannabis brand SEO is a different game (more like CPG content marketing). Dispensary SEO is closer to restaurant or auto shop SEO than to e-commerce. The win condition isn't ranking for "best gummies." It's owning your city plus 3 to 5 neighborhood modifiers, dominating the local pack, and making your strain pages indexable.
If you remember one thing: people don't search for dispensaries the way they search for laptops. They search the way they search for sushi.
Why dispensaries can't buy traffic
Google's ad policy explicitly prohibits ads for the sale of cannabis or THC products. Anything that hints at THC, "flower," "pre-roll," or even "order online for pickup" can get an ad rejected.
Google runs a strike system: first violation is ad removal, second is a 3-day account hold, third is 7 days, fourth is permanent suspension (Google Ads Policy).
Meta and TikTok are the same story with different paperwork. The narrow exception is FDA-approved CBD topicals at under 0.3% THC, with LegitScript certification, in California, Colorado, or Puerto Rico. That's not a dispensary use case.
What this means in practice: paid acquisition for a dispensary is mostly Weedmaps, Leafly, Jane, and direct partnerships with delivery platforms. Search ads aren't on the table. Programmatic display is fragile and gets pulled. SEO and earned organic are the only channels you fully control.
The operators I've worked with who treated SEO like a "nice to have" and tried to scale through paid spent 6 months and six figures learning this. Don't be that operator.
Why is the local pack 80% of the dispensary SEO game?
If you optimize one thing, optimize this. The local pack (the 3-pack of map results that shows above the blue links) eats most of the click share for dispensary searches.
The breakdown above is from cross-referencing BrightLocal's 2025 local search data with what I observed in STIIIZY's regional reporting. Your mileage varies by city, but for most dispensaries the local pack and direct branded traffic combined are 70 to 80% of organic.
Three things move you up the local pack:
Reviews, recency, and volume. Sterling Sky's 2025 study found that crossing the 10-review threshold gives a small but visible bump, and businesses with 200+ reviews are dramatically more likely to land in the top 3 (Sterling Sky, 2025). Recency matters as much as volume.
Whitespark put review recency in the top 5 ranking factors of 2025 (Whitespark). A store with 80 reviews from this quarter outranks a store with 300 reviews from 2022.
GBP (Google Business Profile) completeness. Categories, hours, products, attributes, photos. Pick the right primary category (it's "Cannabis store" in most states, not the generic "Health"). Add every secondary category that fits.
Upload photos weekly, not once. Use Google Posts. Fill out the products section with your top 10 strains. None of this is glamorous and all of it works.
NAP (name, address, phone) consistency and local citations. Stay consistent across Yelp, Apple Maps, Bing Places, Weedmaps, Leafly, Cannabis.net, the state cannabis directory, and your local chamber. Inconsistent listings dilute the signal. There are tools for this (BrightLocal, Yext) and they're worth the spend for a multi-location operator.
A dispensary with a 4.5-star average earns up to 25% more clicks than one at 3.5 stars. That's before ranking. The compounding effect is real.
Editor's Note: For the broader cannabis SEO playbook covering brand sites (not just dispensaries), see our cannabis SEO pillar.
Your product pages are the second thing
This is where most dispensaries lose. Your menu probably runs on Dutchie, Jane, or Treez. The default embed for these platforms is iframed, which means Google can't see most of the content. Your strain pages don't get indexed and you never rank for "[strain name] near me," which is one of the highest-intent searches a buyer can make.
The fix is to render your menu data on your own domain alongside the embed. Pull the API or have your dev team build a parallel SSR (server-side rendered) menu page. Each strain gets its own URL, its own meta title with the strain name and your store, its own Product schema with price and availability, and its own image with descriptive alt text.
For STIIIZY, the menu pages drove more organic conversions than the homepage once we got them indexed. The homepage gets traffic from brand searches. The strain pages get traffic from buyers who already know they want Pineapple Express and are sorting by store.
The lab results page is a hidden asset most operators ignore. It builds topical authority around specific strains and earns long-tail traffic ("[strain] thc percentage [your city]") that converts surprisingly well. Link to it from every product page.
What's different about local SEO for dispensaries?
Three things specific to cannabis that don't apply to other local businesses:
Compliance language has to live on every page. State-required disclaimers, age gates, "for adult use only" copy. Most operators stuff this into the footer and forget it.
Google reads the footer. Make sure the language matches your state's rules and that the age gate doesn't accidentally block crawlers (return a 200 with the gated content visible to bots, gate the UI on the client side). Our cannabis compliance page goes deeper on this.
Reviews are tricky. You can't offer discounts for reviews (Google policy, plus state cannabis advertising rules in most states). What you can do: a printed card at checkout with a QR code to your review URL, a follow-up text the day after a purchase, and training your budtenders to ask. Most dispensaries have plenty of happy customers and almost no review program.
Delivery is its own search vertical. "[City] cannabis delivery" and "cannabis delivery near me" are separate keyword sets from "[city] dispensary." If you offer delivery, build a dedicated /delivery page with its own schema, its own service area markup, and its own FAQ. This routinely doubles a dispensary's qualified non-branded traffic when done well.
Content that ranks vs content that doesn't
Most dispensary blogs are wasted effort. "5 benefits of indica" doesn't rank, doesn't convert, and doesn't differentiate you. The content that earns traffic is more specific.
The rankings above are based on the page types that drove qualified traffic at STIIIZY and what I've seen since. Two patterns hold up:
Education tied to product earns traffic. A page on "what is live resin" linked to a live resin strain selection page beats a generic "history of cannabis" post by 10x in conversion rate. The buyer is already signaling intent.
Local pages work when they're real. A "[neighborhood] cannabis delivery" page with actual content about that neighborhood, real photos, real customer testimonials from that area, and proper schema will rank. The same page templated across 40 zip codes with substituted city names won't, and may trigger Google's doorway page penalty.
Skip the lifestyle content unless you have a real brand reason to publish it (and even then, put it on the brand site, not the dispensary site).
How to audit your dispensary SEO in 6 steps
In rough order of how often I see it broken, here's the audit pass to run before writing another blog post:
- 1Check schema coverage. Confirm Organization, LocalBusiness, Product (per strain), FAQPage, and Article schema are server-rendered. AI crawlers like ClaudeBot and GPTBot don't execute JavaScript (SEO industry consensus, 2025-2026). If your schema is in a React useEffect, it's invisible to AI engines.
- 2Test page speed on the menu embed. Dutchie embeds are heavy. The fix isn't to remove them, it's to lazy-load and render a skeleton menu on the server first so the page is interactive before the iframe loads. Core Web Vitals green is the bar, not perfection.
- 3Walk the mobile experience on 4G. 70% of your traffic is on phones. Test the actual checkout flow on a 4G connection on a 2-year-old Android. If it takes more than 4 seconds to a usable menu, fix that before writing another blog post.
- 4Verify sitemap freshness. Make sure new strain pages get into the sitemap within a day. Submit it to Search Console. Check the indexing report weekly. If 30% of your pages aren't indexed, that's a structural problem worth fixing before doing anything else.
- 5Audit HTTPS, canonical tags, and robots.txt. Boring, mandatory. Once a quarter is enough.
- 6Pull your GBP insights and review velocity. Look at the last 90 days. If reviews are flat or declining, that's the highest-leverage thing to fix before any technical work.
Timeline and what to measure
Honest expectations: local pack movement happens in 60 to 90 days if reviews are flowing and your GBP is dialed. Blue link rankings for commercial keywords take 4 to 6 months. AI engine citations follow ranking by another 2 to 3 months. Anyone who promises faster is selling.
The 4 metrics worth watching:
- 1Local pack impressions in Google Search Console (filter to "Map" search type). This is your fastest signal.
- 2Calls and direction requests from Google Business Profile. Direct revenue proxy.
- 3Branded search volume growth (your store name + "near me," "menu," "hours"). Slow, but proves you're building real awareness.
- 4Non-branded volume on commercial intent. "[City] dispensary," "[strain] near me," "[city] cannabis delivery."
Skip these metrics, they're noise: total backlinks, raw DR, total page count, time on site as a single number. They distract from what's actually moving.
Frequently asked questions
Local pack ranking moves in 60 to 90 days with proper Google Business Profile setup and review velocity. Blue link rankings on commercial keywords like "[city] dispensary" take 4 to 6 months. Plan for a year before SEO is your dominant channel, but expect leading indicators (impressions, profile views, calls) within 60 days.
Yes, and the ad restrictions are why ranking matters more for dispensaries than for most local businesses. Google's organic algorithm doesn't apply the cannabis ad policy. As long as your site complies with state advertising rules and you don't use sketchy tactics like fake reviews, organic visibility is fully available.
SEO is one channel inside marketing. Dispensary marketing also includes Weedmaps and Leafly listings, in-store promotions, loyalty programs, SMS, email, brand partnerships, and budtender training. SEO is the channel you fully own and control, which is why it deserves disproportionate attention given the paid ad restrictions. See our dispensary marketing breakdown for the full picture.
Yes. Delivery and storefront are separate keyword sets and separate user intents. Build a dedicated /delivery page with service area schema, an FAQ specific to delivery (minimum order, delivery hours, ID requirements), and links from your homepage. Don't try to rank one URL for both.
Treating it like content marketing. They hire someone to write 4 blog posts a month and skip the local pack work. The 80/20 is reversed. Spend 80% of your effort on Google Business Profile, reviews, product schema, and menu page indexing. Spend 20% on content. Most do the opposite and wonder why nothing happens.
What's coming for dispensary SEO
A few things are shifting under our feet. Google's AI Overviews are starting to appear on commercial cannabis queries (they were almost absent a year ago).
Sterling Sky reported that AI local packs feature 68% fewer unique businesses than traditional packs (Scaledon analysis), which means the top performers will get more visibility and the middle of the pack will get less. The barbell shape gets more extreme.
ChatGPT, Perplexity, and Gemini are answering more "best dispensary in [city]" questions directly. Whether your store gets cited depends on whether you're mentioned in the sources those engines trust (Reddit, local press, Wikipedia for chains, Yelp). Operator content on LinkedIn and YouTube compounds in ways that on-domain blog posts don't.
The dispensaries winning a year from now will be the ones who treated SEO like operations, not like marketing.