Skip to content
Technical SEO For Cannabis Websites

Cannabis Technical SEO For Sites Google Can Crawl, Render And Index

Most dispensary websites look fine to the people using them. Googlebot gets something else: an age gate it cannot get past, a menu loaded from another company's server, and forty versions of the same category page. Cannabis technical SEO closes that gap, so the pages you already paid for can start to count. For dispensaries, brands and multi-state operators.

  • Every URL crawled, not a sample
  • Fixes made, not only listed
  • Sprints from $1,000, monitoring from $350 a month
Google Search Console performance report for the last twelve months showing 5.11 million clicks, 28.1 million impressions, an average click through rate of 18.1 percent and an average position of 10.8. 5.11M Search Console clicks in twelve months, on a chain rebuilt from a manual action Multi-State Dispensary Chain
How Google Reads A Cannabis Website

Crawl, Render, Index. A Page Has To Pass All Three Before It Can Rank.

Content, links and local work all assume the page made it through these three steps. On cannabis sites a surprising number do not, and nobody notices because the page still looks fine in a browser.

  1. 01 Can Google find it

    Crawl

    Googlebot follows links and sitemaps to reach the page. Filters that spin out thousands of URLs, blocked folders and orphaned store pages all break this step, or waste it on pages that do not matter.

  2. 02 Can Google see it

    Render

    Google runs the page's JavaScript to see what a visitor sees. Age gates, embedded menus and scripts that load late can leave it looking at an almost empty page. Several AI crawlers skip scripts entirely, which matters for AI search too.

  3. 03 Will Google keep it

    Index

    Google decides whether the page is worth storing and which version is the real one. Duplicates, mixed canonicals and thin variants end up as "crawled, currently not indexed".

Customer View Against Googlebot View

The Same Menu Page, Seen By A Customer And By Googlebot

A customer taps through the age gate and scrolls a full menu. Googlebot often gets the gate, an empty frame and a title shared with every other page. Switch views to compare.

Illustration. Not a real site.
  1. The Age Gate

    Built the wrong way, it covers the page for Google as well as for visitors. Built properly, it keeps the check for people and leaves the content readable underneath.

  2. The Embedded Menu

    Products shown inside a frame from the menu provider usually count toward the provider's site, not yours. The fix depends on the platform, and sometimes it is a setting nobody switched on.

  3. Title And Canonical

    When every menu and store page carries the same title, or points its canonical at the home page, Google has no reason to keep them as separate pages.

  4. Filter Links

    Every sort and filter can become a new URL. Left open, a menu of two hundred products turns into thousands of pages that eat the crawl before it reaches the ones you care about.

What Usually Breaks

Six Technical Problems That Hold Dispensary Websites Back

None of these show up in a normal site review, because the site works. They show up in Search Console months later, as pages that were never indexed or traffic that slowly drained away.

01 Blocks Google

An Age Gate Googlebot Cannot Get Past

The gate loads first and the content never does, so every page reads as the same short question. It is a common reason a new dispensary site barely gets indexed, and the Site Checker shows whether yours does it.

02 Invisible content

A Menu That Lives On Someone Else's Server

Hundreds of product pages that customers use every day, and none of them belong to your domain in Google's eyes. Check which domain your products sit on.

03 Crawl waste

Filters And Sorts That Multiply URLs

Strain type, weight, brand, price, each combined with the others. Google spends its visits there and comes back to the pages that matter less often.

04 Split signals

Duplicate Pages With No Clear Original

The same page reachable with and without a slash, on two subdomains, or under old and new paths. Links and relevance get split between copies and none of them ranks well.

05 Lost equity

Redirect Chains From Old Platforms

Every platform change leaves a layer of redirects. Three or four hops later, old links and bookmarks arrive slowly or not at all.

06 Slow on phones

Scripts Loaded Before Anything Else

Chat widgets, loyalty popups, three analytics tags. Most visits happen on a phone near the store, and a page that takes six seconds to settle loses them.

Index Coverage

More Pages Is Not The Goal. More Pages That Count Is.

Search Console tells the story in four numbers: what Google found, what it crawled, what it kept, and what earns clicks. On a messy cannabis site the drop between each step is steep. Cleaning it up usually means fewer URLs overall and far more of them doing something.

  • Junk outFilter pages, test pages and old duplicates removed or blocked on purpose.
  • Real pages inMenu, category and store pages made readable, linked and given one clear version.
  • Checked in Search ConsoleThe page indexing report before and after, not a score from a tool.
