I found out that Pingbacks are back in the form of webmentions. Yesterday and today I’ve been slowly checking off the steps to become “webmention friendly”.

Webmentions are part of the IndieWeb , a community of independent and personal websites where the a site represents a primary online identity and self-published content remains owned and in control of the publisher. Webmentions build community by making it easier for an author to receive notice of comments on their work, even when another person responds via their blog.

The sequence diagram below is how I think it all works.

sequenceDiagram

actor Aaron
actor David

Aaron->>David: Writes a blog post
create participant TQG
David->>TQG: Writes post referencing Aaron's
create participant webmention.io
David->>webmention.io: Notifies webmention.io of post
webmention.io->>TQG: Checks post for links and microformats
webmention.io->>Aaron: Notifies of webmention

Registering with webmention.io

All my reading pointed to Webmention.io as the hosting service of choice to accept webmentions back to my articles. It will accept notification of a webpage that references one of mine, check it actually does, and record that for me to check on and optionally display on my own site.

Registration is as simple as entering my website URL https:/quantumgardener.info on the front page and signing in via IndieAuth. That didn’t go as well as expected. It spent too long travelling the path of signing with a GPG key, where the signing part didn’t. Ultimately I confirmed my identity using my GitHub account and a field under my control pointing back to my website. The assumption is, “If you can enter that field in GitHub you have a valid account, and if you can edit your site to point to that, then you have control of your site.” Perhaps not perfect, but no worse than anything else. If I can ever get the GPG working I’d prefer to use that.

I added both webmention and pingback <link> statements to my site’s <head> section.

Adding microformats to my site

Microformats are used to help web agents parse the content of a site. They only see HTML and don’t have the visual cues a user would.

A small note near the end of Minutes to Midnight - IndieWeb and webmentions for my static site recommended using IndieWebify.Me as a tool to check my webpages for all the necessary microformats. It’s been a great help guiding me towards filling in missing fields for name, author, content, etc. It’s as simple as testing a URL and responding to the results.1

It took an hour or so for me to make the changes to my Quartz site generation code and submit a test to Sending your First Webmention from Scratch • Aaron Parecki 2

I had a lot of trouble getting the h-card entry right and all linked up so that webmentions.io would take it properly. Had to rely heavily on Microsoft Copilot to parse the site, tell me what was wrong and make suggestions. Inspect the HTML to see what was done. I found a quick way to see what is found is to use Microformats : Meaningful HTML and submit the page for checking. But what’s found doesn’t mean everything necessary is there.ˇ

Bridgy

Bridgy is used to connect my site to social media where others may like, comment or repost. Once connected it monitors my feed for any reference to my website and creates webmentions as needed.

sequenceDiagram

actor David
actor Bridgy

David ->> Bridgy: Authorise access to Mastodon
create participant Mastodon
David ->> Mastodon: Posts link to blog post

loop Every hour
	Bridgy ->> Mastodon: Checks for engagement
	create participant webmention.io
	Bridgy ->> webmention.io: Creates webmention
end

Displaying webmentions

Pages that have webmentions will now display them at the bottom. See Are you and I sharing the same birthday yet for an example. These are added at page generation time.

Still to come

I still have a few steps to go. Like all Software development, it’s a step at a time. These are:

  • Form to let other directly webmention their page on my site (I think that because I’m now registered on Webmention.io they will effectively be mentioned?)
  • Link into webmention.app - Automate your outgoing webmentions with my RSS feed. I need to use IFTTT but don’t want to spend USD$9/month for the feature.
  • Get smarter about webmention processing at build time. Save all received webmentions and only add new ones for processing. Reduces load on webmentions.io server. Too few to worry about at present.

jmac.org: Webmention resources looks promising as an overall resource.

Footnotes

  1. h-card check for my site and h-entry check for my site

  2. Firstly realising webmentions don’t get added if you fail to actually mention the article, forming the impetus for this page