WordPressの投稿をActivityPub対応させてみた・私のやったこと【Fediverse】

※当ブログの記事内にはプロモーションが含まれている場合があります。
スポンサーリンク
WordPressブログの投稿をActivityPub対応させる・私のやったこと【Fediverse】

WordPressブログを使っている皆様は様々なプラグインを入れて使っていると思いますが、「ActivityPub」というプラグインがあるのをご存知でしょうか。

ActivityPub
...

おそらくほとんどの方は「?」だと思います。

ActivityPubプラグインを使用すると、WordPressブログの投稿をMastodonやMisskeyなどの「ActivityPub」を使った仕組みのサービスで表示させることができるようになるのです。

ブログの宣伝のためにブログのURLをSNSで投稿することはあると思うのですが、ActivityPubプラグインを使うことで「投稿そのもの」をMastodonやMisskeyから見てもらうことが可能になる…ということ。

まぁ、実際に見てみないと実感がわかないと思うので、実際にMastodonで投稿を表示した状態の画像を貼っておきますね。

ぱっと見は普通のSNSのアカウントの投稿のよう見えるのですが、ブログのタイトル・本文が表示されていてブログの投稿感が出ていますよね。

この投稿はWordPressに投稿した内容と全く同じなのですが、投稿そのものがMastodonで見えるようになっているのがわかるかと思います。

画像上では投稿そのものを表示させていますが、どの内容を表示させるかはプラグインの設定で変えられるので、本文だけを表示させたり、シンプルに更新通知を流す用途として使う…という使い方もできそう。

当ブログではなくて、最近立ち上げた別のブログをActivityPubに対応させてみたくなり先日ActivityPubプラグインを導入したばかりなのですが、ブログでありながらSNSの一アカウントのように表示されているのがとても新鮮で面白いと思っています。

今回は、WordPressプラグイン「ActivityPub」を設定し、投稿がMastodonやMisskeyで表示される状態にするためにやったことについて振り返っていきます

長文になる予感しかありませんが、お付き合いいただけたら幸いです。

スポンサーリンク

ActivityPub・ActivityPubプラグインとは

ActivityPubプラグイン
https://ja.wordpress.org/plugins/activitypub/

最初にちょこっとだけ説明しておきます。

「ActivityPub」は非中央集権のSNSプロトコルのオープン規格のことです。
…はい、私も書いてて頭が混乱していますが、ざっくり説明するといろいろなSNSがActivityPubという仕組みを利用することでさまざまなサーバー同士が相互に繋がることができるよ!という感じのもの。

有名なところだとMastodonやMisskey、FirefishなどのSNS、インスタグラムの様に写真を投稿したり共有できるPixelFedなどがあり、最近ですと2023年7月にサービス開始となったMeta社のThreadsも今後ActivityPub実装予定のアナウンスが出されています。

そして、WordPressのActivityPubプラグインは、プラグインをインストール&有効化することによってWordPressをActivityPubに接続しよう!というものになります。

MastodonやMisskeyなどが繋がっているActivityPubにWordPressブログを繋げることで、MastodonやMisskey、そして将来のThreads(予定)からブログの投稿を見てもらえるかも?という状態になるわけですね。

なお、ActivityPubプラグインは一見怪しいプラグインに思えるかもしれませんが、WordPressを運営しているAutomatticが提供しているプラグインとなりますので、その点は安心して大丈夫かと。

ActivityPubプラグインをブログに導入する

ActivityPubプラグイン導入挑戦にあたり、Google検索でActivityPubプラグインを実際に使用している(試してみた)記事をいろいろ調べましたが、ぶっちゃけ出てくる情報がバラバラで混乱しました。

とりあえず間違いないのは、ActivityPubをWordPressに導入するために必ずやることは「ActivityPubプラグインをインストールして有効化する」ということ

他に関連するプラグインをインストールしている記事もあるのですが、ActivityPubプラグインだけで基本的には使えるようなので、まずActivityPubプラグインをインストール+有効化してみて様子を見るのが良さそうです。

ちなみに、ちゃんとアカウントが作られたか知りたい場合は、Misskeyの「照会」やMastodonの検索から確認するのが確実かと思います。

Mastodon検索画面・WordPressアカウントを検索
WordPressアカウントをすでにフォローした状態です

ActivityPubの設定画面にアカウントのIDが表示されているので、IDをコピーして上で検索してみてアカウントが出てくれば、WordPressブログがActivityPubに接続された状態となっています。

なお、Misskeyでは検索結果に出てくるのにMastodonだけ表示されないという場合は「WebFinger」というプラグインをインストール+有効化すると、Mastodonでも表示されるようになるようです。

WebFingerプラグインを未使用でもMastodonで表示されているとの声を聞いています。
あくまで、必要になったらインストールする立ち位置のプラグインといえそうです。

順調にいかなかった私がActivityPub導入までにやったこと

基本的に、ActivityPubプラグインを有効化するだけで使えると聞いていたのですが、私の場合は残念ながらActivityPubプラグインの有効化だけではActivityPubに接続されませんでした