Page indexing
  1. Discovered 4,820
  2. Crawled 3,150
  3. Indexed 610
  4. Earning clicks 140
2.9%of discovered URLs earning clicks
Illustration of how the numbers move. Not client data and not a promise.
What Is Included

What Cannabis Technical SEO Covers, Part By Part

The same six areas on every site. The audit decides the order, and the order is almost always crawl and rendering first, because nothing else counts until those work.

01

Crawling And Indexing

  • Full crawl of every URL, matched against Search Console
  • Robots, sitemaps, noindex checked page type by page type
  • Orphaned pages linked back into the site
  • Crawl traps from filters and sorts closed off
Included inSprintCare
02

Rendering And JavaScript

  • Googlebot rendering of every key template
  • Age gate rebuilt so content stays readable underneath
  • Embedded menu options compared for your platform
  • Hidden content that needs a click brought into the HTML
Included inSprint
03

Site Architecture And URLs

  • One URL per page with canonicals that agree
  • Three clicks at most to any menu, category or store page
  • Subdomains and slashes brought into one version
  • Internal links pointed at the pages that should rank
Included inSprint
04

Redirects And Migrations

  • Redirect chains flattened to a single hop
  • Old URLs mapped before a redesign or platform switch
  • Staging crawl before launch day, not after
  • 404s with traffic recovered and redirected
Included inSprintMigration
05

Speed And Core Web Vitals

  • Field data from real phones, not only lab scores
  • Mobile first because the phone version is the one Google indexes
  • Third party scripts delayed or removed
  • Layout shift from popups and banners fixed
Included inSprintCare
06

Structured Data And Monitoring

  • Schema validated LocalBusiness, Organization and breadcrumbs
  • Search Console alerts watched every week
  • Pre release checks before plugin, theme or menu updates
  • A change log so a traffic drop can be traced to a date
Included inSprintCare
How A Sprint Runs

Six Weeks From First Crawl To Verified Fixes

Google needs time to recrawl, so fixes are checked in Search Console rather than declared done on the day they ship.

  1. Week 1

    Crawl And Render

    Every URL crawled, the key templates rendered as Googlebot, and the results matched against Search Console.

  2. Week 2

    The Fix List

    Problems ranked by how much traffic they hold back, each written as a ticket your developer can pick up without a meeting.

  3. Weeks 2 To 5

    Fixes Shipped

    Made directly on WordPress sites. On custom built sites and other platforms, each fix goes to your developer as step by step instructions, and we stay with it until it is live and checked.

  4. Week 6 Onward

    Verified And Watched

    Indexing and Core Web Vitals reports checked as Google recrawls, with a written summary of what changed.

The Deliverable

What A Fix Ticket From The Sprint Looks Like

Every problem on the fix list arrives in this shape: what is wrong, where, what to change and how to prove it worked. A developer can pick one up without a meeting.

TECH-01 Ready for development

Age Gate Hides Every Page From Googlebot

Problem

The gate is injected before the page content, and the content only loads after someone taps Yes. Googlebot never taps, so every URL renders as the same short question.

Change
  1. Render the page content in the HTML behind the gate
  2. Show the gate as an overlay that does not replace the page
  3. Keep the cookie so returning visitors are not asked again
How to check it worked
  • URL Inspection, live test on /menu/flower/: product names appear in the rendered HTML
  • The test screenshot shows the menu, not only the gate
Priority
P1 Critical
Area
Rendering
Affected
1,318 URLs, every template
Effort
Half a day
TECH-02 Ready for development

Old Menu URLs Pass Through Three Redirects

Problem

/old-menu/ sends visitors to /shop/, which sends them to /menu/, which then adds a trailing slash. Three hops before anyone reaches the page.

Change
  1. Point every old URL straight at its final address
  2. Update internal links that still use /shop/
  3. Keep the redirects in place for at least a year
How to check it worked
  • Crawl the old URL list: each one answers with a single 301, then a 200
  • Page indexing report: "Page with redirect" stops growing
