Local SEO for dispensaries comes down to five jobs done in order: a verified Google Business Profile under the Cannabis store category, citations that match to the character, a steady stream of reviews nobody paid for, one strong page per store or city, and local links from your own town. The THC ad ban does not touch any of it, and Weedmaps cannot compete with you in the map pack.
How local search works for a dispensary
Local search for a dispensary runs on the same system as any retailer, and licensed stores are fully eligible for it. Google refuses ads for THC products, and plenty of owners assume that ban covers everything. It does not. A licensed dispensary can hold a Google Business Profile, appear in Maps and rank in the map pack. The stores that stay invisible are usually the ones that never claimed a profile because someone told them they couldn't.
Google orders local results on three factors it names in its own help docs: proximity, relevance and prominence. Proximity is how close you are to the searcher, and you can't move your building. Relevance is mostly the right category and a complete profile, which you can finish in a day. Prominence is how established you look: reviews, citations, links and mentions. That is the factor you grind on for years, and it is where incumbents hold their lead.
The map pack also changes the competitive math. Search "dispensary" plus your city and the organic results go heavily to Weedmaps, Leafly and Yelp, sites with millions of pages and years of links. Above them sits the map pack, built only from business profiles. Directories cannot hold a spot there. That asymmetry is the whole strategy for a single store: win the pack, own your brand name, and take the specific searches directory templates answer badly. Keep your Weedmaps listing while you do it. It still counts as a citation and still sends orders.
Set up the Google Business Profile
Your Google Business Profile is the most important page you have, and most of its problems are self-inflicted. Before creating anything, search your store name and phone number on Maps. A listing may already exist from aggregator data or a previous tenant. Claim it instead of creating a second one, because duplicates split reviews and trigger suspensions.
Name it exactly what the sign says. The profile guidelines require the real-world business name. "GreenLeaf" on the building means "GreenLeaf" on the profile, not "GreenLeaf Dispensary Best Weed Ann Arbor". Keyword-stuffed names are the most common suspension trigger in this category.
Set Cannabis store as the primary category. Google weighs the primary category more than any other field when matching your listing to a search. Operators sometimes pick something vaguer hoping to dodge scrutiny, and they get worse rankings with no real protection. Add secondary categories only when they are true: a store with a serious glass wall might add Vaporizer store. Every added category is a claim Google may ask you to prove, so a medical category with no clinician on site is a liability. CBD-only shops usually can't use Cannabis store cleanly and tend to land on Herb shop or Vitamin and supplements store as the nearest honest fit.
Get through verification with paperwork in reach. Cannabis profiles get extra scrutiny, and video verification is common: a walkthrough showing permanent signage, the street and proof you operate there. Have your state license, a utility bill or lease at the address and your business registration ready before you start.
Keep hours and attributes exact. Google uses them as filters and drops you from "open now" results the moment it thinks you are closed. Set special hours before every holiday, because one stale Fourth of July closing time removes you from every evening search that weekend and sends drivers to a dark store. Check only the attributes that are true, like in-store pickup, curbside pickup, accessibility and payment types.
Load real photos on day one. Stock imagery is the tell of an absentee listing. Six phone shots cover it: the storefront from the street with the sign readable, the entrance, the sales floor, the counter, the parking situation and the team. Set the cover photo yourself, add a few new images every month, and watch what customers upload.
Seed the Q&A before strangers fill it. Anyone can ask and anyone can answer on your profile, including people who have never been inside. Post the questions your budtenders hear every day (do you take debit, what ID do I need, is there parking) and answer them from the business account. Notifications are unreliable, so check it weekly. Then use posts and products for merchandising: a weekly post about new stock or an event keeps the profile visibly alive.
Survive a suspension
A suspended dispensary profile is usually recoverable if you work it in order. First, work out which kind you have. A soft suspension takes away your ability to manage the listing while it may still show. A hard suspension removes it from Maps entirely, so every day it stands costs you walk-ins.
Find and fix the trigger before you appeal. The usual causes in cannabis: a name that doesn't match the signage, a visible address on a delivery-only listing, a virtual office or PO box, stacked categories, a burst of edits in one day, or reviews that look bought. Correct the problem and screenshot the fix.
Then file one reinstatement request with everything attached: your state license from your regulator (Colorado's Marijuana Enforcement Division, Michigan's Cannabis Regulatory Agency, New York's Office of Cannabis Management and so on), a utility bill or lease showing the business name at the address, storefront photos with permanent signage and your business registration. Over-document. Duplicate requests reset the queue, so if the first answer is a vague denial, reply in the same thread with more proof. Never create a replacement listing while you wait. It gets caught and makes the record worse.
Here's a typical recovery. A Michigan store wakes up to a hard suspension because its profile name carries three keywords the sign does not. The owner fixes the name, photographs the storefront, exports the CRA license PDF and a utility bill and files one request explaining the fix. The listing returns nine days later, and the new house rule is one profile edit at a time, matching exactly what someone standing outside would see.
Citations, NAP and Apple Maps
Citations are every place your name, address and phone number (NAP) appear online, and they help only when every one matches. Start with the four that cover the surfaces customers actually use: Google Business Profile, Yelp, Apple Business Connect and Bing Places. Then add Weedmaps and Leafly, which carry industry relevance and rank on page one for most dispensary searches anyway, so a full listing there is defensive as much as anything.
Write one canonical version of your details in a shared doc and paste from it every time. Suite 200 versus #200, St versus Street, a call-tracking number on one platform: each mismatch chips at Google's confidence that these listings describe one business. The classic self-inflicted mistake is a marketing tool inserting tracking numbers into citations. Track calls on your website and keep listings on your real line. Record every login in the same doc, because the person who builds the listings is rarely the person who maintains them.
Apple Maps deserves more attention than it gets. It is the default on every iPhone, in Siri and in CarPlay. Claim your place card in Apple Business Connect, check that the pin sits on your actual door and not the middle of the parking lot, set the category and hours, and add an ordering link. Apple pulls reviews and photos from Yelp, so your Yelp profile is the review engine behind your Apple listing.
Clean up duplicates at the source. Most duplicate listings come from aggregator data and old addresses. Search your name plus city, then your phone number, and claim, merge or request removal for every stray result. Fix the data feed that created them, or they come back. After the first cleanup, a fifteen-minute recheck each quarter keeps it cheap.
Reviews that move rankings
Reviews are the loudest prominence signal a dispensary controls, and the rules around them are strict. Count, average rating, velocity and even the words inside reviews feed local ranking. When a customer writes that you had the best live resin selection in town, that text helps you surface for live resin searches. You can't script that. You can only earn volume and let the keywords arrive.
Google's review policy sets two hard lines. No incentives: no discounts, points or raffle entries in exchange for a review. No gating: you can't survey customers first and send only the happy ones to Google. Enforcement runs from deleted reviews to a suspended profile, and a cannabis listing doesn't need to hand Google a reason. Yelp is different again. Its guidelines tell businesses not to ask for reviews at all, and its filter hides reviews it suspects were solicited. Keep the Yelp profile complete and let it grow on its own.
Build the ask into the transaction so every customer gets the same one: a QR code at the register that opens your Google review form, a line in the emailed receipt, a card in the bag. That keeps you clear of gating and produces steady week-over-week velocity. Fifteen reviews this month beat fifty that arrived last year.
Reply to everything within a couple of days. Replies won't move rankings directly, but every future customer reads them, and attended profiles get more reviews. Keep positive replies short and specific. Write negative replies for the audience reading later: apologize, move it to a direct channel and fix what is fixable. One rule particular to this industry is to keep replies away from medical effects. Talk about service, availability and price.
Location pages that rank and convert
A dispensary location page has to do two jobs: back up the profile for Google and get a decided buyer through the door. Someone landing from a local search has usually chosen to buy and is choosing a store. So the top of the page carries the address, today's hours stated plainly, a tap-to-call number and a Get Directions button. On a phone, all four should show without scrolling. Point your Google Business Profile at this page, not the homepage.
Know what your menu embed does. Most stores run menus through Dutchie or Jane. Embedded menus are fine for shoppers, but the products inside the iframe get credited to the provider's domain, not yours. The page around the embed has to carry your SEO weight in crawlable text, and the menu button has to be impossible to miss. Put one in the header block and repeat it after the store details.
Prove the store is real. Photos of your actual storefront, floor and staff, a line about parking, two short quotes from Google reviews and your license number where your state expects it shown. Then answer the first-timer's questions: valid government ID showing 21 or older, how payment works at your counter (cash, ATM on site, debit) and what applies to medical cardholders. Stores that answer "do they take cards?" on the page convert visitors who would otherwise stall.
Mark it up with Store schema. Each storefront page gets one Store JSON-LD block following Google's local business structured data guidance: name, address, geo coordinates, telephone, openingHoursSpecification matching your posted hours, hasMap pointing at your Maps listing and sameAs pointing at your Weedmaps, Leafly and Yelp profiles. Match every value to your profile, then validate it in Google's Rich Results Test. A typo in a schema block fails silently.
Measure the page by what it is for. Set up three analytics events, directions clicks, call clicks and menu clicks, and treat that trio as the scoreboard. Rankings tell you the page got found. Directions clicks tell you it worked. Our guide to tracking cannabis conversions from organic search covers the setup.
Running more than one store
Every dispensary storefront needs its own Google Business Profile, its own page and its own schema block. Google treats each physical address as a separate business, and so should you. A single profile meant to cover three stores ranks in one neighborhood at best, because one pin can only be close to one place. Give each store its own phone number if you can, and set each profile's website field to that store's page.
Build a store locator search engines can crawl. A /locations/ hub lists every store with a plain HTML link to a stable URL like /locations/denver-colfax/. The common failure is a map widget that loads stores through JavaScript with no crawlable links. The pages exist, nothing links to them, and they rank for nothing.
Use one template with fixed and variable slots. Fixed slots on every page: address, hours, phone, menu link, license number and Store schema with its own unique @id. Variable slots make each page worth its URL: parking, the bus stop out front, staff, the venue next door, that store's later closing time. Pages that only swap the city name match what Google's spam policies call doorway pages, and they get filtered. The test is simple: if you can't write a paragraph only true of that store, the page isn't ready.
Keep citations from cross-contaminating. The usual mess shows up around store number three: the Aurora Yelp listing carries the Denver phone number, or two Weedmaps profiles share one address. Keep a spreadsheet with one row per store per platform and audit it twice a year, plus any time a store moves or changes hours.
Delivery services and brands without a storefront
A cannabis business without a storefront needs a different local playbook, and which one depends on what you are. A delivery service is a service-area business under Google's rules. You verify with a real address, then hide it, because a visible address customers can't visit violates the guidelines and is a common suspension trigger. Then you set service areas by named place (cities, ZIP codes or counties), up to 20 of them. Google retired radius-based areas.
Keep the zones inside your license and inside reality. A listing advertising delivery into towns that prohibit it invites both regulators and Google. Start from the map in your license paperwork, trim it to where delivery is actually profitable, and copy the same zone list to Weedmaps, Leafly, Yelp and Apple. When platforms disagree, customers place orders you have to cancel, and canceled orders come back as one-star reviews.
Proximity still counts from your dispatch point, so rankings thin out the farther a zone sits from home. That makes zone pages worth building only where orders already come from. Pull a year of order history: towns producing steady deliveries earn a page, the ZIP you touched twice does not. Each zone page needs facts no other page has, like that town's cutoff time, minimum order, covered ZIPs and reviews from customers there. Most delivery operations end up with five to fifteen pages, not fifty.
A product brand with no store wins local search through where-to-buy pages and its retailers' menus rather than a profile of its own. Keep a crawlable store list, keep it current, and make sure your products are named the same way on every retail menu.
Which keyword goes where
Local dispensary keywords fall into a few patterns, and each one is won in a different place. Treating them as one big list puts effort in the wrong spots.
- "Dispensary near me" is won by the profile. Google resolves it with the phone's location, your verified address, your category and your reviews. Writing "near me" into headlines changes nothing except making the page read like it was written for a robot. Our answer on ranking a dispensary in the Google map pack goes deeper.
- "Open now" and "open late" are an hours problem. Exact hours everywhere, holiday hours every holiday. Being genuinely open when competitors aren't is a visibility asset in its own right.
- City terms like "dispensary mesa az" belong to one strong page per city. Don't split the job across a homepage, a city page and a "best dispensary in Mesa" post. Google will pick one for you and rotate them.
- Neighborhood and landmark terms are often uncontested. Pull the district names and nicknames locals type from Search Console and autocomplete and work them into the location page and its directions copy. Tourists search the same way around landmarks and hotels ("dispensary near the Strip"), so stores in visitor markets earn a short visitor section covering out-of-state ID and the nearest parking garage.
- County terms show up where city-level retail is patchy, from searchers in towns with no licensed store. One substantial county page can rank organically. The map pack stays anchored to proximity and won't carry you across a county.
- Product plus city ("live resin mesa") belongs to menu category pages or short buying guides tied to what you stock. These searchers have already picked the product, and most competitors leave the term to Weedmaps.
Search Console tells you which pattern you are losing. Open the Performance report, filter queries containing your city, then queries containing "open", then product terms. A city page sitting at position six with impressions and few clicks is the highest-value fix available. Spikes on "open" queries on a holiday weekend usually mean holiday hours were never set.
Local content that earns its place
Local content for a dispensary starts with a page hierarchy before any blog post. The location page comes first, the city page second, and only then do supporting posts earn their budget. Plenty of stores publish forty posts while the location page is still a stub with a phone number, which is backwards.
Supporting posts work when they are hyperlocal, meaning neighborhood-level detail a store two towns over could not fake by swapping a city name: where to park near your block, what a new curbside ordinance means for your street, the season's 21-plus events nearby, what first-time visitors need to bring under your state's actual ID rules. Your budtenders hear a quarter's worth of topics every week. City guides follow the same rule, and they get stronger when they cite the regulator for purchase limits instead of paraphrasing rules that change.
Link every post to the location page it supports with a plain anchor like the store name, and cut each post into a Google Business Profile post the same week. Then review the library twice a year. Posts with zero clicks and falling impressions get merged into a stronger page or redirected. A local library that shrinks and sharpens beats one that only grows.
Local links and PR
Local links are the part of dispensary SEO most stores skip, and they are the prominence lever competitors can't copy. Generic link building fails for cannabis: national publishers often refuse the category, and the cannabis blogs that link to anyone are usually link farms. Local sources judge you as a neighbor and employer instead.
A healthy dispensary backlink profile looks like its city, and it's boring on purpose:
- Membership directories. Chambers of commerce, downtown alliances and neighborhood business associations publish member directories with links. Check that the directory is public and crawlable before you pay to join.
- Local press. Business journals and local dailies cover openings, hiring, license milestones, tax contributions and holiday sales weekends. Pitch the business story, never the strains or the deals. Build a short list of reporters, answer within the hour when they need a source, and keep a press page with your license number, founder bio, photos and a live contact.
- Sponsor pages. Farmers markets, charity 5Ks and summer music series usually list sponsors with links. Confirm the logo-and-link placement in writing before paying, and turn each event into a recap post, a profile post and fresh listing photos.
- Neighbors. A "before or after your visit" page naming nearby restaurants and coffee shops gives every named business a reason to mention you. Spreadsheet-driven reciprocal link swaps are a different thing, and Google's spam policies name them as a scheme.
Anything paid should be marked rel="sponsored" by the site linking to you, and paid mentions need a clear disclosure under the FTC's Endorsement Guides. Neither costs you local value, because sponsor links work through relevance and the mention itself. Keep anchor text to your business name or URL. A profile where a third of the anchors say "best dispensary in Tacoma" is a pattern no set of real local sites would produce. Ignore the scraper junk that shows up in Search Console's Links report, since Google discounts it on its own.
Tracking local rankings
Local rankings for a dispensary change block by block, so any single rank number misleads. A store can hold the first pack spot downtown and be invisible four miles north. Track the map pack with a geo-grid tool that samples results from dozens of points across your trade area, and run it monthly on the same grid so a move on the grid reflects a real change.
Track organic terms in Search Console, which shows real queries and positions but nothing about the map pack. Judge both on trend lines over months, and tie them to the three page events above. When the grid shows a weak pocket, the fix is usually local to it: review asks at the store that serves it, or a section on the location page covering that neighborhood.
Winning a saturated market
In a saturated cannabis market, thirty licensed stores can contest three map pack spots, and proximity stops protecting anyone. The margins move to review velocity, category and attribute parity, landing-page depth and photo freshness. Start by auditing whoever holds the pack today: their categories, attributes, review count and pace, photo count and the page their profile links to. Close every gap they have on you, then outrun them on review velocity. Build the location page nobody else bothered with, keep posting and adding photos so the profile looks attended, and take the neighborhood pockets the geo-grid shows are weakly held. Expect it to take about six months.
Opening a new store? Run the order in our local SEO checklist for a new dispensary opening, because sequence beats effort in the first ninety days. If you would rather hand the whole program off, that is what our dispensary SEO service covers.
Key takeaways
- The THC ad ban does not apply to Google Business Profile or Maps, and directories can't enter the map pack.
- Name the profile exactly like the sign, set Cannabis store as primary and keep every hour, holiday included, exact everywhere.
- One canonical name, address and phone, pasted identically to Google, Apple, Bing, Yelp, Weedmaps and Leafly.
- Ask every customer for a review the same way, never pay or filter, and reply to everything without medical claims.
- One profile, one page and one Store schema block per storefront; delivery runs as a service-area business with zones inside its license.
- Local links come from your own city: chamber, press, sponsors and neighbors, with paid placements disclosed.
Frequently asked questions
Can a dispensary have a Google Business Profile?
Yes. Google bans ads for THC products, but licensed dispensaries can hold a Google Business Profile, appear in Google Maps and rank in the map pack like any retailer. Use Cannabis store as the primary category and keep the license paperwork ready for verification.
How long does local SEO take for a dispensary?
Relevance work like category, profile fields and the location page can be done in the first few weeks. Prominence, meaning reviews, citations and local links, builds over months. Most stores see map pack movement around their own block within a quarter and a fuller picture after six months, depending on how saturated the market is.
Why did my dispensary's Google listing get suspended?
The most common triggers are a business name that doesn't match the storefront sign, a visible address on a delivery-only listing, a virtual office or PO box, stacked categories, a burst of edits or reviews that look bought. Fix the trigger first, then file one reinstatement request with your state license, a utility bill and storefront photos.
Should a dispensary build "near me" pages?
No. Google answers "near me" searches with the searcher's location, your verified address, your category and your reviews. Pages with "near me" in the title don't change that. Put the effort into the profile, accurate hours and review velocity.
Can I offer a discount for Google reviews?
No. Google's review policy prohibits incentives of any kind, including discounts, points and raffle entries, and it also prohibits asking only happy customers. Ask every customer the same way at checkout and offer nothing in return.
Sources
- How to improve your local ranking on Google, Google Business Profile Help. Names relevance, distance and prominence as the local ranking factors.
- Guidelines for representing your business on Google, Google Business Profile Help. Covers naming, eligibility and service-area rules.
- Manage your service areas, Google Business Profile Help. Covers named service areas and their limits.
- Fix a suspended Business Profile, Google Business Profile Help. Covers suspensions and reinstatement requests.
- Prohibited and restricted content, Google Maps user-generated content policy. Covers incentivized and fake reviews.
- Content guidelines, Yelp. Covers Yelp's stance on soliciting reviews.
- Apple Business Connect, Apple. Covers managing a place card in Apple Maps.
- Local business structured data, Google Search Central. Covers LocalBusiness and Store markup properties.
- Link best practices for Google, Google Search Central. Covers crawlable links.
- Spam policies for Google web search, Google Search Central. Covers doorway pages and link schemes.
- Qualify your outbound links to Google, Google Search Central. Covers rel="sponsored".
- Marijuana Enforcement Division, State of Colorado. Licensing and public license lookup.
- Cannabis Regulatory Agency, State of Michigan. Licensing and public license lookup.
Want this done for your brand?
We build cannabis & CBD search visibility with full transparency, for dispensaries, brands, and MSOs.
Get a free cannabis SEO audit ›