HOME > WordPress > [WordPress] 「下書きを保存しています」が終わらず「公開」「プレビュー」ボタンが押せなくなった件

[WordPress] 「下書きを保存しています」が終わらず「公開」「プレビュー」ボタンが押せなくなった件

いつかのバージョンアップ以降、おそらく3.9あたりだったと思うんですが、記事を編集していると「下書きとして保存」、「公開」、「プレビュー」、「更新」ボタンが押せなくなるという現象が起きるようになりました。

ボタンがグレーアウトして押せません。

下書き保存が終わらない…..

↑通常はこうなるはずなんですが。

この状態でフリーズしてしまいます。

下書き保存が終わらない限り、ボタンは押せません。
このまましばらく静観してましたが、いくら待っても動かない。

原因がわからない時はとりあえずプラグインを全停止、ということでやってはみたけれど症状は一向になおらず。

hetemlのWAFが原因でした

プラグイン停止でなおらない場合は、WAFがあやしい。

WAF(ウェブアプリケーションファイアウォール)とは、、、

不正アクセスによるサイト改ざんや情報漏洩を防ぐ機能。

hetemlのサーバーを使用しているのですが、正常なアクセスまで拒否されるケースがけっこうあるようです。

hetemlのWAFの検知ログを見てみるとやっぱりアクセス拒否されてる。
自分のIPアドレスやし、、

ということで、これが原因でした。

WAF設定 .htaccessで除外する方法

39bug_ph09

右メニューにある「WAF設定」をクリック。

39bug_ph10

対象ドメインの「詳細を見る」を選択。

39bug_ph11

「ログ参照」をクリック。

39bug_ph06

検知ログで検出された赤枠のコードを.htaccessに記述すると除外できます。

39bug_ph07

.htaccessがすでにあればそこに記述。
なければこの階層に作ってください。

39bug_ph08

これでなおるかと思いきや新たにアクセス拒否が発生。
で、こっちも.htaccessに追加記述。

これでやっとなおりました。
(これを何度も繰り返さなければならない時もあります。5、6回続いたことがありました。。)

Site Guard WP Plugin でWAFを除外

株式会社JP-Secure社のWAFを導入しているサーバーを使用している場合は「Site Guard WP Plugin」の設定で誤検知を回避することが出来ます。

heteml、ロリポップ、さくらインターネット(スタンダードプラン以上)とか。

↓ここにパートナー企業が記載されています。
http://www.jp-secure.com/cont/partner/partnerlist.html

JP-Secureさんの解説を拝借。

WebサーバーにJP-Secure製のWAF ( SiteGuard Lite ) が導入されている場合に、WordPress内での誤検知(正常なアクセスなのに、403エラーが発生する等)を回避するためのルールを作成する機能です。WAFは、Webサーバーに対する外部からの攻撃を防ぎますが、WordPressの機能や、プラグインの機能によっては、WAFが攻撃でないのに攻撃と判断して、その機能をブロックする場合があります。除外ルールを作成することで、特定の機能での誤検知を防ぎつつ、全体としてのWAFの防御機能を活かすことができます。

インストール&設定方法

39bug_ph12

「Site Guard WP Plugin」を検索し、インストールしましょう。

39bug_ph13

プラグインを有効化したら、一番下の「WAFチューニングサポート」を選択。

39bug_ph14

「ON」を選択、「ルールを適用」をクリック、で完了です。

ログインページのURLが勝手に変更される

このプラグイン、インストールすると自動でログインページのURLが変更されます。

左メニューから「SiteGuard」→「ログインページ変更」を選択。

するとそこに「変更後のログインページ名」があるので、ブックマークしてください。

もしURLを元に戻したい場合は「OFF」に設定変更。

今回は割愛しますが、「Site Guard WP Plugin」には他にも便利な機能がついています。
ログインロックや画像認証とかオススメです。

ログインロックのプラグインとか単独で使ってた場合は、これ1本にまとめることができますね。

自動保存を停止する方法

自動保存の機能を停止させる方法もあります。
別のテキストエディタで編集してる方はこちらの方法でも不便では無いかもしれません。

下記のコードをfunction.phpに追記すると自動保存を停止することが出来ます。

まとめ

原因がわからず、数ヶ月苦しんでいました。
下書き保存のまま止まる→コピペ→強制終了の無限ループです。

とにかく解決してよかったとです。