URL Structure Best Practices for SEO
URLs matter less for rankings than most advice claims and more for humans than most advice admits. Here is what genuinely affects crawling, clicks and long-term maintainability.
How much URLs actually matter
Honestly: less than most SEO advice implies, but not zero.
Google has said repeatedly that keywords in URLs are a very small ranking factor. The measurable effects are indirect and mostly about humans:
- Click-through rate. The URL appears in the search result. A clean path reads as trustworthy; a string of parameters and hashes does not.
- Link acquisition. People are more willing to paste a readable URL, and readable anchor text follows from readable URLs.
- Crawl efficiency. Clean, consistent URLs mean fewer duplicates and less wasted crawl budget.
- Maintainability. A sane structure is easier to reason about, redirect and analyse years later.
Never change URLs purely for SEO. The cost of a migration — redirect chains, lost signals during transition, broken external links, analytics discontinuity — almost always outweighs the marginal benefit of a tidier slug. Get it right on new pages; leave working URLs alone.
Anatomy of a good URL
https://example.com/guides/binary-numbers-explained
\___/ \_________/ \____/ \_______________________/
protocol domain section slugSix properties of a good URL:
- HTTPS. A confirmed lightweight ranking signal since 2014, and required for most modern browser APIs.
- Lowercase. Paths are case-sensitive on most servers, so
/Aboutand/aboutare two URLs serving one page. Force lowercase and redirect. - Hyphens, not underscores. Google treats hyphens as word separators and underscores as joiners, so
binary_numbersreads as one token. - Descriptive but short. Three to five meaningful words. Long enough to be clear, short enough to survive being pasted into an email.
- Shallow. Two or three levels is plenty. Depth in the path does not need to mirror your navigation.
- Stable. Avoid dates and version numbers unless the content is genuinely time-bound.
/guides/seo-2024ages badly.
Generate clean slugs with the slug generator, which handles transliteration and stop words.
Parameters and duplicate content
Query parameters are the main source of URL duplication. A category page with filters for colour, size, sort and page can generate thousands of URLs serving near-identical content.
/shoes
/shoes?sort=price
/shoes?sort=price&color=red
/shoes?color=red&sort=price <- different URL, same page
/shoes?page=1 <- duplicate of /shoes
/shoes?utm_source=newsletter <- duplicate with trackingFour defences, in order:
- Canonical tags. Every variant declares the clean URL canonical. This is the primary fix.
- Consistent parameter order. Always emit parameters in the same sequence so one state maps to one URL.
- robots.txt for worthless combinations. Block crawling of filter combinations nobody would search for.
- Clean internal links. Never link internally to tracking-tagged URLs. UTM parameters are for external campaigns only.
Google retired the URL Parameters tool in Search Console in 2022, saying its systems handle this well enough without hints. Canonicals and discipline are what remain. Inspect and clean URLs with the URL parser.
Trailing slashes, www and protocol
Three binary choices. Which you pick genuinely does not matter; being consistent does.
/about and /about/ are different URLs to a search engine. So are www.example.com and example.com, and http:// and https://. With all three unresolved you have eight URLs for one page.
Pick one form of each and enforce it everywhere:
- 301 redirect every other variant to the chosen one.
- Canonical tags point at the chosen form.
- Internal links use the chosen form — do not rely on the redirect.
- The sitemap lists only the chosen form.
- Search Console, analytics and any hardcoded absolute URLs agree.
The one real rule: use HTTPS. Everything else is a coin toss you must then honour consistently. Build the redirects with the redirect generator.
International and non-ASCII URLs
Three structural options for multilingual sites:
| Structure | Example | Trade-off |
|---|---|---|
| Country domains (ccTLD) | example.fr | Strongest geo signal; expensive and splits authority |
| Subdirectories | example.com/fr/ | Simplest, shares domain authority — usually the right default |
| Subdomains | fr.example.com | Flexible hosting; authority sharing is less certain |
Whichever you choose, hreflang annotations connect the versions. Build them with the hreflang generator.
Non-ASCII characters in URLs are legal and are percent-encoded on the wire. /café becomes /caf%C3%A9. Browsers display the readable form, so users see what you intended. The practical downsides are that the encoded form appears in logs and analytics, some older systems mangle it, and copying a URL out of a terminal produces the ugly version. For a Latin-script audience, transliterating to ASCII is usually simpler.
Structural patterns that work
Blog or documentation
/guides/binary-numbers-explained
/guides/character-encoding
/docs/api/authenticationFlat and topical. Avoid dates in the path unless the content is genuinely news.
E-commerce
/shoes
/shoes/running
/shoes/running/nike-pegasus-41Category hierarchy in the path, with the product identifiable at the end. Whether to include the category in the product URL is a genuine trade-off: it aids context, but requires redirects when products are recategorised.
Tools and applications
/text-to-binary-converter
/uuid-generatorFlat, one page per job, named exactly as people search for it.
Anti-patterns
/index.php?id=42&cat=7 opaque
/p/a1b2c3d4 meaningless
/category/subcategory/sub-subcategory/type/item too deep
/Best-Shoes-For-Running-2019 capitals and a stale year
/blog/post/post/final-final accumulated cruftURL checklist
- HTTPS, always.
- One canonical host: pick www or non-www and redirect the other.
- One trailing-slash convention, enforced by redirect.
- Lowercase only.
- Hyphens between words.
- Three to five descriptive words in the slug.
- No stop words unless they change the meaning.
- No dates unless the content is time-bound.
- No session IDs, ever.
- Under about 100 characters where you can manage it.
- Self-referencing canonical on every page.
- 301 redirects maintained for at least a year after any change.
- Internal links point at the final URL, not through a redirect.
Frequently Asked Questions
Do keywords in URLs help SEO?
Slightly. Google has described it as a very small ranking factor. The larger effects are on click-through rate and on people's willingness to share a readable link.
Should I use hyphens or underscores?
Hyphens. Google treats them as word separators; underscores join words together, so binary_numbers reads as a single token.
Does the trailing slash matter?
The two forms are technically different URLs, so pick one and redirect the other. Which one you pick has no SEO effect — only the inconsistency does.
How long should a URL be?
As short as remains descriptive — typically three to five meaningful words. There is no penalty for length, but shorter URLs are shared and clicked more.
Should I change my URLs to be more SEO-friendly?
Usually not. Migration costs — redirect chains, transition losses, broken external links — generally exceed the marginal gain. Get new URLs right and leave working ones alone.
Do URL parameters hurt SEO?
Only when they create duplicate content. Use canonical tags, keep parameter order consistent, and never link internally to tracking-tagged URLs.
Should I put dates in blog URLs?
Only for genuine news. Evergreen content with a date in the URL looks stale and cannot be updated without either a misleading URL or a redirect.
Sources & further reading
- Google Search Central: URL structure — the official guidance on readable, stable URLs
- RFC 3986: URI Generic Syntax — the normative rules for every URL component
- Google: Multi-regional sites — ccTLD versus subdirectory versus subdomain
- Google: URL Parameters tool deprecation — why parameter hints are no longer needed