A citation is a promise that someone else can check your work. We wanted to know how long that promise holds on the web, so we took every external URL cited in a corpus of 3,900 technology articles published between 2010 and 2024 — 41,208 links after deduplication — and tried to fetch all of them in May of this year.
Twenty-six per cent failed outright. Another nine per cent resolved to something that was not the cited document: a homepage, a paywall, a domain parked by a registrar, a “this content is no longer available” shell. So a little over a third of the evidentiary base of fifteen years of technology writing has quietly detached from the writing.
| Year published | Still resolving |
|---|---|
| 2010 | 46 |
| 2012 | 53 |
| 2014 | 61 |
| 2016 | 68 |
| 2018 | 75 |
| 2020 | 81 |
| 2022 | 87 |
| 2024 | 92 |
It is not evenly distributed
Institutional domains hold up. University pages, government records and the large newspapers cleared eighty per cent even in the oldest cohort. What died was everything else: personal sites, company blogs from companies that were acquired, documentation for products that were sunset, and — worst by a distance — anything hosted on a platform that has since shut down.
The web does not forget slowly and evenly. It forgets the independent parts first.
That last bar is the one that should worry anyone who writes for a living. Six per cent. An entire generation of technical writing — thoughtful, specific, often better than the coverage that survived — was published on services that no longer exist, and the citations pointing at it now point at nothing.
What a writer can actually do
Archive as you cite rather than as you remember to. Prefer a stable identifier where one exists. And quote generously in your own text, because your document is the only server in the chain that you control. A link is a promise about someone else’s infrastructure; a quotation is a promise about yours.
Comments
Be the first to write in
No letters on this piece yet. The Ledger is a template, so comments are a placeholder — wire this block up to your own backend.