サーバーの問題なのか(コアサーバー・V2プラン(litespeed)を使用)よくわかりませんが、私のWordPressブログがActivityPubに繋がるまでにやったことを振り返ります。

ActivityPubプラグインを入れてもアカウントが作られない問題

Activityプラグインをインストール(+有効化)すれば、ブログ用のアカウントが作られると聞いていたので、わくわくしながらMastodonやMisskeyで検索してみたものの、一向にアカウントが検索結果に表示されませんでした。

WebFingerのサイトでアカウントIDを検索することで、実際にアカウントが作られているのか確認することが出来ると聞き検索してみたのですが、404エラーが返ってきました。

webfinger・404エラー
最初は違うアカウントを作ろうとしていたので、アカウント名などが違っています

そしてWordPressのサイトヘルス画面にも「WebFingerエンドポイントにアクセスできません」とのエラー表示が。

WordPressサイトヘルス画面・webfingerエンドポイントにアクセスできませんのエラー

明らかに何かがうまくいっていない。

プラグインをインストールしたら終了と思っていたWordPressブログのActivityPub接続の、試行錯誤が始まりました。

「.well-known」ディレクトリと「webfinger」ファイルを作る

エラー発生にあたり、参考にしたページはこちら。

WordPressをActivityPub対応にした
...

なんかプラグイン導入だけなのに、なぜ色々な手順を踏んでいるんだろう?と最初に見た時は思っていたのですが、エンドポイントにアクセスできない…ということは本来作られるべきファイルが作られてないからかな?と思い、このページの導入手順を再現して様子をみようと考えました。

ページの説明通り、WebFingerプラグインをインストール+有効化すると、

https://green3green.com/blog/?rest_route=/activitypub/1.0/webfinger&resource=acct:yuu-blog@green3green.com

確かに↑のURLをバーに入力することで文字列が出てきました。

自分のURLを調べたい時は
https://自分のWordPressドメイン/?rest_route=/activitypub/1.0/webfinger&resource=acct:〇〇@ドメイン※ActivityPubプラグイン設定画面で表示されているユーザー名
に置き換えて検索してみて下さい。

表示された文字列(私の場合、なぜか\マークが大量に混ざっていたので全て消しています)を「webfinger」ファイルの中身にしてあげればいいらしい。

ファイルマネージャー・webfingerファイルの中身

まず、ルートディレクトリ(今回のブログのURLはhttps://〇〇/blog/という形式だけど、https://〇〇/.well-known/になるようblogディレクトリと同じ階層に設置)に「.well-known」のディレクトリを設置(コアサーバーの場合はpublic_htmlを開いた階層)し、そのディレクトリの中に「webfinger」ファイルを作って、ファイルの中身を先程の文字列をコピーしたものを貼り付け。

しばらくすると、WordPressサイトヘルス画面からWebFingerエンドポイント云々のエラーが消えて、WebFingerで検索すると404エラーではない結果が。

webfinger・正常に表示された状態
404エラーが出なくなり下の項目に表示が出てくるようになった

もしかして上手くいったかも?と思い、早速Mastodonでブログのアカウントを検索したら、WordPressのアカウントを無事発見!

WordPressアカウント・Mastodonで表示された状態

無事、WordPressブログをActivityPubに接続することができました。

私は、webfingerファイルを手動で設置することで解決しましたが、それでもエラーが続くようなら「.htaccess」ファイルの中身をチェックしてみたり、他に入れているプラグインを確認してみるといいようです。

英語になりますが、プラグイン公式のフォーラムがあるので何か手がかりになるものがあるかもしれません。

Issues · Automattic/wordpress-activitypub
...

自分のブログ記事がFediverseで見られるの、なんだか新鮮です

FediverseはActivityPubで繋がっているサーバー集合体の総称みたいなものです。
Federation(連合)+univers(宇宙)が合体した造語ですね。

WordPressブログをActivityPubプラグイン経由でMastodonやMisskeyなどのFediverseに接続させる流れについて説明してきました。

私の環境ではちょっと手間取ることもありましたが、なんとか無事にActivityPubに繋がることができてホッとしています。

これまでSNSではブログの更新通知のみ投稿している形だったので、ブログの内容そのものがSNSのタイムラインに出てくるのは単純に面白くて、Fediverseの奥深さを感じられて楽しいです。

サブブログは日常カテゴリ中心にちょっとした出来事をゆるく書いていくものにしたいので、ActivityPub上ではとりあえず本文をそのまま垂れ流すスタイルで様子を見てみようかな。

ブログのFediverseデビュー(ActivityPub接続)がゴールではなく、実際にMastodonで表示される投稿が思っていたのと違っていたりすることも多々あるので、これからも色々確認していかないといけないな…と思っているところです。

なお、ActivityPubプラグインの設定や実際に表示される投稿画面、実際の使用感などについては、近いうちに別の記事にまとめてみるつもりです(この記事内にまとめたかったけどこれ以上は長文が過ぎるので汗)。

【2023年10月24日追記】気力のあるうちに…ということで、ActivityPubプラグインの設定画面や実際に表示された時の雰囲気などまとめた記事をアップしました。

それでは、今回はこのへんで。

コメント

タイトルとURLをコピーしました