現象
管理しているWordPressのサイトで、バージョンを4.5.2にアップしてから投稿記事作成時に「更新」ボタンが押せなくなる現象が、たびたび起きる様になりました。
今迄起きなかった事なので、WordPressのバージョンアップによるpluginの不適合かと思い、色々試しましたが駄目。
同じ様な現象似合っている人はいないか?とネット上を探してみると、何例も見つかりました。
アプリ徹底紹介 – WordPress で記事編集中に [下書き保存/プレビュー/公開/更新] ボタンがグレーアウトして押せない時の対処方法
Simple Stock 3.1 – WordPressで記事の公開/更新ボタンがグレーアウトしてしまう問題の対処方法
原因
同じ様な現象がロリポップのサーバに置いたWordPressで起きていました。どうもWAFが原因の様です。
うちの問題の起きたサイトも、ロリポップのサーバを使っています。
WAFとはWeb Application Firewallの略で、Webサイト上のアプリケーションに特化したファイアウォールです。
CMSなどリクエストを受けて動的なページを生成するタイプのWebアプリを、不正ログインや改竄・情報詐取などから防ぐものです。
WordPressで投稿記事を打ち込んでいると自動保存しますが、WAFが自動保存を不正なアクセスと判断して、通信をブロックしてしまうみたいです。ロリポップのWAFの設定が強力すぎるんでしょうね。
このブロックは投稿記事の自動保存だけではなく、管理画面の 外観 > テーマの編集でPHPやCSSを編集した場合も、保存時にブロックされてしまう様です。
キャリコ – WordPress で「 下書きを保存しています… 」が永遠に終わらない原因はロリポップの WAF だった
ロリポップサーバのWAFと言えば、以前、外部サイトをスクレイピングしてWordPressで表示させるスクリプトの実行をブロックされた事も有ります(まあ当然と言えば当然か)。
対策方法
対策としては、
① WAF自体を無効にする。
ロリポップサーバのユーザー専用ページ > WAF設定 で、該当WordPressサイトの設定変更ボタンを無効にするに設定する。
② WordPressの自動保存を解除する
FTPクライアントでサイトのルートディレクトリに有るwp-config.phpのパーミッションを600に変更し、テキストで開いて編集します。
wp-config.phpの最後の方に有る
1 2 |
/** Sets up WordPress vars and included files. */ require_once(ABSPATH . 'wp-settings.php'); |
より後ろに
1 2 3 |
function disable_autosave() { wp_deregister_script(‘autosave’); } |
を入れます。
終了後は、wp-config.phpのパーミッションを400に戻すのをお忘れなく。
この①②のどちらかを行えば更新ボタンを押せない問題は解決します。
ロリポップは3年前に8438件の大量ハッキングを受けた為、セキュリティーの設定を強くしていると思われます。
しかし、その副作用で通常の操作に支障をきたすのは困ったものです。対処方法も判らず困惑している人も多いでしょうし、こうした情報は広く知ってもらうのが良いと思われます。