Octothorpes
Octothorpes is both an aggregator and a method of publishing hashtags and backlinks to help connect web pages used by some community members on their personal sites.
One of the first broader uses of Octothorpes was Weird Web October 2024.
How
Setting up your site for indexing
See the official quickstart guide for more documentation.
- Register with an Octothorpe Protocol server (some require approval)
- Add markup to your site (i.e. rel="octo:octothorpes")
<link rel="octo:octothorpes" href="hummingbirds" >
<a rel="octo:octothorpes" href="https://OP-SERVER/~/hummingbirds">Use any link text you choose</a>
- Request indexing of your page
<link rel="preload" as="fetch" href="https://octothorp.es/?uri=https://YOURDOMAIN.COM/PATH/TO/PAGE">
- Your page appears on the relevant octothorpe page of the server
Running an OP Server
The code to run an Octothorpe Protocol Server is open source: https://github.com/stucco-software/octothorp.es
IndieWeb Examples
- IndieWeb tags: https://octothorp.es/~/indieweb
Anthony Ciccarello has been experimenting with harmonizers on his site since 2025-10-09
Paul Watson has set up basic functionality on his blog- Add yourself here… (see this for more details)
Brainstorming
Setting up a harmonizer to parse microformats
- There's a new feature called Harmonizers which allows configuring how an OP server parses a page
- A project maintainer opened a Finalize WEBMENTION-CLIENT harmonizer definition issue on GitHub
- The project tests reference a "Client-side Webmention to backlink harmonizer" which is defined with microformats2 selectors
Anthony Ciccarello experimented with microformats2 selectors but had to make some adjustments since it's not a true microformats parser and picked up elements other than the primary h-entry- it appears this feature is not quite ready for production use
Using webmentions to trigger indexing
- Rather than using the link preload approach defined in the quickstart, a hidden URL could be used by some webmention infrastructure to trigger indexing
- The webmention sending will likely not send a webmention since the GET response will not have a webmention endpoint but the check alone should trigger indexing.
Articles
- 2026-02-06 : Octothorpes: Jailbreaking hashtags to connect websites together
- 2025-10-18 : Testing Octothorpes
Criticism
Registration per server
- 2025-09-23 : #indieweb chat message
from a user/reader perspective, I'd rather link to a list/stream of hashtagged posts that works more broadly, regardless of what servers people are using. that seems like a more user-centric approach
- 2025-09-23 : #indieweb chat message
that's part of the point of standards, to avoid solutions that require "registration"
- 2025-09-23 : #indieweb chat message
if i had to criticize the design or idea of how octothorp.es did what they did, it's that it's inefficient for cases where you want your tags to be tracked on multiple destinations. every new destination is another link you have to add and another request to be fired off by the visitor's browser
Usage of link preload
The recommended approach to trigger indexing sends a request from each viewer's browser to the octothorpe server and does not actually preload any content for the page. See Brainstorming for an alternate approach
- 2025-09-23 : #indieweb-dev chat message
Octothorpes' link preload thing is clever but it's also a privacy violation (tracks visitors) and a waste of resources (every visitor pings the link but it only needs to happen once per post).
- 2025-09-23 : #indieweb-dev chat counterpoint
i think it's pretty clear that you can do the same thing with webmention or websub but there really is one difference noting which is that most people don't know how to make their own POST requests easily or to automate that
- Note the link only needs to be pinged once, so after the first page load, the link can be removed or commented out of the code