Priority
P2 High
Area
Redirects
Affected
186 URLs from the previous platform
Effort
Two hours
TECH-03 Ready for development

Store Pages Point Their Canonical At The Home Page

Problem

Every store page carries a canonical tag pointing to /. That tells Google the store pages are copies of the home page, so it leaves them out.

Change
  1. A self referencing canonical on each store page
  2. The same URL the store's Business Profile links to
How to check it worked
  • URL Inspection: the canonical you declared and the one Google picked are the same
  • Store pages move from "Alternate page" to indexed
Priority
P3 Medium
Area
Canonicals
Affected
12 store pages
Effort
One hour

Sample tickets for a fictional site

Technical Results

What Technical Work Looks Like In Search Console

Screenshots from case studies where technical work was part of the job, and usually the first part. The chain in the first card needed manual action recovery before anything else. Names are blurred. Every figure is as Google reports it. See every screenshot

The multi-state chain, three months after the manual action lifted
Indexed pages1,845 37,643 Organic traffic20,234 387,356 Impressions174,524 1,287,645
Read the case
Technical SEO Pricing

Technical SEO Pricing For Cannabis Websites

Technical work is mostly done in one push and then kept clean. So it is priced that way: a fixed sprint, then an optional monthly plan that stops the problems coming back.

Technical Care

After a sprint, to keep it clean $350 a month Three months, then month to month
  • A monthly crawl compared with the last one
  • Indexing and Core Web Vitals reports watched
  • Small fixes each month, made on WordPress or briefed to your developer
  • A check before plugin, theme or menu updates go live
  • Monthly report on complete months only
Start With A Free Audit

Migration And Rebuild

A redesign, a new domain or a new menu provider Custom Quoted after the free check
  • Every old URL mapped to its new home
  • Staging site crawled before launch
  • Launch day checks as the switch happens
  • Ninety days of monitoring after launch
Ask For A Quote
Which One Do You Need

Technical SEO Only, Or The Full Package?

Technical SEO makes the site readable. The full package also decides what each page should rank for and writes it. If the site is sound and the content is thin, the full package is the better spend.

What is included Technical SEO onlyFull package
Crawl, rendering and indexing audit
Fix list written as developer tickets
Fixes made on WordPress sites
Developer instructions for custom built sites
Redesign and migration protection Custom plan Quoted separately
Keyword mapping across the whole site
Page rebuilds and new content
Business Profile and local work
Starts at $1,000 once $600 a month
Questions

Cannabis Technical SEO Questions

Everything that decides whether Google can find, read and keep your pages: crawling, rendering, indexing, site structure, redirects, speed and structured data. It does not include writing content or choosing keywords. That is on page work, and it is part of the full packages.
A Technical Sprint is $1,000 once for a site of up to 500 URLs, with the fixes made rather than only listed. Technical Care is $350 a month afterwards. Redesigns, domain changes and menu platform switches are quoted after the free check, because the size of the job depends on how many URLs move.
On WordPress, the fixes are made directly. On custom built sites and other platforms, each fix is written as step by step instructions for your developer or menu provider: the page, the problem, the change and how to check it. We answer their questions and recheck each fix once it is live. Either way you get a list of what changed and when.
Google has to recrawl a page before a fix counts, so small sites often show changes in the indexing report within two to four weeks. Larger sites and pages Google visits rarely take longer. Traffic follows the indexing, usually a few weeks behind.
It can, and it is a common reason a dispensary loses traffic overnight. The risk comes from URLs that change without redirects and content that moves into a frame. Mapping every old URL and crawling the new site before launch takes most of that risk away.
The big fixes are, which is why the sprint is a fixed project. Sites drift after that. Plugin updates, a new popup or a menu change can undo months of work in an afternoon, and Technical Care exists to catch that before Google does.
Google uses page experience signals, including Core Web Vitals, but a fast page will not outrank a more relevant one. Speed matters more for the customer: most dispensary searches happen on a phone, often close to the store, and a slow page loses them to the next result.
Search Console access is the one that matters most, then analytics and a login for the website. For the free check, the address of the site is enough.

Find Out What Googlebot Gets From Your Site

The free check crawls your key pages, renders them as Google does, and tells you which problems are holding traffic back. You get it in writing, whether or not we work together.

Get Your Free Technical Check Or see every service and the pricing