WordPressのSEO対策プラグイン「All in one SEO Pack」は非常に有名で利用しているユーザーも多いプラグインです。
管理者権限以外のユーザーではこのプラグインを使って詳細の設定を行うことが出来なかったので、編集者(editor)権限でも使えるようになった手順をまとめます。
以前は、User Role Editorを使って「manage_options」にチェックを入れて適用するだけで良かったのですが、
→[参考] https://wordpress.org/support/topic/capability-to-editor
All in one SEO packでセキュリティの脆弱性が発見されてからユーザー権限まわりの仕様を改善したらしく、この方法では管理者権限以外のユーザーでは使うことができなくなっていました。
脆弱性はAll in One SEO Packの2.3.6.1までのバージョンで確認され、研究者はコンセプト実証コードも公開した。7月8日にリリースされたバージョン2.3.7で問題は修正されたとしている。
引用元:http://www.itmedia.co.jp/enterprise/articles/1607/12/news061.html
概要
ユーザー権限をカスタマイズできるプラグイン「User Role Editor」を使って、
適用したいユーザーの権限に「All in one SEO Pack」を使用するためのcapabilityを付与します。
検証時の環境
バージョン | |
---|---|
WordPress | ver4.5.3 |
All in one SEO Pack | ver2.3.8 |
User Role Edito | ver4.26.3 |
手順
- プラグイン「User Role Editor」をインストールし有効化。
- ユーザー>User Role Editor の「Select Role and change its capabilities:」の右のセレクトボックスから権限を付与したいユーザー権限を選択。ここでは編集者(editor)を選択。
- 右側にある「Add Capability」で「aiosp_manage_seo」を入力し適用する。
- チェックボックスの一覧に追加されたaiosp_manage_seoにチェックを入れUpdateする。
- 権限を付与したユーザーIDでログインし直し、左メニューに「All in one SEO pack」が追加されているのを確認する。
※上記の流れでは、従来の方法でチェックを入れていたmanage_optionsには何もしていません。