Of everything that goes into publishing a page, the URL slug gets the least deliberation and is the hardest to undo. A headline can be rewritten a year later at no cost. A meta description can be improved whenever you like. The slug, once people have linked to it and search engines have indexed it, is effectively permanent — you can change it, but you pay for the privilege.
It is worth spending ninety seconds on it at publication time.
What a slug is
The slug is the readable part of the address that identifies one specific page. In example.com/blog/how-to-minify-css, the slug is how-to-minify-css. Everything before it is domain and folder structure; the slug is the page itself.
It has two audiences. Search engines use it as a weak ranking signal and a strong relevance hint. Humans use it to decide whether to click, because it appears in search results, in chat previews and in the address bar.
Lowercase, always
URLs are case-sensitive after the domain name on most web servers. That means /My-Page and /my-page are two different addresses as far as the server is concerned.
Publish a mixed-case slug and you invite two problems. Anyone who types the address by hand will probably get it wrong and hit a 404. And if your server is configured to serve both, you now have the same content at two URLs, splitting whatever ranking signals the page accumulates between them.
Lowercase everything. There is no upside to capital letters in a URL.
Hyphens, not underscores
This one is not a matter of taste. Google has stated the position directly: a hyphen is treated as a word separator, and an underscore is not.
So seo_meta_tags is read as a single token — the string seo_meta_tags, which nobody searches for. And seo-meta-tags is read as three words: seo, meta, tags. Each of those can match a query.
Underscores are the convention in code, where they join parts of one identifier. URLs are not code, and the convention there is different.
Length: shorter than the headline
Headlines are written to be interesting. Slugs should be written to be findable. They are not the same job, and the slug does not need to match the title word for word.
A headline like 7 Surprising Reasons Your Website Speed Score Is Lower Than You Think makes a poor slug at full length. Three to six meaningful words is the working range — something like website-speed-score-explained. That is enough to convey the topic and short enough to survive being pasted into a message without wrapping.
Long URLs also get truncated in search results, which means the end of your carefully chosen slug is invisible to the people you wrote it for.
Stop words: usually drop them, but read the result
Words like a, the, and, of, to and for rarely earn their place in a slug. The Complete Guide to the Best Free Online Tools works fine as complete-guide-free-online-tools.
But apply judgement rather than a rule. Small words occasionally carry the meaning. Removing not reverses a title entirely. The Office is a specific thing and office is not. If dropping a word changes what the slug says, keep it.
Accented and non-Latin characters
Modern browsers display Unicode URLs correctly, so it is tempting to write /café-guide and assume it works. It does — until someone copies the link.
At that point it becomes /caf%C3%A9-guide, and the readable address you designed turns into a string of escape sequences in every chat message, email and forum post that shares it. Transliterate to ASCII instead: cafe-guide.
For scripts with no Latin equivalent — Arabic, Chinese, Cyrillic — do not try to transliterate the title mechanically. Write a short descriptive slug in your own words instead.
The part people get wrong: changing a slug later
Say you published /blog/best-seo-tips-2024 and it is now 2026. The instinct is to update the slug.
Here is what happens if you simply change it. Every existing link to the old address breaks. Every bookmark 404s. Search engines drop the old URL and start over with the new one, and the ranking signals the page accumulated over two years — the links, the click history, the age — do not automatically transfer.
What you must do instead is add a 301 redirect from the old address to the new one. A 301 tells search engines the move is permanent and passes most of the accumulated value along. Most of it, not all.
Two practical conclusions. First, avoid putting years and other expiry dates in slugs unless the page is genuinely about that year. Second, treat the slug as a decision you make once. Rewriting the headline later is free; rewriting the URL is not.
A checklist
- All lowercase
- Hyphens between words, never underscores
- Three to six meaningful words
- No stop words unless they carry meaning
- No accented or non-Latin characters
- No dates unless the page is genuinely time-bound
- Descriptive enough that the URL alone tells you what the page is
If you are publishing in bulk — a content plan, a migration, a batch of product pages — the Slug Generator will process a whole column of titles at once, applying all of the above.