Mavix Marketing Mavix Marketing, home +1 (510) 312-5086

Getting found on Google

Why your dispensary menu may rank for nothing, and how to check in thirty seconds

Many dispensary menus load in an iframe from the menu provider, so the products are not in your own page. How to check, and three ways to fix it.

Cover graphic for Why your dispensary menu may rank for nothing, and how to check in thirty seconds

If your menu is an embedded widget from your point-of-sale or menu provider, the products usually sit in an iframe, which is a separate document served from the provider’s domain. Your own page then holds a heading, some navigation and a frame. Google can index content that is embedded in a page through an iframe. Its documentation has a rule, indexifembedded, that lets the owner of the embedded document control exactly that (Google Search Central). Nothing in it promises your page the credit, and the decision sits with Google and with your provider. You can check where you stand in thirty seconds.

Open your menu page. Right-click and choose “View page source”, not “Inspect”. Search that source for the name of a strain you know you stock. If it is not there, the menu is not part of your page’s own HTML, and whether a search engine credits it to you is out of your hands.

The short version

  • A menu in an iframe belongs to the provider’s document. If a strain name is missing from your page source, your page is relying on Google indexing embedded content in your favour, which its documentation allows for and does not promise.
  • Paid search and paid social are largely closed to US dispensaries. Google Ads does not allow ads for recreational drugs, and Meta does not allow ads that promote or sell THC products. Both policies were checked on 2 October 2026.
  • An age gate can hide the whole site. Google recommends laying the gate over content that has already loaded, and warns that redirecting every URL to a verification page removes all but that one page from search results.
  • The fix does not require changing your point-of-sale system. Ask the provider for a crawlable menu, build category pages from its feed, or write the category pages by hand.
  • Local results are a separate job. Google says they rest on relevance, distance and prominence, and that complete and accurate Business Profile information helps.

How do I check whether Google can see my menu?

Run two checks, because they answer different questions. The page source test shows what is in your own HTML. The URL Inspection tool in Search Console shows what Google fetched: choose “View crawled page” to see the HTML it returned (Search Console Help).

CheckWhere to do itWhat a pass looks likeWhat a fail means
Menu in the page sourceView page source on the menu page, search for a strain nameThe strain name is in the sourceThe menu is loaded from another document, usually an iframe
Menu in the crawled pageSearch Console, URL Inspection, View crawled pageProduct names appear in the HTML Google returnedGoogle did not get the menu from your URL
Age gateView page source on any page other than the menuThe page content is in the source, with the gate on topThe source holds only the gate, or the URL redirects to a verification page
Category pagesOpen a category URL on your own domainA real page with its own text and productsThe category exists only inside the widget

Why does the menu end up in an iframe?

Because it is the quickest way for a menu provider to put live stock and prices on your site. The widget is one snippet of code, it stays in step with the point-of-sale system, and the provider controls how it looks and works. To a customer the join is invisible. The menu appears and ordering works.

The cost is that the words on the menu, the strain names, the categories, the brands, live in the provider’s document. When a dispensary site ranks for its own name and little else, this is the first thing we check, because the menu is often the only place on the site those words appear.

A woman typing on a laptop behind a shop counter.

Photo: Kampus Production on Pexels.

Can a dispensary advertise on Google or Meta instead?

In the United States, mostly no, as of 2 October 2026. Google’s policy says “ads for substances that alter mental state for the purpose of recreation or otherwise induce ‘highs’ are not allowed”. One narrow exception lets certified advertisers promote topical, hemp-derived CBD products with 0.3% THC or less, only in California, Colorado and Puerto Rico (Google Advertising Policies). Meta’s standard says ads may not “promote or offer the sale of” THC products or cannabis products with related psychoactive components. Its certification route, through LegitScript and written permission from Meta, covers CBD products aimed at adults in the United States, not THC (Meta Advertising Standards).

Canada is the exception worth knowing about. Google is running a limited pilot there for licensed cannabis sellers, on Search only, from 25 August 2025 to 31 December 2026 (Google Advertising Policies). It does not cover the United States.

