What is a URL slug, and what makes a good one
Three to five words, lowercase, hyphens, no dates. And why changing it later costs you traffic.
The slug is the human-readable part of a URL that identifies one page: in textfizz.com/blog/what-is-a-url-slug/ the slug is what-is-a-url-slug. A good slug is lowercase, uses hyphens between words, contains 3 to 5 meaningful words, and describes the page well enough to be understood on its own in a chat message. Once published it should not change.
Slug, path, permalink: what the words mean
In https://example.com/blog/2026/url-slug-guide?ref=news#step2:
https://is the scheme,example.comthe domain./blog/2026/url-slug-guideis the path.url-slug-guideis the slug — the last segment, the one identifying this page.?ref=newsis the query string,#step2the fragment. Neither is part of the slug, and search engines usually treat query variants as the same page or as duplicates.
Permalink is the WordPress word for the whole URL. Slugify is the verb for turning a title into a slug: lowercase it, strip punctuation, replace spaces with hyphens, collapse repeats. A slug generator does exactly those four steps.
The rules that actually matter
| Rule | Good | Bad |
|---|---|---|
| Lowercase only | meta-description-length | Meta-Description-Length |
| Hyphens, not underscores | remove-duplicate-lines | remove_duplicate_lines |
| 3–5 meaningful words | instagram-caption-length | the-complete-and-definitive-2026-guide-to-instagram-caption-length-for-marketers |
| No stop words that carry nothing | how-to-count-words | how-to-count-the-words-in-a-document |
| No dates or numbers that expire | meta-description-length | meta-description-length-2026 |
| No file extensions or IDs | pdf-line-breaks | page.php?id=4821 |
| ASCII where you can | cafe-guide | caf%C3%A9-guide |
On case: URLs are case sensitive after the domain on most servers. /About and /about can be two different pages on Linux and the same page on IIS. Staying lowercase removes the question entirely.
On underscores: Google has treated hyphens as word separators and underscores as word joiners for years, so url_slug can be read as one token. The practical impact is small, the cost of using hyphens is zero.
On folders: /blog/what-is-a-url-slug/ against /what-is-a-url-slug/. Depth costs nothing in ranking terms up to about three levels, and a section folder helps readers and analytics — you can filter every blog URL with one rule. What does hurt is a folder that duplicates the slug, as in /blog/blog-url-slug/, and folders that describe your internal structure rather than the content.
On length: there is no penalty for a long slug, but there is a readability cost. A slug that fits inside a search result without truncation is around 50 to 60 characters of path. Check it with a character counter if you are near that.
Non-Latin alphabets and accents
Three options, each with a real trade-off:
- Percent-encoded Unicode. The browser shows
/кофе-гид/and it works. When copied into plain text or an old system it becomes/%D0%BA%D0%BE%D1%84%D0%B5-%D0%B3%D0%B8%D0%B4/— unreadable and four times longer. - Transliteration.
/kofe-gid/. Stays readable everywhere; requires a consistent transliteration table, because two plugins will disagree on how to spell the same word. - English slug.
/coffee-guide/. Cleanest technically, disconnected from the visible title.
For accents specifically, strip them: cafe, not café. Nobody types the accent when they retype a URL.
Never change a published slug without a redirect
Changing a slug creates a new URL. The old one returns 404. Every link pointing at it — other sites, your own old posts, bookmarks, newsletter archives, a Slack message from 2024 — now goes nowhere, and the ranking history attached to that address does not automatically move to the new one.
If you must change it:
- Add a 301 redirect from the old slug to the new one before or at the moment of the change.
- Update internal links to point at the new URL directly — chained redirects are slow and lose a little at each hop.
- Update the sitemap and resubmit it.
- Keep the redirect permanently. There is no safe date to remove it.
Expect a dip for 2 to 6 weeks even when everything is done correctly. That is the price, which is why the answer is usually: leave the slug alone and change the title instead. A title and a slug do not have to match, and after a year of ranking they rarely do.
What usually goes wrong
- The CMS generated the slug from a draft title. untitled-2 and new-post-copy live in every site older than a year. Check the slug field before the first publish, not after.
- Dates baked in.
/2026/03/tips/tells everyone the piece is old the moment it is not. It also makes updating the article feel dishonest when the URL still says 2026. - Trailing slash inconsistency.
/pageand/page/served as separate pages with the same content. Pick one form, redirect the other, and set the canonical. - Stop words removed too aggressively.
/how-remove-duplicates/reads like broken English. Keep the word that makes the phrase a phrase. - Keyword stuffing.
/excel-remove-duplicates-delete-duplicate-rows-excel/does not rank better and looks like spam in a shared link. - Spaces turned into
%20. Usually a file uploaded with a space in its name. Rename the file. - Duplicate slugs across sections so the CMS silently appends
-2. Export your slugs and check for duplicates when you audit a site.
Turning a title into a slug, in practice
Take the working title. Drop everything that is not a letter, digit or space. Lowercase it. Remove the articles and any word that could be deleted without changing what the page is about. Join with hyphens. Read it back — if you could not guess the page from the slug alone, it is wrong.
The Complete Guide to Removing Duplicate Rows in Excel (2026 Update) becomes remove-duplicate-rows-excel. Four words, no year, no punctuation, obvious.
For a batch, paste the titles one per line into a slug generator, then sort the output to spot near-identical slugs before they collide in the CMS.
Related tools
Frequently asked questions
The readable segment of a URL that identifies a single page, usually the last part of the path. In example.com/blog/url-slug the slug is url-slug.
Three to five meaningful words, roughly 30 to 60 characters. Long slugs are not penalised but become unreadable when shared as plain links.
Hyphens. Search engines treat a hyphen as a word separator and an underscore as a joiner, so my_slug can be read as a single token.
Only with a permanent 301 redirect from the old URL, plus updated internal links and sitemap. Expect a ranking dip of two to six weeks anyway.
It should match the meaning, not the wording. Titles get rewritten over time; the slug should stay stable, so a shorter core phrase is better.
Technically yes, but URLs are case sensitive on most servers, so /About and /about can become two pages. Stay lowercase.
No. You will update the article next year and the URL will contradict the content, or you will change the slug and lose the links.