About ten years ago, in early December 2015, I co-created a webring. I’ve been wanting to write a post about Hotline Webring for years now, and the reminder that it’s been a decade gave me the motivation.
Origins
I don’t remember why Gabe and I had this idea, but we do have a penchant for silly projects and puns. Gabe probably came up with some wordplay about Drake’s Hotline Bling song lyrics sounding similar to “webring” and that “lol” turned into “I think we could automatically add sites based on the [HTTP Referer header](https:/…
About ten years ago, in early December 2015, I co-created a webring. I’ve been wanting to write a post about Hotline Webring for years now, and the reminder that it’s been a decade gave me the motivation.
Origins
I don’t remember why Gabe and I had this idea, but we do have a penchant for silly projects and puns. Gabe probably came up with some wordplay about Drake’s Hotline Bling song lyrics sounding similar to “webring” and that “lol” turned into “I think we could automatically add sites based on the HTTP Referer header”.
Here’s how it works: you make a link on your site that points to https://hotlinewebring.club/____/next (or /prev) and fill in the blank with a unique name that we call a “slug”. When that link is clicked, HLWR notes where it came from (using the referer header) and creates an entry in the webring. Every time someone clicks a link, we find (or create) the site and send them along to the next (or previous) site in the list.
It’s not foolproof but it’s about the simplest thing we could think of, and it’s worked for a decade. It’s nice because it self-service, and likely one of the reasons the webring has grown so big.
Growth & members
As of this writing, the ’ring has 752 members. Raymond Thomas, the admin of https://brisray.com, keeps a list of webrings both active and inactive. HLWR has the 5th most members of any active webring, which I’m unjustifiably proud of.
It started with people we knew. Scrolling to the bottom of our main page, you can see mostly old friends and coworkers.
We stopped accepting members for a handful of months because it was overwhelming to have hundreds of sites rely on us like that, and to feel responsible if “something bad” happened on the ’ring. But we re-opened recently and I’ve been able to make my peace with it. It’s a bunch of random sites on the internet that rarely interact with one another. Even the tiniest amount of effort keeps it pretty reasonable and safe. It helps that the members are nice and occasionally write to notify us about questionable sites.
Now, most of the ’ring is made up of people I’ve never met or interacted with. Sites with maximalist, GeoCities-inspired sites like (to pick a few at random) wings, ftwr, or FlawedOne. Guest books, shrines, blinkies, button walls, midi files, and visit counters abound. The digital gardens are thriving.
I think the most fun is seeing some of the images people create to style the next and previous links:


Without any prompting from us people reproduced our style, and many of them do it better. I actually redesigned a new logo nearly 9 years ago, but at this point, white on pink is clearly what we are.
Moderation
As ringleaders, it’s our duty to check every site at least once. We make sure the site:
- has the
next&prevlinks, - isn’t peddling awful content,
- and is mostly personal (e.g. not a business).
The policy has evolved over time to make sure we steer towards individual’s personality (we don’t this to be a marketing/SEO opportunity for businesses), or to account for adult sites (allowed, but you need to communicate the content clearly and have HLWR links before the content).
To make it even easier, we use a Slack integration that we lovingly call Sauron. Every site appears via an RSS feed which Sauron sees (presumably with his all-seeing eye). The integration presents actions to approve, unlink, or block:

Approve actually does nothing. It’s just a marker for us to communicate to each other “seen it”. Unlink is when we can’t find the links and if they show up again we can give it a second look. Block is used to stop the sites that just don’t fit.
Gabe wrote all this and it’s made the whole process much nicer.
Some tech details
The referer strategy works pretty well, but there are some drawbacks. Referers only give you the domain, not the whole path. So if someone put their webring on https://example.com/links/outbound/webrings.html we have to hunt around for a while to find them. It’s usually not too bad but it can be a pain over hundreds of sites. And once we’ve found it, we link people to that page so they have a nicer time surfing the ’ring.
Sometimes people don’t send a referer because some well-meaning security advice made them think they needed rel="noreferrer" on all their links. They email us about it and it’s quickly sorted out.
We built a tool that tries to scan every website on the ’ring to make sure the links are present, but given the amount of javascript and iframes it doesn’t work that well. I may rebuild it one day to use drive an actual browser, but the low volume of new sites we get now makes it not worth the effort.
One thing I added recently is recording the last time someone clicked each link. After a few months of that data, it’s really easy to spot offline sites or ones that no longer our links. To all the other webring admins out there reading, I highly recommend implementing this if you can. It makes pruning old sites so much easier.
Other random stuff
Gabe and I keep accidentally inventing webrings. Like, once we were playing with punycode to put an emoji in a domain name. We both made a page that linked to the others’, and then promptly realized we created another tiny webring. We can’t help it!
We sponsored a podcast. We ordered t-shirts and stickers. We’ve distanced ourselves from problematic musicians. We rebranded ourselves from “webring masters” to “ringleaders”. And the ’ring keeps on kickin’ in basically it’s original form.
This pun-inspired side project remains silly and nice. I (mostly) don’t care if we’re ever more or less popular than we are now. Thanks to everyone who’s ever added those links to your page or emailed us in good faith.
The best thing about Hotline Webring by far is it gives me a reason to keep up with my co-ringleader—my forever internet neighbor and friend—Gabe.