bbPressでフォーラムをWordPressサイトに実装

ずーっと掲示板のような誰でも書けるものがWordpressで実装できないないかなと思っていたのですが、「bbPress」というプラグインで超絶簡単にできたので、記録として残しておきます。

フォーラムを作れる「bbPress」プラグイン

bbPressというのはWordpress用のプラグインで、簡単に書き込める掲示板を作れるのが特徴です。

最近は記事のコメントも結局記事をかかないといけないし、それならとユーザー皆で情報共有できるサイトをフォーラム・掲示板として実装するに至ったわけです。

必要なプラグインは以下の通り。

  • bbpress(フォーラムの元)
  • edit author slug(管理者のアカウントurlを隠す)
  • math captcha(セキュリティ導入)
  • bbPress Notify(topicが作成された時に管理者に通知)
  • bbpress – report content(ユーザーから管理者に違反通知ができるらしい、現在導入検討中)
  • bbpresss permalinks with ID(トピックurlが別トピックに飛んでしまう対策)

bbpressをダウンロードするだけで、掲示板が作れる

まずはbbpressをダウンロード。あとはフォーラムを作るだけで基本的にはoK。メニューに実装したりショートコードがあったりとその他いろいろ設定はあるけれども、ググれば簡単にできます。

個人的なサイトにはどちらもメールアドレスの入力なしにするためにphpの編集を少ししてますが、これもググれば方法が出てきます。ある場所をコメントアウトするだけなので簡単ですが、ミスると真っ白になるので注意が必要です。

edit author slugで自分のアカウント名を隠す

edit author slugと言うプラグインを利用すると、自分のauthorページのURL・スラッグを任意のものに変更することができる。

管理者が多く書き込みをするサイトだとそれだけURLがユーザーの目に触れる&adminページのログインなどちょっと怖いので、これを設定しておくと何かと安心です。

math captchaでセキュリティ対策を

私のサイトの場合はメールアドレスでの投稿を任意にカスタマイズしたので、セキュリティ用に何らかの認証機能を入れるべきだとは感じていました。

そこで使ったのがmath captchaと言うプラグイン。Forumの書き込みページに計算の認証画面を表示できるので、一応スパムなどの対策にはなる、はず。

bbpress notify

bbpressと合わせて使える通知プラグイン。自由な議論の場にしたく今の所メールアドレスでの登録などをしていないので、悪質な問題ある書き込みにどう対処しようか考えていたところbbpress notifyを発見。

トピックが立てられた時にメールで通知をくれるように設定したので、規模が小さいフォーラムならこれで悪質投稿やトラブルを回避できる(はず)。大きなサイトだと少し厳しいかもです。

bbpress – report content

bbpressと合わせて使えるプラグインのようで、フォーラムのトピックに違反通知のリンクを設置、そしてユーザーから管理者に違反を見つけたら送信できるようです。

まだ使っていませんが、サイトが大きくなり次第デモで試してから利用して見たいと思います。

bbpresss permalinks with ID

上記のプラグインのみで運用していたら、トピックのURLがおかしくなってリダイレクト?もしくはURL構造の問題か何かでトピックをタップすると別のトピックに飛んでしまう不具合が起こっていました。

これを修正するために入れたのがPermalinks with ID。urlをリライトしてくれてidがつくので、一応これで他のURLに飛ぶ現象は今のところ解消されている模様。

ちなみにこんな文面もある。

You need manually flush rewrite rules after activating bbPress and this plugin. You can do it by visiting /wp-admin/options-permalink.php page. Or use wp cli (wp rewrite flush command)

何だか手動でphpかWP=CLIをいじる必要があるみたい。あまり気にしてないが、多分書き込みが多くなってきた段階で不具合が発生するとかなりやばいことになりそう。

特にURLリライト系は失敗すると掲示板の全てが別URLになってSEO的にもサイトが圏外にぶっ飛ぶ可能性もあるわけで。この辺りは1つ検証サイトで色々試してみたいと思っております。