WordPressでSNSを構築できるBuddyPressを触ってみた


今日は技術ネタです。

WordPressでSNSを構築することができるBuddyPressというPluginを触ってみたので記事に書いてみます。

日本だとあまり流行っていないのか具体的に何が出来るかという情報があまり無かったため、調べながら触ってみました。

そもそもSNSの機能とは?

このPluginを調べだしてふと思ったのですが、SNSとはどういう機能をもってSNSと定義されるのでしょうか?

投稿? つながり? 通知? DMのインフラ? 色々ありますよね。

Wikipediaには次のように定義されています。

インターネット上の交流を通して社会的ネットワーク(ソーシャル・ネットワーク)を構築するサービスのことである。

具体的なことが良くわからない…

一般的なSNSを例にして自分なりにどういう機能があればSNSと言えるのか?ということを洗い出してみます。

  • 会員登録ができる
  • ユーザーが個別に情報を発信できる
  • ユーザー同士が繋がりを設定できる
  • ユーザー同士がコミュニケーションを取ることができる

これくらいでしょうか? 多少モヤッと記載した部分もありますが、この4点でおおよそ網羅できていると思います。

WordPressのユーザー機能

WordPressというのはWeb業界の用語で言うとCMSという分類に当てはまります。主にブログとして使用している人が多いと思うので、ブログを書くだけのものと勘違いしている人も多いかもしれません。

WordPressをインストールすると管理者という権限でユーザーが作成されますが、実は管理者以外の権限が色々とあります。

デフォルトでは以下の5つの権限があります。ここからさらに権限を増やすことは滅多にありません。

  • 購読者
  • 寄稿者
  • 投稿者
  • 編集者
  • 管理者

それぞれについて見ていきましょう。

購読者は特に何も出来ません。しいて言えば「登録している人にだけコメントを許可」のような仕組みを用意できますが、今はTwitterやFacebook、はてブなどでコメントをつけるのが主流であれため、わざわざ購読者の登録をしてからコメントをつけるという作りにしているひとは少ないでしょう。

寄稿者は記事を書くことが出来ますが自分で公開することはできません。編集者か管理者の権限を持ったユーザーが公開の承認をする必要があります。また、デフォルトの権限設定の場合は画像のアップロードが出来ないという制限あります。

投稿者は記事を書くことも出来ますし、自分で公開することもできます。自分が書いた記事であれば編集は可能です。

編集者は公開されている記事や固定ページに関して全ての権限がありますが、ブログ自体の設定などは変更できません。WordPressを仕事で構築して納品する際は、この権現を譲渡する場合があります。

管理者は全ての権限があります。

 

ここで注目して欲しいのは、投稿者の権限がSNSのユーザーと同じような状況にあるということです。ひとりでブログを書いているだけの場合、管理者以外の権限をみたりユーザーを追加したりすることもないのであまり一般的ではないのかもしれないのですが、WordPress自体には不特定多数のユーザーが自分でユーザー登録を行えるという機能が初めから備わっています。

ここまでの話を考慮して考えると、実はWordPressにはSNSに必要な下記2点の機能が最初から存在しているということです。

  • 会員登録ができる
  • ユーザーが個別に情報を発信できる

以上のことから、実はWordPressはSNSとして使っても無理がない構造をしているのではないか?と考えられます。

BuddyPressによって追加される機能

ここまででWordPressの構造について触れてきましたが、BuddyPressを追加するとどうなるのでしょうか?

公式サイトには以下のように記載されています。

BuddyPress is a powerful community plugin for WordPress that takes your site beyond the blog. It includes all of the features you’ve come to expect from any online community, like user profiles, groups, activity streams, notifications, and more.

要約すると、ユーザーのプロフィール機能、グループ機能、アクティビティストリーム(タイムライン的なもの)、通知などが追加されるようです。

確かにWordPressの構造に上記の機能が加われば、SNSような形で使用することができそうです。通知が気になりますね。

実際に触ってみよう

まずはWordPressを新規で用意してみました。Twenty Sixteenは黒縁が特徴的ですね。
まずはWordPressを新規で用意してみました。Twenty Sixteenは黒縁が特徴的ですね。
BuddyPressをPluginに入れる設定に追加されます
BuddyPressをPluginに入れる設定に追加されます
Pluginを有効化した段階で固定ページにアクティビティとメンバーが追加されていました
Pluginを有効化した段階で固定ページにアクティビティとメンバーが追加されていました
登録と有効化のページを設定する必要がありそうです
登録と有効化のページを設定する必要がありそうです
登録と有効化の空ページを作っておきます
登録と有効化の空ページを作っておきます
設定画面で固定ページを指定してみます
設定画面で固定ページを指定してみます
固定ページとして作成した登録を見てみると、ユーザーが登録できないと出ていました
固定ページとして作成した登録を見てみると、ユーザーが登録できないと出ていました
WordPressの基本構造に則っているようなので、WordPress側の設定でユーザーの登録を許可します
WordPressの基本構造に則っているようなので、WordPress側の設定でユーザーの登録を許可します
登録できるようになりました
登録できるようになりました
この画面が表示された時点でメールが送信されます
この画面が表示された時点でメールが送信されます
登録後ログイン後、画面右上のメニューに色々増えます
登録後ログイン後、画面右上のメニューに色々増えます
友達関係を構築したかったので、コンポーネントを追加してみます
友達関係を構築したかったので、コンポーネントを追加してみます
ユーザーを複数用意し、プライベートメッセージを送ってみます
ユーザーを複数用意し、プライベートメッセージを送ってみます
メッセージを受け取ったユーザーへの通知はここで行われるようです
メッセージを受け取ったユーザーへの通知はここで行われるようです
メッセージは会話の流れが見やすいので実用的な感じがしました
メッセージは会話の流れが見やすいので実用的な感じがしました
無事に友達にもなれました
無事に友達にもなれました
WordPressのテーマにはBuddyPressのタグが存在しているので、テーマを探しやすい
WordPressのテーマにはBuddyPressのタグが存在しているので、テーマを探しやすい
数はそれほど多くはないが美しい物が多い
数はそれほど多くはないが美しい物が多い
適当に記事をいれてみたところ、サイトトップはWordPressの標準的な動作でした
適当に記事をいれてみたところ、サイトトップはWordPressの標準的な動作でした

今回はPluginを有効にして直ぐに確認ができそうな箇所を触ってみましたが、なかなか感触はよかったです。

アクティビティ周りの挙動が少し分からなかったのですが、本格的に触る機会があれば運用できそうな気配はしました。

ネトゲのコミュニティサイト構築とかに丁度良いかもしれませんね。

以上。