Mastodon(マストドン)やBluesky、Misskeyなどの分散型SNS、いわゆるFediverse(フェディバース)とWordPressを連携できるようにするというお話です。
これについては以前から何度か挑戦しつつも上手くいかない状態だったのですが、WordPressのActivityPubプラグインが正式にバージョン1.0になったということで今回あらためて再挑戦。完全に動作しているかまだ怪しい部分はありますが、備忘録として&誰かの役に立つかも、ということでメモしておきます。
(2023/12/16更新)検証コストに見合った成果が得られなさそうなのと、後述のプラグイン「Friends」が他とバッティングしてエラーが出たのを機に検証を再び断念。関連プラグインもすべて削除しました。
環境(2023/12/16現在)
- WordPressのバージョン:6.4.2
- WordPressのテーマ:SANGO(子テーマで運用)
- サーバー:スターサーバー(ライトプラン)
- Webサーバー仕様:Linux / nginx / PHP7.4.33
- 今回導入したプラグイン:ActivityPub、WebFinger、Friends
結果
● ActivityPubプラグイン、1.0.0以前で出ていたエラーメッセージは出なくなった
● 現在は正常に動作しているかを確認中 → 以下に検証状況を記載
● ActivityPubプラグインのバージョンが1.07になったところでまた1.0.0以前で出ていたエラーを吐くようになった(下記)
●(NEW!)Friendsプラグイン、バージョン2.83にしたところで他のプラグインとのバッティングが発生したため無効化
●(NEW!)ActivityPubプラグイン、バージョン1.2.0で今度は「System task schedulerが構成されていません」という警告メッセージが出るようになる
Your author URL does not return valid JSON for application/activity+json. Please check if your hosting supports alternate Accept headers.
オーサーURLがapplication/activity+json に対して有効なJSONを返していません。 ホスティングサービスが代替Acceptヘッダー(alternate Accept headers)をサポートしているか確認してください。
検証対象1(ActivityPubプラグインが対応を謳っているもの)
- 【済】 Mastodon → 「WebFinger」を入れたら検索結果に出てくるようになった
- 【済】 Misskey → フォローできている(WordPress側からフォロワーとして見えている)
- Pleroma / Akkoma
- friendica
- Hubzilla
- Pixelfed
- Socialhome
- Firefish (Calckeyから名称変更)
検証対象2(ActivityPubプラグインでの対応が明記されていないもの)
・Bluesky → そもそもActivityPubではなかった(BlueskyはActivityPubではなくATProtocol)
備考
上記対応に関するメモ的なものは以下の通りです。正直なところ、あとはMastodonだったりMisskeyだったりの使いかたを覚えないと先に進めないような気がしています。WordPressの側からだけでは見えないこと・わからないことがけっこうありそう……。
- ActivityPubはnginxのWebサーバー構成だと動作しないという話あり(不確実。ソース再捜索中)
→Misskey、Mastodon側からの検索では見えるようになってはいるのでいちおう否定できる? - Mastodonとの接続にはやはり「WebFinger」のプラグインが必要だった(プラグインを入れたらMastodon側の検索結果に出てくるようになった)。ただしMastodon側は「フォローリクエスト」のステータスになっており、WordPress側に承認申請は来ていない状態
- WebFinger導入後、さらに「Friends」のプラグインも導入。WordPress側からMastodon、Misskeyにフレンドリクエストを出せるっぽい機能があったのでリクエストを出して様子見中。ただしこのプラグイン自体はあまり意味がないという記事も見かけている
- プロフィール画像は設定済み、ただしGravatarは使っていない(プロフィール画像表示に必要とされている)
- プラグインのバッティング調査(切り分け検証)はやっていない