writing/12 Sep 2026/7 min read

301 vs 302: which redirect should a short link use?

The short answer is 302, and the reason has almost nothing to do with SEO. It is about who gets to change their mind later: you, or every browser that ever saw the link.

The actual difference

A 301 says the resource has moved permanently and the client should stop asking. A 302 says it is somewhere else for now, so keep asking each time. Both send the visitor to the same place today. They differ entirely in what happens tomorrow.

301
302
Browser caches it
Aggressively, often forever
No, or briefly
Destination editable later
Not for returning visitors
Yes, immediately
Repeat clicks counted
Only the first one
Every one
Passes ranking signals
Yes
In practice, largely yes

Why a cached 301 is close to unfixable

Browsers take permanence literally. Once a 301 is cached, the browser stops contacting your server at all for that URL. Change the destination and returning visitors keep landing on the old one, sometimes for months, with no request reaching you that you could fix. Clearing it requires the visitor to clear their own cache, which is not a support instruction anyone can give at scale.

That is fine for a site migration, where the new URL genuinely is permanent. It is the wrong contract for a short link, whose entire value proposition is that the short form stays fixed while the destination underneath it can move.

If a link is printed on a conference badge and the campaign page moves, a 302 lets you retarget it in five seconds. A 301 means the badge is now wrong for everyone who scanned it once.

The SEO argument, honestly

The received wisdom is that 301 passes link equity and 302 does not. That was accurate a long time ago. Search engines have since stated repeatedly that redirect type is not the deciding factor in whether signals are consolidated, and that a redirect maintained consistently is treated as such regardless of its status code.

There is also a more useful framing: short links are rarely the canonical route to a page. They appear in social posts, emails, chat messages and print. Ranking signals from those sources are weak or nonexistent anyway. The pages that matter for search are linked directly, and your canonical tags settle the rest. Choosing a redirect code to chase link equity through a shortener optimises something that was never load-bearing.

What caching does to your numbers

A cached redirect is a click you never see. The visitor goes where they intended, your server is never contacted, and your analytics record nothing. With a 301 that silence is permanent per browser: the first visit counts and every subsequent visit from that person is invisible.

For a link people follow once this barely matters. For anything recurring, a documentation shortcut, a status page, a link in an email signature, it means your figures drift downwards over time for reasons that have nothing to do with interest declining. A 302 keeps each visit observable, which is the only way a recorded-redirect count means anything at all.

The other codes, briefly

307 Temporary Redirect
Like 302 but guarantees the method is preserved. Irrelevant for short links, which are followed with GET.
308 Permanent Redirect
The method-preserving 301. Inherits every caching problem above.
Meta refresh or JavaScript
Requires rendering a page first: slower, breaks without scripting, and leaks the short URL as a referrer. Avoid.
410 Gone
Not a redirect, but the right answer for a deleted link. It tells crawlers to stop asking, where 404 implies the slug might appear later.

What c1k.me does

Every active link answers with a 302 and explicit no-store cache headers, so a destination change takes effect on the next request everywhere. Deleted links return 410 Gone. A slug that has never existed, or whose schedule has not started, returns 404. Paused links return 404 as well, so pausing a link does not tell crawlers to forget it permanently.

The redirect response itself carries no HTML body, no stylesheet, no font and no script, which is why it lands in single-digit milliseconds of server time. A redirect should be the fastest thing on the internet, and there is no reason for it not to be.