The Unbroken Chain: How to Rescue a Single Web Page from Oblivion with a Single Command
We often talk about web archiving in grand terms: entire sites, sprawling domains, the entire internet. It’s a monumental task, one that can feel so overwhelming that we do nothing at all. The scale paralyzes us. But preservation doesn’t have to start with a petabyte. It can start with a single page—the one that matters to you right now.
I’m not talking about bookmarking it. A bookmark is a promise to a future self that you’ll remember the context, that the link will still work. It’s a bet against time, and time always wins. I’m talking about creating a true, self-contained artifact. A digital snapshot that endures regardless of what happens to the live web. The tool for this is not a complex suite of software; it’s a humble, powerful command-line utility called `wget`.
Most of us have used `wget` to download a file. Its archiving power, however, lies in a few specific flags that transform it from a simple fetcher into a micro-archivist. The next time you find a crucial tutorial, a poignant obituary, a local news story, or a project page you know is on shaky hosting, don’t just bookmark it. Open your terminal and type this incantation:
The Command of Preservation
wget --page-requisites --convert-links --adjust-extension --span-hosts --wait=2 --random-wait --user-agent="Mozilla/5.0" --timestamping --no-parent "https://example.com/your-precious-page"
This string of commands might look like arcane magic, but each part serves a purpose. `--page-requisites` is the most important: it doesn’t just grab the HTML; it fetches the images, stylesheets, and scripts that make the page look and function as intended. `--convert-links` rewrites the links within the downloaded files so they point to each other locally, not to the live web. The page becomes an island, whole unto itself.
`--adjust-extension` ensures files have the correct suffixes, and `--span-hosts` allows it to carefully follow links to external resources like fonts or common libraries, which are often necessary for proper rendering. The `--wait` flags introduce a polite delay between requests, ensuring we don’t hammer the server. The custom `--user-agent` helps avoid being blocked by simplistic filters, and `--timestamping` records exactly when this act of preservation occurred.
The result, saved in a folder on your machine, is more than a copy. It’s a time capsule. Double-click the `index.html` file inside, and the page will open in your browser, looking exactly as it did the moment you ran the command. It will work in fifty years, on a computer with no internet connection. You have not just referenced the page; you have captured its state. You have broken the chain of dependency on a remote server and placed the artifact directly into your own care. This is the fundamental, radical act of preservation: taking custody. It’s a technique that scales from a single page to an entire site, but its greatest power is in its simplicity. It starts with one. What will you save today?
Notes & further reading
A few pages I came back to while writing this: