WordPressで「403 Forbidden」と出る原因と対処法
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:「403 Forbidden」は、サーバーがそのページを見せることを断ったときの表示です。WordPressのサイトでは、サーバーの守りの仕組み(WAF・海外からのアクセスの制限・ログインの制限)、.htaccess の書き方、フォルダやファイルの権限(パーミッション)、サーバーの契約の期限などが原因の例です。
まずは、どこで出ているか(サイト全体か、管理画面だけか、保存のときだけか)と、直前に何をしたかを確かめます。それによって、見るところが変わります。
目次
この記事は、WordPressのトラブル解決を受け付けているWP-ingが、原因の見分け方と対処法をまとめたものです。
出る画面
「403 Forbidden」のほか、英語で「Forbidden」「You don’t have permission to access this resource.」などと出ることがあります。レンタルサーバーによっては、そのサーバー独自のエラーの画面が出ます。
次の表示が出る場合は、それぞれの記事も参考になります。
- WordPressの白い画面に「このページにアクセスする権限がありません。」:WordPressの中の権限の表示です(「このページにアクセスする権限がありません」の記事)。
- エックスサーバーの「WordPress管理画面へのアクセスが拒否されました」:ログインの制限や海外からのアクセスの制限です(ログインできないときの記事の「アクセスが拒否されるとき」)。
どこで出るかで見分ける
| 出る場所 | 原因の例 | 見るところ |
|---|---|---|
| サイト全体(トップページも) | サーバーの契約の期限、.htaccess、フォルダの権限、入口のファイルが無い |
1 契約・4 .htaccess・5 権限 |
| 管理画面・ログイン画面だけ | 海外からのアクセスの制限、ログインの制限、セキュリティのプラグイン | 2 海外・ログインの制限・6 プラグイン |
| 投稿や設定を保存したときだけ | サーバーのWAF(不正なアクセスを止める仕組み) | 3 WAF |
| 一部の画像やファイルだけ | そのファイルやフォルダの権限 | 5 権限 |
この表は目安です。出る場所だけでは、原因を決めきれないこともあります。
自分だけ403になるのか、ほかの人やほかの回線(スマホの回線など)でも同じかも、見分ける手がかりになります。自分だけなら、つないでいる場所や回線で止められている可能性があります。
作業の前に確かめること
- バックアップ:レンタルサーバーの自動バックアップなどがあるか。いつの時点のものか(保存日時)と、元に戻す方法も見ておきましょう(更新の前のバックアップ)。
- 変える前の設定のメモ:サーバーの設定を変えるときは今の状態を、ファイルを書き換えるときは書き換える前のファイルの写しを残します。
設定は一つずつ変え、そのたびに表示を確かめます。まとめて変えると、どれが原因だったのか、どこを戻せばよいのかが分かりにくくなります。
確かめ方と直し方
1. サーバーの契約やお知らせを確かめる
サイト全体が403になるときは、まずレンタルサーバーの契約の状態を確かめます。たとえばエックスサーバーの案内では、利用期限が過ぎてサーバーが止められていることも、原因の一つに挙げられています。サーバー会社からのメールや、管理画面のお知らせも見てみましょう。
- 期限が過ぎていた場合は、サーバー会社の案内に沿って更新・支払いをします。
- 不正なアクセスなどで止められていた場合は、サーバー会社から届いているメールの案内に沿って進めます。
2. 管理画面・ログイン画面だけのとき:海外からの制限・ログインの制限
多くのレンタルサーバーには、管理画面やログイン画面を守るため、海外からのアクセスや、短い時間に何度も失敗したログインを止める機能があります。海外から作業しているときのほか、VPNなどを通していると、海外からのアクセスと見なされることがあります。
| サーバー | 設定の場所 |
|---|---|
| エックスサーバー | サーバーパネル「WordPressセキュリティ設定」の「国外アクセス制限設定」「ログイン試行回数制限設定」 |
| ConoHa WING | 「サイト管理」→「サイトセキュリティ」→「WordPressセキュリティ」の「海外アクセス制限」(ダッシュボード・REST-API などの項目ごと)と「ログイン制限」 |
| ロリポップ! | ユーザー専用ページの「海外アタックガード」(/wp-admin/・/wp-login.php などを守る機能。ドメインごとに設定) |
| さくらのレンタルサーバ | コントロールパネル「セキュリティ」→「国外IPアドレスフィルター」。止めずに、「接続許可IPアドレスリスト」に自分のIPアドレスを入れる方法もあります |
同じ機能で、XML-RPC(xmlrpc.php)への接続が制限されることもあります。Jetpack やアプリから投稿できない場合は、xmlrpc.php の記事の「今の状態を確かめる」もご覧ください。
確かめ方は、次の順がおすすめです。
- 許可するIPアドレスを足せるサーバーでは、まず、制限は残したまま、自分のIPアドレスを許可に足して試します(さくらのレンタルサーバでは、止めるより、この方法が案内されています)。
- 許可を足せない場合は、当てはまりそうな項目だけを一時的にオフにして、管理画面に入れるかを試します。
- 確かめが終わったら、必ず元の設定に戻しましょう。元に戻すとまた403になる場合は、許可の設定の仕方などを、サーバー会社にご相談ください。
3. 保存のときだけ:サーバーのWAF
投稿や設定を保存したときだけ403になる場合は、サーバーのWAFが、ふつうの保存を不正なアクセスと見なして止めていること(誤検知)があります。まず、403が出た時刻と、WAFの記録(止めた記録)を照らし合わせます。WAFの記録の見方や、確かめ方・元に戻し方は、「返答が正しい JSON レスポンスではありません」の記事の「サーバーのWAFが止めているとき」にまとめています。
4. .htaccess・アクセス拒否の設定を確かめる
.htaccess は、サーバーへの指示を書いたファイルです。アクセスを止める書き方(Deny from・Require all denied など)が入っていたり、書き間違いがあったりすると、403になることがあります。セキュリティやキャッシュのプラグインが、自動で書き足していることもあります。エックスサーバーの「アクセス拒否設定」のように、サーバーの管理画面から特定のIPアドレスを止める設定もあります。
直前に .htaccess を書き換えた・プラグインを入れたのなら、その前の状態に戻します。確かめ方の手順は、500エラーの記事の「.htaccess を確かめる」をご覧ください(名前を変えて確かめ、パーマリンクの設定を保存し直す手順と、その注意です)。
.htaccess の名前を変えると、その中に書かれていたアクセスの制限や転送も、一時的に働かなくなります。元のファイルの写しを残しておき、確かめた後は、必要な制限も含めて元に戻します。パーマリンクの設定を保存し直しても、作り直されるのはWordPressの分の設定だけです。
5. フォルダやファイルの権限(パーミッション)を確かめる
サーバーを引っ越した直後や、ファイルをアップロードし直した直後なら、権限が関係していることがあります。
- エックスサーバーの案内では、フォルダの権限が「700」や「000」になっているとアクセスできず、「755」か「711」にするよう案内されています。
- WordPress公式の案内では、共用のサーバーの一例として、フォルダは 755 か 750、ファイルは 644 か 640 が挙げられています。
- まずはお使いのサーバー会社の案内で、決められた権限を確かめます。変える前に今の数値をメモし、案内された場所だけを変えます。
- 777は、書き込みを許す範囲が広くなる設定です。解決のために安易に使わず、サーバー会社の案内に合わせましょう。
あわせて、公開のフォルダ(public_html など)の中に、サイトの入口のファイル(WordPressでは index.php)があるかも確かめます。入口のファイルや公開のフォルダが消えていると、403になることがあります。
6. セキュリティのプラグインを確かめる
セキュリティのプラグインには、アクセスを止める機能を持つものがあります。直前に入れた・設定を変えたプラグインがあれば、その設定を元に戻します。管理画面に入れないときは、wp-content/plugins の中のそのプラグインのフォルダ名を変えると、そのプラグインが止まります(くわしくは「重大なエラー」の記事の「プラグインを止めて確かめる」)。
プラグインが .htaccess に書き足した設定は、プラグインを止めても残っていることがあります。その場合は、4の .htaccess も確かめます。
7. 直った後に確かめること
- ログアウトした状態で、トップページ・記事・お問い合わせフォームなどが開けるか
- 管理画面に入れて、投稿や設定を保存できるか
- 確かめるために一時的に止めた、サーバーの守りの仕組みやプラグインを、元に戻したか
自分で直すのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- どこで止められているのか分からない
- サーバーの設定を戻しても、403が続く
.htaccessやファイルの権限の見方が分からない- 心当たりが無いのに、
.htaccessなどが書き換えられていた(改ざん・乗っ取りの記事)
WP-ingでは、このエラーをはじめ、WordPressの不具合の修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
自分のパソコンだけ403になります。
つないでいる場所やIPアドレスで止められている可能性があります。ログインに何度も失敗した、海外やVPNからつないでいる、といった心当たりがあれば、2の制限や、4のアクセス拒否の設定を確かめます。スマホの回線など、別の回線からも開いてみると、見分ける手がかりになります。
守りの仕組みは、止めたままにしてもよいですか?
WAFや海外からのアクセスの制限は、サイトを守るための大切な仕組みです。確かめが終わったら、元の設定に戻しておきましょう。同じところで何度も止まる場合は、サーバー会社やWP-ingにご相談ください。