These policies change, and state rules on what a dispensary may say about its products differ. Check both pages again before you plan around them.

So for a US dispensary, organic search carries more weight than it does for a shop that can buy ads. Think about what people type: a strain name plus a city, a category plus “near me”, a product type. Those searches are made by people close to buying. Your menu holds those exact words. If the menu is not part of your page, a listing platform’s page for your store may be the one that answers them.

Is my age gate blocking search engines?

It is if the gate replaces the page instead of sitting on top of it. Google’s guidance for mandatory interstitials says to make sure the content is overlaid with the interstitial, so that Google can still index some of the content. It also says not to redirect incoming requests to a separate page for collecting consent. The reason it gives is that “redirecting all URLs to a single page will remove all but that one page from search results” (Google Search Central).

For content behind a mandatory age gate, the same page recommends letting Googlebot crawl the content without triggering the gate, by verifying Googlebot requests and serving the content without it.

In practice that means a gate drawn over a page whose content is already in the HTML. The visitor still has to confirm their age. The page can still be read. If your organic traffic is close to zero and you cannot work out why, check this before the menu, because a redirecting gate hides every page on the site.

What should I do about the menu?

There are three routes. We suggest trying them in this order, because each one costs more effort than the one before.

Ask your provider what it offers. Some menu providers sell a version of the menu that renders on your own domain, with a page for each product and category. Ask for that by name: product pages on your domain, in the page source. It is worth an email before you build anything.

Build crawlable category pages from the same data. If the provider gives you an API or a feed, you can build real pages for your categories and your most searched products. They live on your domain, with the widget alongside for live stock and pricing. These pages can carry what a buyer wants to read: a description, effects and terpene information where you can state it accurately and your state’s rules allow it.

Write category pages by hand. If neither is available, give each category a real page with real content, and treat the widget as the ordering tool.

None of these means leaving your point-of-sale system. The menu keeps working as it does now. A readable version of it also exists on your own domain.

A person in a coat using a phone on a city street.

Photo: gülsüm on Pexels.

What decides who shows up in the map results?

Google says local results are based mainly on relevance, distance and prominence, and that “there’s no way to request or pay for a better local ranking” (Google Business Profile Help). The same page says businesses with complete and accurate information are more likely to show up, and that more reviews and positive ratings can help.

Fixing the menu helps with product and strain searches. A search like “dispensary near me” is answered from your Google Business Profile, and that is separate work. Check the category, the hours including holiday hours, the attributes, the products and the photos. Reply to reviews. Make sure your name, address and phone number match on every listing site.

After that, location pages for the towns around you. A page per town with only the name swapped is a duplicate and we advise against it. Write a real page for each town you serve, with something true and specific on it.

Why this is worth doing now

The usual objection to search work is that it is slow and crowded. The slow part is true here as well. The crowded part is less true than in most trades, because the dispensaries near you face the same advertising rules you do, and an embedded menu is a common setup.

We cannot tell you how many of your competitors have fixed this. You can find out in a few minutes: run the page source test on their menu pages too.

The bottom line

A search engine can only rank the words it finds on your pages. If your products live in someone else’s document, put a readable version of them on your own domain and keep the widget for ordering. Start with the page source test, because it tells you which of these conversations you need to have.

Questions people ask about this

How do I tell if my age gate blocks crawlers?

Run the same page source test on a page other than the menu. If the source contains only the gate and none of the page content, or the URL redirects to a verification page before anything loads, crawlers are blocked. You can also check the page in Search Console with the URL inspection tool and look at the rendered HTML it saw.

Will a crawlable menu get me in trouble with Google?

Ranking organically for cannabis terms is not the same as advertising. Google’s ad policies close paid search to the category, as the post explains. Organic results index what is on the page, and dispensary sites appear in them today. Keep the content factual, keep the age gate for visitors, and follow your state’s rules on what can be said about products.

