WordPressをActivityPub対応にした

“俺自身がActivityPubのactorになることだ” – 笹帽子

 ということでこのブログは、MastodonとかMisskeyとかで @sasaboushi@sasaboushi.net で検索して見つけてもらうとフォローできます。

 実施したことをメモします。

基本的な導入手順

  • WordPressに以下のプラグインを入れて有効化する
  • WordPress管理メニュー ユーザー>プロフィール>プロフィール写真 から、投稿に利用しているユーザーのアイコンをGravatarで設定しておく(これがユーザーのアイコンになる)
  • .well-known/webfingerファイルを作る
    • ルートディレクトリに「.well-known」ディレクトリを作り、その中に「webfinger」ファイルを作る。
    • 中身のjsonは、WebFingerプラグインを有効化した後に有効になるURLからコピペすればよい。このブログの場合は、https://sasaboushi.net/blog/?rest_route=/activitypub/1.0/webfinger&resource=acct:sasaboushi@sasaboushi.net (参考にする人がいたら、このブログではWordpressがルート直下ではなく/blog/に入っていることに注意して読み替えてください。https://[Wordpressディレクトリ]/?rest_route=/activitypub/1.0/webfinger&resource=acct:[ユーザー名]@[ドメイン]
    • 具体的には自分の場合は以下のjsonである。
{
  "subject": "sasaboushi@sasaboushi.net",
  "aliases": [
    "https://sasaboushi.net/blog/author/sasaboushi/"
  ],
  "links": [
    {
      "rel": "self",
      "type": "application/activity+json",
      "href": "https://sasaboushi.net/blog/author/sasaboushi/"
    },
    {
      "rel": "http://webfinger.net/rel/profile-page",
      "type": "text/html",
      "href": "https://sasaboushi.net/blog/author/sasaboushi/"
    }
  ]
}

自分の場合のトラブルシュート

投稿結果

  • トゥートはされたが、本文がだらっと全部載っていて、ブログ記事のタイトルがついていないのが気に入らなかった。
  • というかタイトルついてるっぽいが?動作してない?と思ったら、ActivityPubプラグインの設定画面の「Post-Content」は、デフォルトは「Content」になっていて、つまり本文だけだった。その下の設定欄の内容が使われるのかと思い込んでしまったが、それは「Custom」を選択したときに使われるものらしい。
  • 「Custom」を選択した上で、以下のようにしておいた。
    • ap_excerptはなんかうまくいかなかった。
    • ap_hashtagsは日本語は化けてしまった。これ使えたら結構良さそうなのだが。
<p><strong>[ap_title]</strong></p>
<p>[ap_permalink type="html"]</p>
[ap_content]
  • 編集したのは反映されないっぽい?(取り直せば反映されそうだけど……)
    • これはWordpressのメール配信機能にも通じることがあるけれど、ブログ記事だから加筆したり修正したりできる、それを行ってもパーマリンクが固定されている、っていうのにメリットもデメリットも両方あるが、それと相性悪くないか、とはちょっと思う。仕組み上、ActivityPubで配信されてしまった初版を取り消せないということだからなぁ。
    • そうすると本文を入れなかったり冒頭少しだけにするのが良いのかもしれない(冒頭少しだけにしたくて試したap_excerptが良い感じにならなかったのだが)
  • あとこれにより、普通に自分のブログ記事へのリンクURLをfediverse内で投稿した際(Share on Mastodon – WordPress プラグイン | WordPress.org 日本語 により実現している)、それは参照リンクとして動作するっぽい(そうでない場合もあり、細かく言うとクライアントの実装で変わりそう?)。それはそうという感じもしつつ、リンクを踏んでこのブログに来て欲しいなと思ったらワンクッションになるのはマイナスなのかもしれない? でもユーザーはActivityPubで全部見える方が嬉しいのか? どうだろう。
タイトルとURLをコピーしました