writing/12 Sep 2026/6 min read

Naming slugs a team can actually find

A slug is the most permanent thing you will name this quarter. It goes on a slide, into an email, sometimes onto a printed card, and unlike a variable name you cannot rename it later without breaking everything that already carries it.

Write for someone reading it aloud

The real test of a slug is a person saying it over a bad phone line, or typing it from a slide at the back of a room. That single constraint eliminates most bad choices on its own.

c1k.me/l1stO0
Lowercase L, digit one, letter O, digit zero. Unreadable aloud, mistyped on sight.
c1k.me/Q3Launch
Case-sensitive, so anyone who types it lowercase gets a 404. Avoid mixed case entirely.
c1k.me/pricing_v2_final
Underscores vanish under link underlining. And nothing named final ever is.
c1k.me/pricing
Says what it is. Survives the page being redesigned three times.
c1k.me/devcon-badge
Names the place it was printed, so you know what it measures a year later.

A scheme that holds at ten people

Two shapes cover almost everything, and mixing them deliberately is the point.

Evergreen: one plain word
A stable concept that outlives any campaign. docs, pricing, status, jobs. Retarget the destination as the site changes; never retire the slug. These are the ones worth guarding.
Campaign: context then channel
Two or three hyphenated parts. launch-email, launch-badge, launch-chat. Same prefix so they group in a search, different suffix so the counts stay comparable.

Resist putting dates in the slug unless the thing genuinely is dated, like an annual report. A date makes a slug feel disposable, and disposable slugs get recreated slightly differently each cycle until nobody can search them.

Slugs are a budget, so spend them

On c1k.me the allowance per €5 pack is 100 active links and 400 held, which is a specific and slightly unusual shape: holding a name costs you almost nothing, activating it costs one of a hundred slots. The sensible consequence is to reserve generously and activate sparingly, and to add a pack when the active count rather than the reserved count is what runs out.

Claim the obvious words for your product before anyone else does, even the ones you will not use this year. Create next quarter's campaign slugs while you are already thinking about the naming, leave them paused, and activate them on the morning of the push. A paused slug still belongs to you.

The one thing worth doing today: reserve the handful of words your company would be annoyed to lose. Reservation is the cheap part of the plan.

Collisions, and the two ways teams handle them badly

The first bad habit is appending a number. launch2 exists because launch was taken, and six months later nobody knows which one is live, which one is on the poster, or whether deleting either breaks something. A number carries no information about what differs.

The second is retargeting someone else's slug because the name was perfect. That silently breaks whatever was already pointing there, and the activity feed will show exactly who did it, which is a conversation nobody enjoys. If a slug is taken by a colleague, take the collision as a signal that your link needs its own distinguishing word, not a digit.

Names you cannot have

Any shortener serving its own site from the same hostname reserves the paths that site occupies. On c1k.me that includes the application routes, the API prefix, the MCP prefix, and the marketing pages: app, api, mcp, pricing, docs, status and a short list of others.

The reserved list is published rather than discovered at save time, and it only ever shrinks, never grows: a name that is available today cannot be taken back from you tomorrow to make room for a new marketing page. That constraint is the reason the list was fixed before launch.