WordPressのテーマ固有の設定やプラグインの設定を変更し、更新しようと更新ボタンを押すと403エラーになって困った経験はありませんか?
いくつもサイト運営をしていると、403エラーが表示されるサイト、されないサイトがありました。
最初はテーマやプラグインの不具合だと思って諦めていたのですが、原因はレンタルサーバーのWAF設定にありました。
原因がわかってしまえば対処方法はとても簡単です。
僕が利用したレンタルサーバーの経験を踏まえ、403エラーが表示されるレンタルサーバー、403エラーを回避する対処法を紹介します。
目次
403エラーになるサーバー
僕が実際にレンタルしたサーバーにWordPressをインストール、テーマ固有の設定を更新しようとして403エラーになったサーバーです。
- ロリポップ
- heteml(ヘテムル)
403エラーになる原因
レンタルサーバーのWAF設定が有効になっているからです。
WAF設定の説明はレンタルサーバー会社によって多少違いますが、簡単に言えば不正アクセスを防ぐ機能です。
「テーマやプラグインが不正アクセスしてるの?」って驚く人もいると思いますが、それは違います。
今回の403エラーになる時は、アクセス解析(Googleアナリティクス)などのjavascriptタグをフォームに入力した時に起こっていませんか?
僕はテーマ独自の設定で、head内に表示するタグを入力するフォームに、アクセス解析のタグを入力して更新すると403エラーが表示されていました。
これは、JavaScriptを使って不正な攻撃をする手法を防ぐのに反応していて、フォームにjavascriptのタグが入力されているのでWAFに反応して403エラーになっています。
WAFに反応するプラグインは少ないですが、WAFにプラグインが反応しても不安になる事はないですよ。
403エラーの回避方法
原因がわかってしまえば簡単ですが、更新時に403エラーが表示されたら、WAF設定をOFFにすれば403エラーを回避できます。
コントロールパネルから、ドメインごとにWAF設定をON・OFFできるので、難しい事は一つもありません。
ONからOFFに設定を切り替えると、OFF設定が反映されるまでに数分かかるので、5分ほど待ってから403エラーが表示された内容の更新をしてください。
403エラーが表示されずに更新できるはずです。
有効化した方がいいWAF設定
毎回WAF設定をON・OFF切り替えるのが面倒くさいから、常にOFFでいいやって思ってもWAF設定はONにしておきましょう。
WAF設定をOFFにしたままだと、セキュリティが弱くなるのは確実です。
特にWordPressなどのオープンソースを使う場合は、どんな事が起こるかわかりません。
面倒くさくても必ずONにしておいた方が無難ですよ。
レンタルサーバー別WAF設定を変更する方法
設定変更後すぐに設定は反映されないので数分待ちましょう。
ロリポップのWAF設定変更

①WAF設定ページへ移動。
コントロールパネルメニューの「セキュリティ > WAF設定」をクリック

②WAFの設定を無効にする。
WAFの設定を無効にしたいドメインの「無効にする」ボタンをクリック

③WAFの設定を有効にする。
WAFの設定を有効にしたいドメインの「有効にする」ボタンをクリック
ヘテムルのWAF設定変更

①WAF設定ページへ移動。
コントロールパネルのサイドメニュー「各種設定 > WAF設定」をクリック

②WAFの設定を無効にするドメインを選択。
WAFの設定を無効にしたいドメインの「詳細を見る」ボタンをクリック

③WAFの設定を無効にする。
WAFの設定を無効にしたい場合は緑色の「ON」ボタンをクリック

④WAFの設定を有効にする。
WAFの設定を有効にしたい場合は赤色の「OFF」ボタンをクリック
お名前.comのWAF設定変更
お名前.comはWAFの初期設定は無効になっています。
必要な時は有効にしましょう。

①WAF設定ページへ移動。
コントロールパネルのサイドメニュー「Web設定 > WAF設定」をクリック

②WAFの設定を有効・無効の設定
WAFの設定を変更したいドメインの状態「有効・無効」を選択して変更ボタンをクリック
さくらサーバーのWAF設定変更
さくらサーバーはWAFの初期設定は無効になっています。
必要な時は有効にしましょう。

①WAF設定ページへ移動。
コントロールパネルのサイドメニュー「運用に便利なツール > Webアプリケーションファイアウォール」をクリック

②WAFの設定を有効・無効の設定。
WAFの設定を変更したいドメインの設定「利用する・利用しない」を選択して変更ボタンをクリック
「設定を変更しました」といったinfoメッセージが出ないので、設定が変更できているのか分かりにくいです。