A link is the only thing on a page that makes a promise about somewhere else. Most of the web’s small betrayals are broken ones.
October 2026
Nielsen Norman Group put it in four words: a link is a promise. The text says what the reader will find; the page has to deliver exactly that, immediately, without a second click. Every time it doesn’t — the label said prices, the page has no prices — a little trust goes, and the reader learns not to believe the next label either.
Which makes link writing one of the most consequential jobs on a site, and one of the least considered.
Write the label for someone who reads nothing else
Say where it goes, in the reader’s words. “Click here”, “read more”, “learn more” say nothing and are identical to each other, which is worse. Put the informative word first: people scan the beginning of a link, not the end.
An address is the one part of a website a person can say out loud. Most sites generate theirs and hope nobody notices.
Make it work alone. A screen reader can list every link on a page, stripped of its sentence — the accessibility guidelines ask for the purpose to be clear from the link text itself. A page whose links are twelve variations of “more” is a page that cannot be navigated that way at all.
Match the destination. If the link says “An outside review”, the page it opens should say “An outside review” at the top. That echo is the moment the reader knows they are in the right place.
Don’t hide it. Colour alone is not enough — underline links in running text. A reader who has to hover over a paragraph to find out what is clickable has been given a puzzle instead of a page.
How many is the harder question
Everything above is about writing a good link. The question nobody asks is how many to write. A link is an invitation to leave the page you spent a week on, and the invitation is extended whether or not anybody accepts it.
That is the part people miss. The cost of a link is not paid by the reader who clicks it — that one got what they came for. It is paid by everyone who doesn’t. Every underlined phrase in a sentence is a small decision put in front of someone who was reading: is this worth leaving for, now or later, or not at all. They answer it in a fraction of a second and read on, slightly further from where your argument was going.
There is research on this, and it is more careful than the usual advice. A review of thirty years of studies on reading hypertext found that more embedded links consistently raise the load on the reader, and traced the cause to exactly that decision at each link rather than to the clicking. One study found better recall and better summaries from the version with fewer links; another found that people navigated worse as the number of choices grew. The honest summary is not that links are harmful — results varied — but that across three decades, no study found that more of them helped.
So the question for each one is not “could this be a link” but “is this worth sending someone away for”. A link has to earn its place the way a sentence does.
What I do instead of linking everything
- Once per destination. The first place it genuinely helps, and nowhere else. The same page linked three times in a page is three decisions for one offer.
- Not in the sentence that carries the argument. A link mid-thought interrupts the thought. Put it at the end of the sentence, or the end of the section, where the reader is already pausing.
- Ask what the link is for. Proof can wait until the bottom. A next step belongs where the reader is ready to take it. A definition is usually better as a clause than as a link — explain it in six words and nobody has to leave.
- Gather the rest at the end. A short list of sources under the text serves the reader who wants them without interrupting the one who doesn’t. That is what the references below are.
- Weigh inside and outside differently. A link deeper into your own site continues the visit. A link off it ends one. Both are fine; they are not the same decision.
And a test that needs no counting: read the paragraph aloud and stop at every link. Would you interrupt yourself there, in a room, to say “by the way, there is something else you could be reading”? Twice in a page is a generous host. Five times in a paragraph is someone who does not want to be listened to.
Inside, outside, and down the page
Internal links stay in the same tab. The back button is the most used control on the web; opening your own pages in new tabs takes it away and leaves a trail of windows the reader has to clean up.
External links: same rule, with one exception. Sending someone away is not a loss — it is why the web works. If a new tab is genuinely warranted (a form half-filled, a document opened mid-task), say so in the link, so the reader is not surprised by a back button that suddenly does nothing.
Anchor links need somewhere to land. A link to a point halfway down a page should arrive at a heading, not in the middle of a paragraph, and the heading should not be hidden under a sticky header — offset the landing. And since the fragment is part of the address, it has to survive: change the heading, and every link anyone ever shared to it dies silently.
Mail links: yes, but show the address too. A mailto link opens whatever mail program the reader’s device thinks it should, which is sometimes one they have never used. Write the address in the link text so it can be read, copied and used elsewhere — and write it in a form the harvesters cannot parse.
Downloads announce themselves. Type, and size: “Application form (PDF, 2 pages, 180 kB)”. A link that silently pushes four megabytes onto a phone is the rudest thing on a page.
Addresses that mean something
Now the half that nobody argues about because nobody looks at it. Compare these two:
example.org/services/website-reviewexample.org/index.php?p=42&cat=7&sid=9f31c0
The first was written by a person and describes the thing. The second was generated by a database and describes the database: table, row, session. One can be read over the phone, remembered, guessed, printed on a card. The other cannot be said out loud at all.
The cost is not cosmetic. A database-driven address ties the public face of your site to its internal plumbing, so the plumbing cannot change without breaking every link anyone has ever shared. It multiplies: the same page appears at a dozen addresses with different parameters, filters and tracking codes, and neither a search engine nor a reader can tell which one is the real one. It expires: the session id in the address stops working tomorrow. And it tells the visitor, in the clearest possible language, that this site was built around its own machinery rather than around them.
None of this is new. A List Apart was arguing for human-readable addresses in 2000; Tim Berners-Lee wrote Cool URIs don’t change two years before that. Twenty-six years later the average public-sector page still ends in a query string, because keeping an address stable is somebody’s job and nobody’s task.
The permanent in permalink
The word came out of the blogs, around 2000. Until then you could link to somebody’s site or to a monthly archive page, but not to the thing you were actually replying to; a few people added an anchor to every entry and called it a permanent link, which the community shortened to permalink before anyone thought to claim the coinage. It solved a problem nobody had needed to name before: the writing keeps moving down the page, and the address has to stay where it is.
Twenty-five years of use have worn the word smooth. WordPress calls a settings screen “Permalinks”, and most people now read that as nothing more than the shape of the bit after the domain name. The first half of the word is the part that matters. Permanent. An address is the only piece of a website you hand out on purpose and cannot get back — it goes into bookmarks, mailing lists, citations, other people’s articles, a colleague’s notes, a printed leaflet. From the moment it is published it is no longer entirely yours, and changing it breaks something you cannot see happening.
Berners-Lee’s Cool URIs don’t change, from 1998, reads less like a technical note than a small moral argument. His point was that there is no technical reason for an address to change at all. The reasons are always organisational: a reorganisation, a new content management system, a department that got renamed, a tidy-minded new colleague. Every one of those is an internal matter being paid for by strangers.
And it is the quiet condition on the promise the open web was built on. Anyone can publish, anyone can link, nobody has to ask permission — but linking to something that will be moved next spring is not a promise, it is a bet. Permanence is what turns an address into part of the web rather than a place you have to be led to. Every address that still works adds something to that commons. Every one that does not takes something out.
What I do, in practice
- Addresses are words, lower case, hyphenated, short, and they name the thing — not the category tree it happens to sit in.
- An address that has been published never dies. If something moves, the old address redirects to the new one, permanently.
- No dates, numbers or file extensions in the path unless they are part of the meaning.
- Link text that could be read aloud in a list and still make sense.
- Underlined links in running text, a visible focus outline, and a target big enough for a thumb.
- Links checked when a page changes, because a dead link is a promise that outlived the thing it promised.
It is a small discipline with a long memory. Ten years from now, somebody will click a link from an old email and land exactly where it said they would — and never once think about why that worked.
Read the originals
In order. The first one is the one to read if you only read one.
- Jared M. Spool, The Secret Lives of Links — User Interface Engineering. If you read one thing on links, read this: links as the thing people actually navigate by, observed rather than theorised.
- Tim Berners-Lee, Cool URIs don’t change — W3C, 1998.
- Bill Humphries, URLS! URLS! URLS! — A List Apart, 2000.
- Jay Hoffmann, A History of the Permalink — The History of the Web.
- John Allsopp, A Dao of Web Design — A List Apart, 2000, on building for a medium you do not control — which is the whole case for a permanent address.
- Kara Pernice, A Link is a Promise — Nielsen Norman Group, 2014.
- Diana DeStefano & Jo-Anne LeFevre, Cognitive load in hypertext reading: a review — Computers in Human Behavior, 2007.
- Link Purpose (In Context) — WCAG 2.2, success criterion 2.4.4.