Key takeaways
- A good SEO URL uses readable words, hyphens between them and as few parameters as possible.
- Google says keywords in the domain or path alone have hardly any effect beyond breadcrumbs.
- The bigger risks are duplicate URLs: case, parameters, session IDs and endless filters.
- Changing a URL that already ranks needs a permanent redirect and updated internal links.
An SEO URL is a web address that people can read and that search engines can crawl without getting lost. Getting it right is part of every white label technical SEO project we deliver, and most of the work is less about keywords than about keeping one clean URL for each page.
What makes a URL SEO-friendly?
A short path made of readable words that describe the page, separated by hyphens, in one consistent letter case, with no parameters that do not change the content. Google's URL structure guide recommends descriptive words over long ID numbers and hyphens over underscores, and warns that unnecessary parameters and fragments create crawling problems.
Compare /services/roof-repair/ with /index.php?id=4471&sess=9a2f. The first tells the user and the crawler what to expect. The second creates a new URL every time the session changes. Google's URL structure best practices also recommend using words in the language of the audience and percent-encoding non-ASCII characters in links.
Do keywords in the URL help rankings?
Only a little. Google's SEO Starter Guide says keywords in the domain name or URL path alone have hardly any effect beyond appearing in breadcrumbs, and lists it among things not to focus on. Descriptive words still help users decide whether to click, so use them, but never rename working URLs just to add a keyword.
That line from the SEO Starter Guide is useful when a client asks to stuff the city and service into every slug. A clear, readable slug is enough.
URL rules we apply on client sites
| Rule | Good | Avoid |
|---|---|---|
| Readable words | /blog/roof-repair-cost/ | /blog/p=4471 |
| Hyphens between words | /water-heater-repair/ | /water_heater_repair/ |
| One letter case | /services/hvac/ | /Services/HVAC/ and /services/hvac/ both live |
| Short, stable slugs | /guides/heat-pumps/ | /2026/10/14/the-complete-ultimate-guide-to-heat-pumps-updated/ |
| Parameters only when needed | /shoes/?color=black | /shoes/?sessionid=9a2f&ref=email |
| No content behind fragments | /faq/returns/ | /faq#returns used to load different content |
Two details in that table come straight from Google. It recommends hyphens because underscores have historically been read as joining words, and it treats /APPLE and /apple as different URLs, so a server that accepts both should pick one. Google also says it generally does not support URL fragments, so content loaded by changing the part after # should use the History API instead.
How should parameters be handled?
Use standard key=value pairs joined with ampersands, keep only parameters that change the content, and avoid linking to temporary values such as session IDs or tracking codes. Point canonical tags to the version without optional parameters, list only canonical URLs in sitemaps, and control filter combinations that can create endless near-duplicate pages.
Google's guide to designing a URL structure for ecommerce sites adds that each product variant can have its own URL, with the version without optional parameters as the canonical, and that the same URL form should be used in internal links, sitemaps and canonicals. How to set canonicals is in Google's page on specifying a canonical URL. For stores and listing sites, filters are where URL counts explode; we cover that in faceted navigation and crawl budget, based on Google's guidance on managing faceted navigation URLs.
How to write a slug, step by step
- Start from the page's main topic, the phrase a person would use to describe it, not the full title.
- Cut what does not add meaning: years, "ultimate", "complete" and repeated words.
- Use lower case and hyphens, in the language of the audience.
- Place it in the right folder, such as /services/ or /blog/, so the path also tells users where they are.
- Check that it is unique and does not compete with an existing URL on the same topic.
- Freeze it at publication. Edit the title as often as you like; leave the URL alone.
For agencies, the last step is the one to put in writing. Clients and writers often edit slugs in the CMS while updating a post, and on most platforms that silently creates a new URL with no redirect. A short rule in the content guidelines prevents most of the 404 errors we find in audits.
URL problems to look for in an audit
- Duplicate versions of the same page: http and https, www and non-www, trailing slash and no slash, upper and lower case.
- Session IDs and tracking parameters in internal links.
- Calendars and sort orders that generate endless URLs. Google lists both as common problems.
- Broken relative links that stack folders onto each other. Root-relative links avoid this.
- Sitemaps and canonicals pointing to different versions of the same URL.
Should you change existing URLs?
Only when there is a clear benefit, such as fixing duplicates, a platform migration or URLs that are unreadable to users. Changing a URL that already ranks creates a site move: you must map the old address to the new one, add a permanent redirect, update internal links and sitemaps, and accept some fluctuation while Google recrawls.
Google's site move guide recommends server-side permanent redirects and keeping them for at least a year. When URLs change as part of a rebuild, follow the website redesign SEO checklist step by step. If the change is about moving a blog or store between a subdomain and the main site, read subdomain vs subdirectory first.
URLs on common platforms
Most platforms decide part of the URL for you. WordPress lets you choose a permalink structure, covered in our WordPress SEO checklist. Shopify fixes some path prefixes, which is why the Shopify SEO checklist focuses on canonicals and collections instead. On custom builds, write the URL rules into the project brief before the first template is coded.
We check URL structure, duplicates and redirects in every white label technical SEO audit, delivered in your template as part of our white label SEO services.
Frequently asked questions
How long should a URL be?
Google does not set a limit for rankings. Keep it as short as it can be while still describing the page.
Should URLs end with a trailing slash?
Either works. Pick one, redirect the other and use it consistently in links, canonicals and sitemaps.
Should blog URLs include dates?
Usually not. Dates make evergreen content look old and force a URL change if you update it.
Can URLs use non-English characters?
Yes. Google recommends using the audience's language and percent-encoding non-ASCII characters in links.
Do stop words like 'and' or 'the' need to be removed?
Not as a rule. Remove them when the slug reads clearly without them.
Sources
- Google Search Central, URL structure best practices for Google Search
- Google Search Central, SEO Starter Guide
- Google Search Central, Designing a URL structure for ecommerce sites
- Google Search Central, How to specify a canonical URL
- Google Search Central, Site moves and migrations
- Google Search Central, Managing crawling of faceted navigation URLs