WordPressアプリからの記事更新ができないエラー解決【WAF関係】

起きていた事象

・iphoneのwordpressアプリを用いて記事の作成や更新をしていたが、ある時点を境に、何か変更を保存しようとするとエラーが出て、何も更新できない状況になっていた。

・エラーコードは、HTTPエラー(403)だった。

・ブラウザからwordpressにログインすれば上記のエラーは起きない。

解決策

結論

・サーバー側のWAF(Web Application Firewall)が不正アクセスと判定してしまいブロックされているのが原因。

・wordpressアプリでの操作のみ許可するように設定変更すればよい。

具体的な解決手順

①サーバー側のWAF設定を確認

筆者はレンタルサーバーのロリポップを使用。レンタルサーバーのアカウントにログインして管理画面のセキュリティのタブからWAF設定を見たところ、WAFがオンになっていた。

WAF設定の画面。ロリポップでは「有効」を推奨。
WAFは全てのドメインで有効になっていた

②ログを確認する

さきほどの添付画像のところに「ログ」というボタンがあるので、クリックしてみる。

すると、セキュリティの都合上スクショは共有できないが、xss-style-2という名前(シグネチャ)の履歴が多数含まれていた。

時刻を確認したところ、wordpress アプリでエラーが出た時間と一致していた。

ということで、wordpress アプリでのエラーの原因はWAFであることがわかった。

③シグネチャの許可をする

wordpress のプラグインを使う方法を試したかったが、wordpress をサブディレクトリに入れてドメイン表示はルート直下にしている場合には使えないとのことだった。

(参考にさせていただいたサイト)

mgtnsn.comさま『ロリポップ!でWordPressの記事が保存できないときはWAFを確認する』

WordPressで記事を保存したときに出た「更新に失敗しました。返答が正しいJSONレスポンスではありません。」というエラーの対処法をまとめます。

ということで、上記参考サイトをみて.htaccessを修正してWAFに通すシグネチャを設定する。

.htaccessの修正作業は繊細なので、十分注意して作業します。

作業自体は単純で、以下のコマンドを.htaccessに追記するだけです。

xss-style-2の部分はWAFのシグネチャ名なので、ログに書かれてあったものを入れましょう。

シグネチャについて

ちなみに、2024年頃はxss-style-2だったのですが、2025年のいつかのタイミングでxss-style-8に変更になったようです。

というのも、xss-style-2のみ通すように運用していたら、突然エラーが出るようになりました。

再度ログを確認したらシグネチャの末尾が8に変わっていた、という事情です。

ということで、今後も変わってく可能性がありますが、都度.htaccessを修正すればokということがわかっています。

最後に

以上、「WordPressアプリからの記事更新ができないエラー解決【WAF関係】」でした。ここまで読んで下さりありがとうございました。

付録

WAFをオフにすればよいのでは?

WAFが作動していることがエラーの原因だったので、WAF自体をオフにしてしまえばエラーは出なくなります。

ネット上にはWAFをオフにする解決策を書いた記事もありましたが、セキュリティ的に問題があるので推奨されません。

WAFの重要性については以下の記事がありました。

wordpress practiceさま『レンタルサーバーの「WAF」をオフでもワードプレスの安全は保てる?』

WordPressはその使いやすさから多くのウェブサイトで使用されていますが、その人気が高いためにセキュリティの脅威にも晒されやすくなっています。特にレンタルサーバーを利用する際、Web Applic