このホームページに、Webmentionを実装しました。

きっかけ

そもそもこのホームページを作ったのは、まじめにソーシャル・ネットワーキングをやりなおす2026という記事を読んだのがきっかけでした。

あらためて自分の手で、ぼくの書いたもの・話したことを受け取ってくれる人たちとの関係を、結び直していきたいと思います。

これを自分なりのかたちでやってみたくなったのです。

そして2026-09-25の記事でWebmentionを知り、先日このホームページにも組み込みました。

Webmentionとは

記事にリンクを書いたとき、リンク先のサイトに「あなたの記事にリンクしました」と知らせる仕組みです。知らせる側が、リンク先のページから受け口のURLを探して、source(自分の記事)とtarget(リンク先)をPOSTします。

送る

記事の公開(deploy)の最後のステップで、CRubyで送っています。

  1. 公開した記事の本文から、よそのサイトへのリンクを拾う
  2. リンク先から受け口を探す(HTTPのLinkヘッダ、HTMLの<link rel="webmention">)
  3. 受け口へsourceとtargetをPOSTする

送った組はD1に記録していて、次のdeployで同じところへ送り直すことはありません。受け口が無いリンク先も記録して、探し直しません。

受ける

受け口はCloudflare Workersの上のPicoRubyで動いています。ページの<head>とLinkヘッダで、受け口の場所を知らせています。

呼ばれるのは、どこかのサイトがこのホームページの記事にリンクを書いて、そのサイトの送信処理が受け口を探して送ってきたときです。

受けたら、送り元のページを取りに行って、本当にこちらの記事へのリンクがあるかを確かめてから、D1に入れます。

いまのところ

いただいたWebmentionは、自分用の管理画面で拝見させてもらうようにしています。