URLs are one of the first things both people and search engines see about a page. A clean URL like /guides/xml-sitemaps tells everyone what to expect before they click. A URL like /index.php?id=4827&cat=12&sid=a9f3 tells them nothing, and it often hides deeper problems such as duplicate pages and wasted crawling. URL structure is also one of the hardest things to change later, because every change needs a redirect. This guide covers what Google recommends for URL structure, the mistakes that cause trouble, and how to decide whether existing URLs are worth changing.
What Google Recommends
Google's documentation on URL structure is short and practical. The key recommendations:
- Use readable words rather than long ID numbers where possible.
- Use hyphens to separate words, not underscores. Google notes that hyphens help users and search engines identify concepts in the URL.
- Remember that URLs are case sensitive. Google treats
/APPLEand/appleas different URLs. - Keep parameters to a minimum, and trim parameters that don't change the content.
- Don't use fragments (the part after
#) to change page content. - Avoid session IDs in URLs. Use cookies instead.
- Use words in your audience's language.
Notice what's not on the list: there's no requirement to stuff keywords into URLs, and no magic length. The goal is URLs that are readable, stable, and don't create duplicates.
Principles of a Good URL Structure
Descriptive, short slugs
A slug is the last part of the URL that identifies the page. Good slugs describe the page in a few words:
- Good:
/blog/how-to-fix-broken-links - Too long:
/blog/how-to-find-and-fix-all-of-the-broken-links-on-your-website-in-2027-step-by-step - Not descriptive:
/blog/post-4827
Including the page's main topic in the slug is natural and helpful for readers. It's a small signal at most for rankings. Don't sacrifice readability to fit more keywords in.
Lowercase only
Because URLs are case sensitive, mixed case invites duplicates. A link to /Blog/Post and another to /blog/post can create two URLs for one page. Standardize on lowercase, and if your server treats different cases as the same page, redirect variants to the lowercase version.
A logical folder hierarchy
Folders can reflect how your site is organized:
/tools/robots-txt-tester//blog/technical-seo/canonical-tags//shop/mens/jackets/rain-jacket-blue/
A clear hierarchy helps users understand where they are and pairs naturally with breadcrumbs. Keep it shallow, though. Deep nesting makes URLs long and fragile, because any change to a category name ripples through every URL beneath it.
No dates unless they matter
URLs like /2025/03/14/post-title are common on blogs, but dates in URLs make evergreen content look old and make updates awkward. If you update a post in 2027, the URL still says 2025. Unless your content is genuinely time-bound, such as news, leave dates out.
Consistent trailing slashes
/page and /page/ are technically different URLs. Pick one convention and redirect the other, so you don't create duplicates. On TopWebPositions, for example, tool URLs consistently use a trailing slash.
One protocol, one host
Your whole site should resolve to one version: HTTPS, and either www or non-www. Every other combination should redirect to it with a single permanent redirect. The HTTP vs. HTTPS guide covers the HTTPS side, and the SEO Audit Tool's Full audit checks www consistency.
Common URL Mistakes
Parameters that multiply pages
Sorting, filtering, tracking, and session parameters can create endless URL variations of the same content: ?sort=price, ?color=blue&size=m, ?utm_source=newsletter. Google's URL documentation warns that complex URLs like these can create huge numbers of duplicates and waste crawling.
Fixes include using canonical tags to point variations at the main page, keeping tracking parameters out of internal links, and blocking crawl-only parameter paths in robots.txt where appropriate. The canonical tags guide and the crawl budget guide cover each approach.
Uppercase and special characters
Spaces, uppercase letters, and special characters get encoded into hard-to-read strings and invite inconsistent linking. Stick to lowercase letters, numbers, and hyphens.
Fragment-based navigation
Single-page apps that load different content at URLs like /#/pricing make that content hard for Google to index. Use real URLs via the History API. The JavaScript SEO guide covers this in detail.
Changing URLs without a reason
The most expensive URL mistake is changing URLs repeatedly: after a redesign, a CMS switch, or a new idea about keywords. Every change risks lost signals and creates redirects that can stack into redirect chains.
Should You Change Your Existing URLs?
Usually, no. A URL that's indexed, ranking, and linked to carries value. Changing it means relying on a redirect to pass that value along, with some risk and a period of fluctuation. Ugly but working URLs are rarely worth changing just for aesthetics.
Changing URLs can make sense when:
- The current URLs cause real problems, such as duplicate content from parameters or session IDs.
- You're already migrating to a new platform or domain and the URLs will change anyway.
- A URL is actively misleading, such as a slug for a product you no longer sell that now redirects visitors somewhere unrelated.
If you do change URLs:
- Map every old URL to its new equivalent.
- Use a single permanent (301) redirect from each old URL directly to the new one.
- Update internal links to point straight at the new URLs.
- Update canonical tags and your XML sitemap.
- Keep the redirects in place long term.
The .htaccess Redirect Generator builds redirect rules without regular expressions, and the Redirect & Header Checker confirms each old URL reaches its destination in one hop. For larger changes, the upcoming website migration checklist walks through the full process.
A URL Structure Checklist
- Readable, descriptive slugs using hyphens
- Lowercase throughout
- A shallow, logical folder hierarchy
- No dates in evergreen URLs
- One trailing slash convention
- One protocol and one host, with everything else redirecting
- Minimal parameters, with canonicals for necessary variations
- No session IDs or fragment-based content
- Stable URLs that only change with a good reason and a redirect plan
Get the structure right when you build a site or section, and you'll rarely need to touch it again. That stability is one of the quietest advantages in SEO.