A slug is the readable part of a URL that identifies a page: the url-slug-rules in /blog/json-formatter-guide/url-slug-rules. It is not a ranking trick, and it is not a place to repeat every keyword. It is a stable, human-readable address that should still make sense when the campaign, the season or the product name changes. The local slug generator handles the mechanical part, but the decisions that matter happen before and after the conversion.
Part of the developer toolkit guide. The tool turns one title per line into one slug per line, using either hyphens or underscores. It does not check whether a slug is already taken, whether it is too long, or whether the page will still exist next year.
What a slug does, and does not do
A good slug tells a person what the destination contains before they click. It also gives the page a stable identifier that can be shared, linked and printed. Search engines use the words in a URL as a weak relevance signal, but the page title, headings and content do far more work. Repeating a keyword five times in a slug looks spammy and makes the link harder to read.
The most important property is stability. Every change to a published slug breaks inbound links unless you add a redirect. A date in the slug becomes wrong when the article is updated. A campaign name becomes embarrassing when the campaign ends. A product code is stable only while the product exists. Choose the shortest phrase that describes the page's lasting topic, then leave it alone.
Slugs are also case-sensitive on many servers. Lowercase is the convention because it avoids duplicate URLs that differ only by capitalization. A URL ending in /Guide and one ending in /guide may resolve to the same page or may not, depending on the host. Pick lowercase and enforce it in the CMS.
The exact rules used by the generator
The generator normalizes each line with Unicode NFKD, removes combining marks in the U+0300 to U+036F range, lowercases the result, trims it and replaces every run of characters outside a-z and 0-9 with the chosen separator. Leading and trailing separators are removed. Empty lines are dropped, and the output keeps one slug per line.
The practical consequences are worth spelling out. Accented Latin letters usually survive as their base letters: Café becomes cafe. Punctuation, apostrophes, ampersands and emoji become separators, not deletions, so Tom & Jerry becomes tom-jerry rather than tomjerry. Consecutive punctuation collapses to one separator. A title written entirely in a non-Latin script may become empty because the tool does not transliterate Cyrillic, Arabic, Devanagari or CJK characters. Those titles need a manual slug.
The generator does not remove stopwords. How to Use the Tool becomes how-to-use-the-tool, including to and the. It does not enforce a maximum length, does not add a date, does not check for duplicates across pages and does not verify that the slug is unique within the current site. Those checks belong in your publishing workflow.
Example: Café déjà vu: 10 Tips & Tricks! becomes cafe-deja-vu-10-tips-tricks with hyphens. With underscores selected, it becomes cafe_deja_vu_10_tips_tricks. Both are valid URL path segments, but hyphens are the common convention for web pages and are treated as word separators by search engines.
SEO choices that the converter cannot make
Start with the primary topic, not the site name. /blog/url-slug-rules tells the reader more than /blog/tool4saas-post-2026-10-23. Remove filler words only when the result still reads naturally; a slug of three generic words may be shorter but less useful. Put the most specific noun near the front, because it survives when a link is truncated in a chat app or a search result.
Avoid changing slugs after launch. If a change is unavoidable, keep a permanent redirect from the old URL and update internal links. Redirect chains should be one hop, not five. If the page is substantially new content rather than a rename, create a new URL and leave the old page in place with a link to the successor.
Do not stuff synonyms into the slug. Pick the phrase people would use when describing the page, then use the title and body to cover related language. A slug like best-cheap-fast-reliable-tool-online-free reads like an advertisement and dates quickly. A slug like compare-json-formatters describes a durable comparison.
Canonical URLs and language versions add another layer. If the same page exists in several languages, keep the slug in the page's language where possible and use hreflang to connect the versions. If you transliterate a title for a Latin-script URL, do it once and document the mapping so future editors do not produce a second slug for the same page.
Unicode, accents and non-Latin titles
Unicode normalization matters because the same visual character can have more than one byte representation. NFKD splits accented letters into a base letter and a combining mark, and the generator then removes the mark. That is why é becomes e. It also means a character that has no canonical decomposition may disappear or become a separator. Always inspect the output for names and brands that use diacritics.
Non-Latin scripts require a decision. You can keep the original script in the URL, percent-encoded by the browser, or transliterate it into Latin characters. Keeping the original is more faithful but produces long, unreadable percent-encoded strings when copied. Transliteration improves readability but can be inconsistent, especially for names. Either way, do not let an automatic converter silently produce an empty slug; check it.
Symbols such as +, & and # have special meanings in URLs. The generator replaces them with separators, which is safer than leaving them raw. A literal # in a path would start a fragment; a literal ? would start a query. Replacing them avoids a whole class of broken links.
Bulk generation without creating a mess
Paste one working title per line, choose a separator, generate, then treat the output as a draft. Before publishing, check the list for duplicates, empty results, accidental dates and slugs that are too generic. Add a numeric suffix only when two pages genuinely need the same phrase, and make the suffix meaningful if possible.
Keep a small redirect map when migrating an existing site. A spreadsheet with old URL, new URL and status is enough for most teams. After the migration, crawl the site and check that internal links point to the new versions rather than bouncing through redirects. A redirect that works is still slower than a direct link.
| Title | Generated slug | Review note |
|---|---|---|
| 10 Tips for Faster JSON Parsing | 10-tips-for-faster-json-parsing | Clear and durable |
| Café déjà vu: 10 Tips & Tricks! | cafe-deja-vu-10-tips-tricks | Accents folded, symbols replaced |
| 2026 Q4 Sale | 2026-q4-sale | Date will age; keep only for a permanent archive |
| 工具使用指南 | empty | Needs manual transliteration |
| How to Use the Tool | how-to-use-the-tool | Stopwords are not removed |
Before you publish
- Read the slug aloud. If it is awkward to say, it is awkward to share.
- Remove dates, campaign names and version numbers unless the page is explicitly archival.
- Check for duplicates in the CMS, including drafts and localized versions.
- Keep it lowercase and use one separator consistently across the site.
- Add a redirect before changing any slug that has already been indexed or shared.
- Update internal links so they point to the final URL directly.