The conventions, and the reason behind each one
None of these are arbitrary. Each fixes a specific failure mode.
- Lowercase only. Many servers treat
/Pricingand/pricingas two different URLs. That's two versions of the same page, split signals, and a duplicate-content headache you created by pressing shift. - Hyphens, not underscores. Google treats a hyphen as a word separator and has historically treated an underscore as a joiner, so
seo_cost_indiacan be read as one long token. Hyphens have been the recommendation for well over a decade. - Drop stop words that carry nothing.
/what-is-a-canonical-tagand/canonical-tagdescribe the same page; the second is easier to say aloud and to paste into a message. - Aim for three to five words. Long enough to be self-describing, short enough to survive being read out on a phone call.
- No spaces, no `%20`, no ampersands, no capitals. Anything that gets percent-encoded makes the URL unreadable the moment somebody shares it.
- Match the page, not the campaign. A slug like
/summer-offer-2024becomes a lie in October.
Dates, folders, and what URL structure actually signals
The default WordPress permalink puts the date in the URL: /2019/03/seo-tips. It ages your content in public. A reader looking at a result from /2019/ decides it's stale before they click, and you can't fix that by updating the article — the date is in the address. Unless you publish genuine dated news, strip it.
Folders are more interesting. A path like /glossary/url-slug is useful because it mirrors a real hierarchy: it feeds breadcrumb navigation, it tells a reader where they are, and it makes site-wide analysis trivial (every glossary page shares a prefix). What it does not do is confer topical authority by itself. Google has been clear for years that URL structure is a minor signal — a folder called /best-seo-services/ does not make the pages inside it authoritative.
So build folders for humans and for your own reporting. Don't build them expecting a ranking boost, and don't nest four levels deep to express a taxonomy nobody browses.
When renaming is worth the redirect, and when it isn't
This is the section most guides skip, because the honest answer is unglamorous: usually, leave it alone.
Google confirmed back in 2016 that a 301 redirect doesn't cost you PageRank. That's the technical answer and it's true. The practical answer is messier. A rename means reprocessing lag while Google re-crawls and re-associates the URL, every inbound link now takes an extra hop, any third-party tracking keyed to the exact URL breaks, social share counts reset, and somebody eventually forgets to update an internal link. None of that is fatal. All of it is friction you chose.
Worth renaming
- The slug names a product, service or city you no longer serve.
- It's a CMS default —
/?p=1423,/page-2-copy,/untitled-3. - It contains a typo, a competitor's name, or a claim you can no longer make.
- You're merging two cannibalising pages anyway, so the redirect is happening regardless. See keyword cannibalization.
Not worth renaming
- The slug is a bit long, or has one stop word in it.
- You want the exact keyword in the URL. That's the weakest signal on this page.
- You changed the H1 and want the URL to match. It doesn't need to.
- Somebody on the team finds the inconsistency annoying. Note it in a style guide and apply it to new pages only.
Hindi, transliteration and non-Latin slugs
If you publish in Hindi, Marathi, Tamil or Bengali, you have three options and they behave differently.
A native-script slug — /एसईओ-क्या-है — is valid and Google handles it fine. The problem is downstream: it gets percent-encoded the moment it's copied into an email, a WhatsApp message or an analytics report, where it arrives as an unreadable string of %E0%A4 sequences. That's a real cost every time somebody shares the page.
A transliterated Latin slug — /seo-kya-hai — stays readable everywhere and matches how a large share of Hindi-language queries are actually typed in India, in Latin script rather than Devanagari. This is usually the right default.
An English slug with native-script content — /what-is-seo-hindi — is the tidiest for a mixed-language site with a single URL convention, and costs you nothing meaningful because the page's language is declared in the markup and the content, not the address. We go further into this in SEO in Hindi and Indian languages.