Good URLs are lowercase, hyphen-separated, short, and stable: /flower/indica/ beats /Product.aspx?id=2841&cat=7 on every axis that matters. Set the conventions before pages exist, keep dates out of blog slugs, and treat any change to a live URL as a cost you pay for with 301s.
The rules, all in one place
Most of this is settled practice, so it fits in a list:
- Lowercase only. /Flower/ and /flower/ are different URLs to a server, and mixed case breeds accidental duplicates.
- Hyphens between words, never underscores; Google treats hyphens as word separators.
- Short slugs: three to five words that name the topic beat a sentence.
- Words, not IDs. /gelato-41/ tells everyone something; a numeric parameter tells no one anything.
- No dates in slugs, and one URL per page of content.
None of these carries much ranking weight alone. Together they produce URLs people can read in a search result, share without truncating, and trust at a glance.
Folders that mirror the catalog
A hierarchy like /flower/, /flower/indica/, and /brands/wyld/ tells Google how sections relate and feeds clean breadcrumbs back into the search results. Keep it shallow — two or three levels covers a dispensary catalog — and resist inventing a folder for every filter. The structure should describe how shoppers think about the store, not how the database is organized.
Keep dates out of blog slugs
A slug like /blog/2023/06/how-to-store-flower/ ages the content in every search result that shows it, and it corners you: refresh the guide in 2026 and the URL still says 2023, but changing it means a redirect and a reset. An evergreen slug like /blog/how-to-store-cannabis/ lets you update the content for years without touching the address. Timeliness belongs in the byline and the dateModified field, not the URL.
Keywords in the slug, lightly
A slug that names the topic will contain the search term without anyone forcing it. That is most of the benefit, and it is modest. What to avoid is the stuffed version: a slug that repeats the city and the word dispensary three times reads as spam to people before any algorithm weighs in. Name the page. Stop.
Changing URLs is surgery, not housekeeping
A live URL accumulates links, rankings, and history, and every change puts that on the table. Renames require a 301 from old to new, redirect chains need flattening, and external links keep pointing wherever they pointed. Some loss during a migration is normal even when everything is done right. So change URLs only when staying costs more than moving, and never casually rename a slug because a slightly better keyword came to mind.
A worked example
A client came to us on a legacy platform with URLs like /shop.php?cat=12&sort=new and mixed-case blog paths. During a planned replatform we mapped every old URL to a clean equivalent — /shop.php?cat=12 became /edibles/gummies/, the blog moved to dateless lowercase slugs — and shipped roughly 400 one-hop 301s on launch day. Rankings dipped for a few weeks, then recovered past the old baseline as the cleaner structure got recrawled. The lesson cuts both ways: the migration worked, and the dip is exactly why you set conventions early instead of fixing them later.
Frequently asked questions
Do keywords in URLs still matter?
As a ranking factor, barely. As communication, yes: the slug shows in search results and previews, and a readable one earns clicks a parameter string does not. Write slugs for people and the keyword handles itself.
Trailing slash or not? What about .html?
Google has no preference; pick one form and enforce it with redirects so each page lives at exactly one address. The duplicate-URL mess from serving both is the only real risk.
Should city names go in dispensary URLs?
On location pages, yes: /locations/denver/ is exactly right. Appending the city to every product and category slug is stuffing, and it forces a full URL migration if you ever open a second store.
Is it worth changing URLs on an established site just to add keywords?
Almost never. The gain is small and the migration risk is real. Fold URL fixes into a redesign or replatform you are already doing, where the redirect work is being paid for anyway.
Key takeaways
- Lowercase, hyphens, short word-based slugs, no dates: the conventions cost nothing at launch and plenty to retrofit.
- Shallow folders that mirror how shoppers browse feed clean breadcrumbs and clear hierarchy.
- Dateless blog slugs let content refresh for years without redirects.
- Every URL change needs a 301 and carries risk; batch changes into migrations you are doing anyway.
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 ›