起きていた事象
・iphoneのwordpressアプリを用いて記事の作成や更新をしていたが、ある時点を境に、何か変更を保存しようとするとエラーが出て、何も更新できない状況になっていた。
・エラーコードは、HTTPエラー(403)だった。
・ブラウザからwordpressにログインすれば上記のエラーは起きない。
解決策
結論
・サーバー側のWAF(Web Application Firewall)が不正アクセスと判定してしまいブロックされているのが原因。
・wordpressアプリでの操作のみ許可するように設定変更すればよい。
具体的な解決手順
①サーバー側のWAF設定を確認
筆者はレンタルサーバーのロリポップを使用。レンタルサーバーのアカウントにログインして管理画面のセキュリティのタブからWAF設定を見たところ、WAFがオンになっていた。


②ログを確認する
さきほどの添付画像のところに「ログ」というボタンがあるので、クリックしてみる。
すると、セキュリティの都合上スクショは共有できないが、xss-style-2という名前(シグネチャ)の履歴が多数含まれていた。
時刻を確認したところ、wordpress アプリでエラーが出た時間と一致していた。
ということで、wordpress アプリでのエラーの原因はWAFであることがわかった。
③シグネチャの許可をする
wordpress のプラグインを使う方法を試したかったが、wordpress をサブディレクトリに入れてドメイン表示はルート直下にしている場合には使えないとのことだった。
(参考にさせていただいたサイト)
mgtnsn.comさま『ロリポップ!でWordPressの記事が保存できないときはWAFを確認する』
ということで、上記参考サイトをみて.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」をオフでもワードプレスの安全は保てる?』