WordPressで「このページにアクセスする権限がありません」と出る原因と対処法
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:WordPressの管理画面で「このページにアクセスする権限がありません。」(英語では「Sorry, you are not allowed to access this page.」)と出るのは、その画面を開くことが、WordPressに認められなかったときです。ログインしているユーザーの権限が足りない場合のほか、開こうとした画面が無くなっている(止めたプラグインの画面など)場合もあります。「この操作を実行する権限がありません」といった言葉で調べている方にも、共通して確かめられる点をまとめました。
原因の例は、ユーザーの権限グループ(管理者・編集者など)、止めたり消したりしたプラグインの画面を開いたこと、サイトの引っ越しなどでデータベースの設定が合わなくなったことなどです。まずは、どのユーザーでログインしているかと、開こうとした画面のアドレスを確かめます。
目次
この記事は、WordPressのトラブル解決を受け付けているWP-ingが、原因の見分け方と対処法をまとめたものです。
出る画面
管理画面の中の画面を開いたときに、白い画面に次のように出ます。
- 「このページにアクセスする権限がありません。」
画面によっては、「もっと高いレベルの権限が必要です。」という見出しの下に、次のような文が出ることもあります。どれも、そのユーザーの権限では開けない、という意味です。
| 開こうとした画面 | 出る文(例) |
|---|---|
| 「設定」の画面 | このサイトのオプションを管理する権限がありません。 |
| 「ユーザー」の一覧 | ユーザー一覧を表示する権限がありません。 |
| 「投稿」などの一覧 | この投稿タイプの投稿を編集する権限がありません。 |
| 「外観」の画面 | このサイトのテーマ設定を編集する権限がありません。 |
「この操作を実行する権限がありません。」は、WordPress本体(7.1)では、個人データのエクスポート・消去など一部の操作で使われる文です。プラグインの画面で出ている場合は、そのプラグインが出している文のことがあります。どの文でも、ログインしているユーザーなど、共通して確かめられる点があります。表示された操作やプラグインによって、対処が違うこともあります。
なお、レンタルサーバーの「403 Forbidden」の画面が出るときは、WordPressではなくサーバーの守りの仕組み(WAFなど)が止めていることがあります(「403 Forbidden」の記事・WAFが止めているときの確かめ方)。「辿ったリンクは期限が切れています。」と出るときは、リンクの期限の記事をご覧ください。
原因の例
| 状況 | どうなっているか |
|---|---|
| 管理者ではないユーザーで、「プラグイン」や「設定」などの画面を開いた | その権限グループでは開けない画面です |
| 止めた・消したプラグインの設定画面を、ブックマークや古いリンクから開いた | その画面がもう無いため、同じ表示になります(アドレスが admin.php?page=… の形のとき) |
| 権限を変えるプラグインなどで、権限グループの中身が変えられた | 管理者でも、一部の画面が開けなくなることがあります |
サイトの引っ越しや wp-config.php の書き換えの後、管理者でもどの画面でも出る |
データベースのテーブル名の先頭(接頭辞)と、権限を記録している場所の名前が合っていない可能性があります |
権限グループと、できること
WordPressのユーザーには、それぞれ「権限グループ」があり、開ける画面が決まっています。初めから入っている権限グループは次の5つです(1つのサイトで使う場合の、初めの状態の目安です)。
| 権限グループ | できること |
|---|---|
| 管理者 | 管理画面のすべての機能(プラグイン・テーマ・設定・ユーザーの管理など) |
| 編集者 | ほかの人の投稿も含めて、投稿を公開・管理する |
| 投稿者 | 自分の投稿を公開・管理する |
| 寄稿者 | 自分の投稿を書いて管理する(公開はできない) |
| 購読者 | 自分のプロフィールの管理だけ(ダッシュボードは開けます) |
プラグイン・テーマ・「設定」の画面を開けるのは、初めの状態では管理者だけです。ヘッダー・フッター・メニューなど「外観」の画面も同じです(編集できないときの記事)。
確かめ方と直し方
1. どのユーザーでログインしているかを確かめる
管理画面の右上の「こんにちは、○○ さん」で、ログインしているユーザーの名前を確かめます。表示の出ている画面では右上が見えないことがあるので、ダッシュボードなど、ほかの管理画面が開ければそこで確かめます。どの画面も開けないときは、3・4へ進みます。
ユーザーを複数持っている場合は、一度「ログアウト」して、管理者のユーザーでログインし直します。
管理者ではないユーザーで、その画面を使う必要があるときは、サイトの管理者に権限グループを変えてもらいます。管理者は、「ユーザー」→「ユーザー一覧」で対象のユーザーの「編集」を開き、「権限グループ」を選んで「ユーザーを更新」を押します。
管理者の権限があると、サイトのすべてを変えられます。権限は、その人の作業に必要な分だけにしておくと安心です。
2. 開こうとした画面のアドレスを確かめる
アドレスが wp-admin/admin.php?page=… の形なら、プラグインなどが作った画面です。
- まず、ブックマークや古いリンクではなく、管理画面の左のメニューから開き直します。プラグインの更新で、画面のアドレスが変わっていることもあります。
- メニューに見当たらないときは、「プラグイン」→「インストール済みプラグイン」で、そのプラグインが「有効」になっているかを確かめます。プラグインの一覧が開けないときは、サイトの管理者に確かめてもらいます。
3. 直前に入れたプラグインや、変えた設定を確かめる
権限を変えるプラグインやセキュリティのプラグインを入れた・設定を変えた直後から出ているなら、その設定を元に戻します。管理画面で戻せないときは、レンタルサーバーのファイルマネージャーやFTPのソフトで、wp-content/plugins の中のそのプラグインのフォルダ名を変えると、そのプラグインが止まります(くわしくは「重大なエラー」の記事の「プラグインを止めて確かめる」)。
止めるのは、原因を確かめるための作業です。変えられた権限はデータベースに保存されているため、プラグインを止めただけでは元に戻らないことがあります。
自分たちで変えた覚えが無いのに権限が変わっていた場合は、念のため、「ユーザー一覧」に見覚えのないユーザーが増えていないかも確かめましょう(改ざん・乗っ取りの記事)。
4. 引っ越しの後に、管理者でもどの画面でも出るとき(慣れた方向け)
WordPressは、ユーザーの権限を、データベースの中の、テーブル名の先頭(接頭辞。初めは wp_)の付いた名前で記録しています。wp-config.php の $table_prefix と、実際のテーブル名や記録の名前が合っていないと、管理者の権限も読み取れなくなります。
ここでは、ふつうの1つのサイトの場合に、名前が合っているかを確かめるところまでをご紹介します。データベースを直接触るので、データベース全体と、書き換える前の wp-config.php のバックアップを取り、戻し方も確かめてから、慣れている方が行ってください。
レンタルサーバーの「phpMyAdmin」などで、そのサイトのデータベースを開いていることと、管理者のユーザーのID(wp_users の表の ID)を確かめたうえで、次のところを見ます(wp_ の部分は、$table_prefix に合わせて読み替えます)。
- テーブル名の先頭が、
$table_prefixと同じか(例:wp_options・wp_usermeta) wp_usermetaの表で、管理者のユーザーのmeta_keyがwp_capabilities・wp_user_levelになっているかwp_optionsの表で、option_nameがwp_user_rolesの行があるか
名前が合っていても、権限の中身が正しいとは限りません。どこが合っていないか分からないときや、書き換えに不安があるときは、無理に進めずご相談ください。名前をまとめて置き換えるような作業は、ほかの記録まで変えてしまうおそれがあるため、ここではご案内していません。
wp-config.php には、データベースのパスワードなどの大事な情報が書かれています。人に相談するときや、ネットで調べるときは、ファイルの中身を含めずにお知らせください。
5. 直った後に確かめること
- 管理者のユーザーで、「プラグイン」「設定」「ユーザー」などの画面が開けるか
- ほかのユーザーの権限グループが、意図したとおりになっているか
自分で進めるのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- 管理者のユーザーでログインしても、どの画面でも同じ表示が出る
- 管理者のユーザーが分からない・管理者が一人もいない
- 引っ越しの後から出ていて、データベースの見方が分からない
- 見覚えのないユーザーがいる・権限が勝手に変わっていた
WP-ingでは、このエラーをはじめ、WordPressの不具合の修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
ログインはできるのに、管理画面のトップから出ます。
ダッシュボードを開くための権限が、そのユーザーに認められていない可能性があります(購読者でもダッシュボードは開けます)。引っ越しや wp-config.php の書き換えの後から、ほかの管理者のユーザーでも同じなら、上の「4. 引っ越しの後に、管理者でもどの画面でも出るとき」をご覧ください。ログインそのものができない場合は、ログインできないときの記事をご覧ください。
管理者の権限を、データベースを触らずに戻す方法はありますか?
ほかに管理者のユーザーが一人でも残っていれば、そのユーザーでログインして、「ユーザー一覧」から権限グループを戻せます。SSHでWP-CLIを使える場合は、wp user set-role ユーザー名 administrator で、そのユーザーを管理者の権限グループに戻せることもあります。ただし、管理者の権限グループそのものが変えられている場合や、データベースの名前が合っていない場合は、この方法だけでは戻りません。難しいときは、ご相談ください。