Short answer: An SEO-friendly URL is short, readable and describes the page in plain words, for example /services/bookkeeping/ instead of /index.php?id=482&cat=7. Use lowercase letters, separate words with hyphens, keep folders shallow and logical, avoid unnecessary parameters and dates, and choose one consistent format. Once a URL is live, change it only for a good reason, and always redirect the old address with a 301.
Why URLs matter
A URL is the address of a page, and it appears in more places than people expect: in the browser’s address bar, in search results (often as a breadcrumb-style path), in shared links, in e-mails and in analytics reports. A clear URL helps in several ways:
- People understand where a link leads before they click.
/guides/winter-tyre-storage/is self-explanatory;/p?id=9912is not. - Search engines get a small hint about the page topic. Words in URLs are a very minor ranking signal, but they add context, especially when the URL is used as anchor text in bare links.
- Site structure becomes visible. Folders such as
/services/and/blog/show how content is organised, which helps both visitors and anyone managing the site. - Clean URLs reduce duplicate content. Sites that rely on parameters often expose the same page under many addresses.
Google’s URL structure guidelines sum it up simply: use a clear, logical structure with readable words rather than long ID numbers.
The anatomy of a URL
Take https://www.example.com/services/bookkeeping/?ref=menu#pricing. Its parts are:
- Protocol:
https://. Every modern site should use HTTPS. - Host:
www.example.com. Choose www or non-www and redirect the other. - Path:
/services/bookkeeping/. This is where most of your choices happen. - Query string:
?ref=menu. Parameters for tracking, filters, sorting or search. - Fragment:
#pricing. Points to a section of the page; search engines generally ignore it for indexing.
The advice in this guide is mostly about the path, with some notes about parameters.
Best practices for URL paths
- Use real words that describe the page. The URL should tell someone what they will find:
/womens-hiking-boots/,/contact/,/how-to-bleed-a-radiator/. - Keep it short. Remove filler words such as “and”, “the”, “of” when the meaning stays clear.
/how-to-choose-an-accountant-for-your-small-business/can become/choose-small-business-accountant/. - Use hyphens between words. Search engines treat hyphens as word separators. Underscores, spaces (which become
%20) and run-together words are harder to read. - Use lowercase only. URLs can be case-sensitive on many servers, so
/About/and/about/may be two different pages. Lowercase avoids duplicates and typos. - Avoid special characters. Accents and non-Latin letters work technically, but they are encoded into long strings when copied. Many sites transliterate them into plain letters. If your audience searches in a non-Latin script, native-script URLs are also acceptable; just be consistent.
- Keep folders logical and shallow. One or two levels, such as
/services/bookkeeping/or/blog/post-name/, are usually enough. Deep paths like/en/site/pages/main/services/finance/bookkeeping/add length without adding meaning. - Avoid dates unless they matter.
/2023/05/garden-shed-guide/makes an evergreen article look old and forces a URL change if you update the date. News sites are the exception. - Do not stuff keywords.
/plumber-london-emergency-plumber-cheap-plumber/looks spammy and gains nothing. - Pick a trailing slash policy. Either
/contact/or/contact. Both are fine; serving both as separate pages is not. Redirect one to the other.
Parameters: when they are fine and when they cause problems
Query parameters have legitimate uses: tracking campaign sources, sorting and filtering product lists, paginating results and internal search. The problems come from how they multiply:
- A category page with five filters and three sort orders can generate hundreds of URL combinations with almost identical content.
- Tracking parameters such as
?utm_source=create extra versions of every page linked from newsletters or social posts. - Session IDs in URLs, used by some older systems, create a new URL for every visitor.
You do not need to eliminate parameters. Manage them instead:
- Use canonical tags so parameter versions point to the clean URL.
- Never link internally to URLs with tracking parameters; keep those for external campaigns.
- Block pure crawl traps, such as endless sort and filter combinations, in robots.txt if they create large numbers of URLs.
- For filters with genuine search demand, such as a colour or type people search for, consider creating a proper static page with its own content.
Good and bad URL examples
| Page | Poor URL | Better URL |
|---|---|---|
| Service page | /index.php?page_id=482 | /services/bookkeeping/ |
| Blog guide | /2021/03/14/new-post-3/ | /blog/winter-tyre-storage/ |
| Produkts | /shop/cat7/sub12/item_9931_BLUE | /hiking-boots/trailmaster-waterproof/ |
| Location page | /Locations/Manchester%20Office | /locations/manchester/ |
| Kontakti | /contact-us-today-for-a-free-quote-now/ | /contact/ |
The better versions have a few things in common. Each one could be read aloud over the phone without spelling out symbols. Each one tells you what the page is about before you open it. And none of them contains anything likely to change, such as a publication date, an internal database ID or a sales slogan, so they can stay the same for years.
How URLs appear in search results
On desktop and mobile, Google usually shows the site name and a breadcrumb-style version of the URL above the title, for example “example.com › services › bookkeeping”. When the path contains readable words, that line reinforces the title and tells the searcher where they will land. When it contains IDs and parameters, Google may shorten it or replace it with breadcrumb data from the page.
This is one reason breadcrumbs and URL folders work well together. If your breadcrumb trail reads Home › Services › Bookkeeping and your URL is /services/bookkeeping/, visitors and search engines see a consistent picture of where the page sits in your site. Adding BreadcrumbList structured data makes that structure explicit.
Readable URLs also help when links are shared without anchor text, such as in chat messages, forum posts or plain-text e-mails. There the URL itself is the only description the reader gets, and a clear one earns more clicks than a string of numbers.
Platform settings to check
Most URL problems come from default settings rather than deliberate choices:
- WordPress. Under Settings, Permalinks, choose “Post name” rather than the default with numeric IDs or dates. Do this before launch; changing it later changes every URL.
- Shopify. Product and collection URLs have fixed prefixes such as
/products/and/collections/, which you cannot remove. Focus on clean handles, the editable last part. - Page builders and CMS in general. Check that the slug field is edited when a page is created. Auto-generated slugs from long titles, or slugs like
/copy-of-services-2/from duplicated pages, are common. - Multilingual sites. Use a consistent pattern, such as
/de/and/fr/folders, and translate the slug where it makes sense.
A quick URL checklist before publishing
Before you press Publish on a new page, take ten seconds to check its URL:
- Does the slug describe the page in two to five plain words?
- Is it all lowercase, with hyphens and no spaces, underscores or special characters?
- Does it sit in the right folder, next to related pages?
- Is it free of dates, version numbers and words like “new”, “copy” or “final”?
- Would it still make sense if the page were updated next year?
Fixing a slug before publication costs nothing. Fixing it after the page has been indexed and shared means a redirect and some waiting.
Should you change existing URLs?
Changing a URL resets some of its history. Even with a correct 301 redirect, search engines need time to process the change, and there can be temporary fluctuations. Change existing URLs only when the benefit is clear, for example:
- the URL is actively misleading, such as a slug from an old product name;
- it contains an error, personal data or an embarrassing word;
- you are restructuring the whole site or migrating anyway;
- the URL format creates real technical problems, such as case-sensitive duplicates or session IDs.
Do not change URLs just because they are a bit long or contain a date. If you do change them, redirect each old URL to its new equivalent with a 301, update internal links and the sitemap, and check for broken links afterwards.
How Site AI Audit helps
Site AI Audit crawls your site and reports broken links and redirects, including internal links that still point to old URLs after a change, along with sitemap, robots.txt and noindex issues. The findings name the affected pages and explain the fix, which makes it a quick way to verify a URL clean-up or restructure. Check your site for free.
Related reading
- 301 vs 302 Redirects: Which One to Use and When
- Canonical Tags Explained: How to Handle Duplicate URLs
- Internal Linking for SEO: A Practical Guide for Small Sites
The bottom line
Good URLs are short, lowercase, hyphenated and descriptive, organised in a shallow, logical folder structure. Set sensible defaults before launch, manage parameters with canonicals and careful internal linking, and choose one version of every URL. Once a URL is live, leave it alone unless there is a clear reason, and when you do change it, redirect the old one.
BUJ
Do keywords in URLs help rankings?
Only slightly. Words in URLs give search engines and users a small hint about the topic. The bigger benefit is readability and trust in search results and shared links.
Hyphens or underscores in URLs?
Use hyphens. Search engines treat hyphens as word separators, and they are easier to read. Underscores can join words together in some systems.
Should URLs end with a slash?
Either format is fine. What matters is consistency: one version should load the page and the other should redirect to it.
How long should a URL be?
As short as possible while staying descriptive. Three to five words in the final part of the path is plenty for most pages.
Is it bad to have numbers in URLs?
Not in itself. Numbers that carry meaning, like a model number, are fine. Meaningless IDs and dates that may change are better avoided.



