WordPressで記事を保存すると501エラー|エックスサーバーのWAFが本文を攻撃と見間違えていた

記事の本文がサーバーの入り口で止められて保存できない様子を示したイメージ図 ITライフハック
この記事は約4分で読めます。
当ページはプロモーションが含まれています

WordPress で記事を保存しようとしたら、真っ白な画面に「501 Not Implemented」と出ました。
ほかの記事は普通に保存できます。この記事だけ、何度押しても保存できません。

自分の場合は、本文にコードを載せた記事でした。
原因はサーバーの WAF という仕組みで、記事の中身を攻撃と見間違えていました。

記事の本文に含まれる文字列をWAFが攻撃と見間違えて保存を止める仕組みを示した図

WAF は、送られてきた文字を見ています

WAF は、サイトへの攻撃を入り口で止める仕組みです。
エックスサーバーでは、サーバーパネルの「WAF設定」から、項目ごとにオンとオフを切り替えられます。

記事を保存するとき、ブラウザは本文をまるごとサーバーへ送ります。
WAF はその中身を見て、攻撃に使われる書き方が混ざっていないかを確かめています。

コードは、攻撃と見分けがつきにくい

本文にコマンドやプログラム、データベースへの命令の例が入っていると、書き方が攻撃とよく似ています。
WAF には、それが説明のために載せたものか、本当の攻撃かは分かりません。だから止めます。

「この記事だけ保存できない」のは、そのためです。
コードを含まない記事は、同じサイトでも普通に保存できます。

よく書かれている直し方

検索すると、「WAF設定のコマンド対策(またはXSS対策)をオフにすれば直る」という記事がたくさん出てきます。
実際、オフにすれば保存できるようになります。

ただ、オフのままにすると守りが外れます

WAF は、その種類の攻撃を止めるために入っています。
オフにしたままにすると、記事の保存だけでなく、サイト全体でその守りが無くなります。

保存したい記事のために、ずっと扉を開けておくことになります。

自分がやった手順

一時的にオフにして、保存して、元に戻す。いちばん素直なのはこの形です。

1. どの項目で止まっているかを絞る

WAF設定には、XSS対策、SQL対策、ファイル対策、メール対策、コマンド対策、PHP対策といった項目があります。
全部をオフにする必要はありません。 記事の中身に近いものから、1つずつ試します。

シェルのコマンドを載せた記事ならコマンド対策、HTML や JavaScript ならXSS対策、SQL ならSQL対策、というあたりが目安です。

2. 反映まで待つ

ここで、いちばん迷いました。

エックスサーバーの説明には、WAF設定を変えてから反映まで最大1時間程度かかる場合がある、と書かれています。
切り替えてすぐに保存を試すと、まだ前の設定のままで、「オフにしても直らない」ように見えます。

そこで別の項目を触ると、どれが効いたのか分からなくなります。
1つ切り替えたら、しばらく待ってから試してください。

3. 保存できたら、元に戻す

保存が済んだら、オフにした項目をオンに戻します。
戻し忘れが、いちばん起きやすいところです。 保存できて安心すると、そのまま忘れます。

戻したあとも、公開済みの記事はそのまま表示されます。
止められるのは保存のときに送る中身なので、表示には関わりません。

ただし、編集するたびに同じことが起きます

その記事をあとで直そうとすると、また止まります。
コードを載せる記事をよく書くなら、毎回この手順を踏むことになります。

オフにしないで済ませる方法

本文の書き方のほうを変えて、WAF に止められないようにする方法もあります。
何をどう変えたか、どの書き方が止められたのかは、開発の記録のほうに詳しくまとめました。

エックスサーバーの WAF で 501 になったときの、コード側の解決

コードを載せる記事をよく書く方は、こちらのほうが手間が減ると思います。

ほかの原因と見分ける

501 の原因がいつも WAF とは限りません。次のような場合は、別の原因を疑ってください。

すべての記事で保存できない。
記事の保存ではなく、サイトの表示そのものが 501 になる。
コードを含まない、普通の文章の記事でも起きる。

「特定の記事だけ、保存のときだけ」なら、WAF の可能性が高いです。

なお、使っているレンタルサーバー エックスサーバーでは、WAF の各項目をサーバーパネルから自分で切り替えられます。
問い合わせをしなくても、この切り分けまでは自分でできます。



まとめ

  • 特定の記事だけ保存で 501 になるなら、WAF が本文を攻撃と見間違えている可能性が高い
  • コマンドやプログラムの例は、攻撃と書き方がよく似ている
  • 「WAF の項目をオフにすれば直る」は本当だが、オフのままだと守りが外れる
  • 全部ではなく、記事の中身に近い項目を1つずつ試す
  • 反映まで最大1時間程度かかることがある。すぐ試すと直らないように見える
  • 保存できたら、必ず元に戻す
  • 同じ記事を直すたびに同じことが起きる
  • オフにせずに済ませる方法は、開発の記録のほうにまとめた

保存できないとき、つい全部オフにして済ませたくなります。
でも、それは記事1本のために、サイト全体の鍵を開けておくことです。

一時的に開けて、閉める。その「閉める」を忘れないでください。



※本記事は2026年9月時点の内容です。

タイトルとURLをコピーしました