Changelog
What has shipped, newest first.
- added
A row of social icons, and click counts
Drag a link to YouTube, Instagram, TikTok, Twitch, X, GitHub or Kick into the icon row and it becomes a single icon instead of a full-width button. The row can sit above your buttons, below them, or anywhere in between.
Analytics now counts presses on each link, along with where visits came from: country, device, browser and any
?ref=campaign tag. Clicks are counted with the HTMLpingattribute, so the link still goes straight to where you pointed it, with no redirect and no script on the page. Some browsers turn pings off, so click counts run a little low, never high. - added
Ten hover effects, presets, and a free background image
Buttons can now lift, grow, press, slide, tilt, glow, ring, fill or shine under the pointer, and a keyboard user gets the same effect when a link takes focus. The outline button was rebuilt with a heavier frame and label, so it no longer looks thinner than the solid style beside it.
The editor offers ten finished looks to start from. A preset sets the colours, corners, buttons and hover in one go, and leaves your background image and the order of your links alone.
A background image is now free on every plan. It is stored in your own repo and served from your own server, so there was never a good reason to charge for it.
Every effect is plain CSS. The page still ships no JavaScript.
- added
Accounts on Linker’s own atproto server
You no longer need an account anywhere else. Creator can open you a real atproto account on our own Personal Data Server, and point a domain you own at it — so your handle and your server address are both names you control.
It is a standard PDS, which means the account can be migrated away to another provider whenever you like. That is deliberate: an account you cannot leave with is not really yours.
- changed
Short names, written with an @
A claimed name is now written and routed as
@name— solinker.cool/@aliceandlinker.cool/@alice.bsky.socialread as the same kind of thing, because they are: both are just how you are found.- Every URL shared before this still resolves. The
@is stripped on the way in and added on the way out, so nothing broke. - A name that lapses stays reserved to you. It stops routing, your page falls back to your handle, and the name starts working again the moment the subscription does.
- Every URL shared before this still resolves. The
- added
View counts, without a tracker
The dashboard now shows views, visitors and referrers over 7, 30 or 90 days.
Nothing was added to your page to make this work — it has no JavaScript to add anything to. Views are recorded server-side as the page renders, bots and link-preview fetchers are filtered out, and no IP address is stored. A visitor is a hash that changes every day, so two days of records cannot be joined into a history.