What should a category page actually contain?

Something a buyer wants that the widget does not give them. What the category is, who tends to choose it, effects and terpene information where you can say it accurately, and links to the products in it. Add the town name naturally, since most of these searches carry one. Keep live stock and pricing in the widget alongside, so the page stays true when inventory changes.

How many product pages should I build?

Start with categories, then the products with the most searches, which are usually the strains and brands people ask for by name at the counter. Ask your budtenders which names come up daily. A dozen well-written pages beat three hundred thin ones, because thin pages compete with each other and give crawlers nothing to rank. Add pages as stock stabilises.

Do the listing platforms hurt my own rankings?

Not directly, but they compete for the same searches, and they win while your menu is invisible. The platform page for your store is often the only crawlable version of your menu on the web. Once your own pages exist, keep the listing for the traffic it sends and link it to your site. You stop depending on it, which is the point.

Can I rank for strain names in my city?

Yes, if the strain has a real page on your domain with the city in it and the page is reachable through the age gate. Those searches are commercial and specific, and the competition is usually thin for the reason the post gives. Rankings for a strain also follow stock, so pair the page with the widget and keep it current.

What if my POS provider says no?

Ask whether they expose a feed or an API, because that is the second route in the post and it does not need their menu widget to change. If they offer neither, write the category pages by hand and treat the widget as the ordering tool. Also ask what the switching cost would be. Several providers now offer crawlable menus, and that is a fair question at renewal.

Indexing of new pages usually follows within weeks once they are linked from the site and submitted in Search Console. Rankings for competitive category terms take longer, and strain terms in a specific town often move first because so few sites compete for them. Watch the Pages report in Search Console for the new URLs, then the queries they start receiving.

Should I write location pages for towns nearby?

Only for towns you genuinely serve and can say something true about. Delivery areas, the drive time, which products are popular with customers from there, and reviews from people who live there. A page per town with the name swapped is the duplicate the post warns against. Three real pages for the three towns that send the most customers beat twenty spun ones.

What matters most on the Business Profile for a dispensary?

The primary category, hours including holidays, the products and attributes sections, current photos of the store and the counter, and a reply to every review. Then citations that agree with each other, meaning the same name, address and phone on every listing site. Check those first, because a mismatched address on a listing platform can hold the map pack position down.

Can I do the page source test on a phone?

It is easier on a desktop, because mobile browsers hide the view source option. If you only have a phone, type view-source: before the page address in Chrome, then use the browser’s find function for the strain name. Or use the URL inspection tool in Search Console, which shows the HTML Google fetched. Either way, the question is the same: is the menu in the source.

Share this

LinkedIn X

Free review

Want this looked at on your own site?

Send the address. A person reads it and writes back with the two or three things that would move your enquiry number first. Free, and yours to keep whether you hire us or not.

Next step

Now find out what yours needs.

The review looks at your live site and accounts and tells you what is actually wrong. Written by a person at Mavix Marketing, free, no obligation.

Free review

Send the address. We will tell you what it is costing you.

  • Search. What you rank for now, and the searches you should be winning.
  • Paid. What the spend is buying, and the campaigns quietly eating it.
  • Email. Whether the list is mailed at all, and what the missing flows are worth.
  • Tracking. Whether it measures anything real, or counts page views as sales.

The review is free, and yours to keep whether you hire us or not.

Send the site. We will say what we would fix first.

A minute to fill in. A written answer from a person, not a sequence.

Free, and yours whether you hire us or not.

Free review

A written plan for more enquiries from your site.

  • What you rank for, and what you should.
  • What the ad spend is buying, and what a lead really costs.
  • Which follow-up emails your list is missing.
  • Whether your tracking counts anything real.

Read by a person, written for your business, back within one working day. Yours to keep whether you hire us or not.

150+ businesses since 2019. No sequence, nobody chases you.

Free, and yours whether you hire us or not.

Book a call

Pick a time that suits you.

Fifteen minutes with the founder, who will have read your site before you speak.