WordPressでブログを作る時に自動でできるリビジョンが引き起こした誤動作について

今夜の福岡はこの冬一番の冷え込みになってきています。お昼はとても良い天気で暖かく、庭の手入れとかもできたのですが、午後になると雪がちらつきはじめ、寒風が吹きこんできました。明日は雪がつもるかもしれません。今回はブログのトラブルであわてましたが、無事。誤動作は解消したので症状やトラブル解消法についてメモしておきます。

このブログは WordPressで作成、公開しています。
今回のトラブルの原因はWordPressが自動的につくってくれるリビジョン履歴のたまりすぎでした。今年は毎日記事を投稿しているため、固定ページのリビジョン履歴だけで450もありました。リビジョンは記事を書いているとき修正して保存するたびに作られて、問題がおこった時に、修正前の記事に戻れる機能です。何回も修正した場合でも、任意の修正段階の記事に戻ることができます。とても便利な機能ですが、これがたまりすぎると誤動作が起こるようです。誤動作を解消するため、以前同様のエラーがでたとき解消できたサイトのバックアップからの復元機能をためしました。このブログを設置しているレンタルサーバーである、エックスサーバーのバックアップからの回復機能(14日前までのバックアップによる回復は無料です)を利用しました。14日前までの任意の日のサイトのバックアップを使って、サイトを復元できる機能です。MySQL データベースとWordPress本体両方のバックアップの復元が可能です。バックアップからの復元には十数分から数時間かかるのが普通ですが、今回は復元して固定ページで記事を投稿しようとすると、また同じエラーがでてしまいました。結局エラーの原因はWordPressが自動で作ってくれるリビジョンのたまりすぎによるものでした(詳しくは下のほうをご覧ください。)リビジョン管理のできるプラグインを導入して、リジョンの保存期間を過去7日間分だけ残すようにして、あとは削除すると誤動作がうそのようになくりました。リビジョンをつかった復元やリビジョンの編集も可能になりました。今回たまっていたリビジョン履歴は2メガバイト程度だったのですが、それを削除するだけで、正常に戻りました。今回、リビジョンの削除に使ったのは以下のプラグインです。
https://ja.wordpress.org/plugins/rvg-optimize-database/

英語のページはこちらです。
http://cagewebdev.com/optimize-database-after-deleting-revisions-wordpress-plugin/

WP-Sweepというプラグインもありますが、私の使ったプラグインは固定ページのリビジョンだけの削除とか、ホームの投稿のリビジョンだけの削除とかが選べるので便利です。ただWordPressの6.0.3までの対応なので、最新版のWordPressで利用できるようになるにはしばらくかかるかもしれません。私は6.0.3だったので使えました。


以下は同じような症状でネット検索でこちらの記事にたどりつかれた方と自分用のメモです。
今回経験した誤動作の症状と解決までの顛末は以下のとおりです。
固定ページの記事を書いていて、書き終わって記事の変更を保存しました。すると編集画面が真っ白になり、書いた記事がみえなくなって、ところどころ赤い‥‥が見えるだけになりました。そこで以前の記事に戻そうと、WordPressの機能であるリビジョン表示機能を使おうとしました。リビジョン表示をさせてテキスト表示でみると、左側に今まで編集していた固定ページのhtmlが見え(削除と一番上に書かれていました)、右にも一つ前の編集内容のhtmlが表視されていました。残念なことにリビジョンの復元ボタンはどうしてもアクティブになりません。左の(削除)とある部分だけhtmlをコピーして復元しようと思ったのですが、左右両方のhtmlが選択されてしまって、うまくいきません。ではもう一回前の編集画面から記事を復元しようと、リビジョンボタンで戻ろうとしました。すると編集画面が左右の画面両方とも真っ白になり、こんどは左も右もhtmlの内容が空でした。おまけに画面の右下に縦長に、「WordPressは致命的なエラーをおこしました、管理者あてのメールを参照して対処してください」‥‥などというメッセージが表示されました。もちろんメールなどは送られてきません。しかたなく、WordPressをおいているレンタルサーバーの無料バックアップからサイトを丸ごと回復させました(MySQLデータベースもバックアップからエラー以前のものにもどします)。。これで固定ページもホームもエラーば起きる前の内容にもどりました。以前同様のエラーがおこったときはこれで完全に回復しました。しかし、固定ページの回復作業中にまたもや同じエラーがおました。リビジョンのエラーなどのキーワードでGoogle検索していると、症状は違いますがリビジョンを削除すると、エラーがなくなったというページを見つけました。
https://paso-jiyu.com/wordpress-fatal-error-when-publish-an-article/
その記事を参照してWordPressのリビジョンの削除を行うと、
https://paso-jiyu.com/revision-delete-oddr/

エラーは消えて、固定ページの真っ白な編集画面ももとにもどりました。

リビジョンの削除に使ったのは以下のプラグインです。
https://ja.wordpress.org/plugins/rvg-optimize-database/

英語のページはこちらです。
http://cagewebdev.com/optimize-database-after-deleting-revisions-wordpress-plugin/

WP-Sweepというプラグインもありますが、私の使ったプラグインは固定ページのリビジョンだけとか、ホームの投稿のリビジョンだけとか選べるので便利です。ただWordPressの6.0.3まで対応なので、最新版に利用できるようになるにはしばらくかかるかもしれません。私は6.0.3だったので使えました。