WordPressをアップデートする時「更新の必要はありません このWordPressデータベースは最新のものです!」というエラーが表示されることがあります。さらに管理画面から締め出されてしまうことさえあります。
でも心配はいりません。これは使用中のキャッシュ系プラグインが原因で、解決方法もちゃんと存在します。
今回は「更新の必要はありません このWordPressデータベースは最新のものです!」というエラーメッセージに関する詳しい説明とその解決策、再度サイトにアクセスするための方法をご紹介します。
「データベースは最新のものです」というエラーは何故起こるのか?
上述の通り、使用中のキャッシュ系プラグインが問題を引き起こしているのですが、必ず起こるというわけでもないので少々厄介です。より具体的には、オブジェクトキャッシュの問題であることが多いと言えます。
オブジェクトキャッシュとはウェブサイトのデータベースクエリの結果が読み込まれた後にそれを保存するタイプのキャッシュのことです。そうすることで、次回以降ページを読み込む時にキャッシュから素早くクエリへ応答することができます。
ページが読み込まれる度に同じクエリを送信しデータベースに負荷がかかることを防ぎ、サーバーのリソースを節約し、ページの読み込み速度を改善することができます。
詳細については、動的なサイトでのオブジェクトキャッシュをご覧ください。
オブジェクトキャッシュを利用するための人気なシステムにはMemcachedやRedisなどがあります。他にもW3 Total CacheなどのWordPressプラグインでもオブジェクトキャッシュが利用できます。これら全てが「データベースは最新のものです」エラーの原因になり得ます。
このエラーは、WordPressが最新のものであることを示すファイルがキャッシュされている時に発生します。新しい更新が必要な時、WordPressが最新の状態であることを示すそのファイルが参照されるため、システムは全てが更新済みであると勘違いし、エラーメッセージが表示されます。
「データベースは最新のものです」というエラーを解決する6つの方法
「データベースはすでに最新のものです」というエラーが表示される原因が分かったところで今度は具体的な解決方法を見ていきましょう。解決策はいくつかあるので、問題が解決されるまで一つずつ試してみましょう。
WordPressサイトとサーバーのキャッシュをクリアする
サイトのキャッシュをクリアすることで、WordPressのデータベースが最新であることを示すキャッシュされたファイルを削除でき、問題が解決できる可能性があります。それでも解決しない場合はサーバーのキャッシュをクリアしてみましょう。
使用しているプラグインやホスティングサービスによってやり方は異なりますので、各ドキュメンテーションを確認してください。
サイトやサーバーのキャッシュをクリアすると一時的にパフォーマンスが落ちる可能性があることは念頭に置いてください。とは言え、再度ページがキャッシュされるうちにそのようなパフォーマンス上の問題は自然と解決していくのでご安心ください。
KinstaでWordPressサイトのキャッシュをクリアする方法
Kinstaのホスティングサービスをご利用のお客様の場合、「データベースはすでに最新のものです」のエラー解消のためにサイトのキャッシュをクリアする方法は二通りあります。サイトの管理ダッシュボードから行う方法とMyKinstaから行う方法です。
WordPressの管理ダッシュボードからキャッシュをクリアする場合、まずサイトにログインします。管理画面の右上部にあるツールバーの「Clear Cache」ボタンをクリックします。
または、メニューの「Kinsta Cache」をクリックすると細かい設定ができます。削除したい特定のURLを指定することも可能です。
MyKinstaでWordPressサイトのキャッシュをクリアする方法
ステップ1
MyKinstaからサイトのキャッシュをクリアするには、ログインし「サイト」をクリックし、対象のサイトをクリックします。
ステップ2
次に「ツール」のタブをクリックし「キャッシュをクリア」ボタンをクリックします。本番環境ではデフォルトでキャッシュが有効になっています。
WP-CLIを利用してキャッシュをクリアする
ホスティングサービスがサポートしている場合(大半の場合サポートしています)、WP-CLIを利用してキャッシュをクリアすることもできます。
ステップ1
SSHを介してサイトに接続します。手順はホスティングサービスによって異なります。詳しいやり方についてはSSHを介してサーバーへ接続する方法という記事やKinstaでSSHに接続する方法という記事をご参照ください。
ステップ2
次に「path/to/your-site」の部分を実際のサイトへのパスに変更して以下のコマンドを入力します。
cd ~/path/to/your-site
ステップ3
そして次の通り入力し、サイトのキャッシュをクリアします。
wp cache flush
WordPressユーザーに便利なよく使うSSHコマンド26選という詳細ガイドも是非ご覧ください。
SSHを利用してキャッシュをクリアする
WP-CLIを利用したくない場合、SSHを利用してキャッシュをクリアすることもできます。使用するコマンドは利用しているオブジェクトキャッシュのシステムによって異なります。
ステップ1
クライアントもしくはMyKinstaのようなホスティングサービスのダッシュボードを用いてSSHでサーバーに接続したら、Redisをインストールしている方は次のコマンドを実行します。
redis-cli flushall async
Kinstaのホスティングサービスをご利用のお客様の場合、Redisを追加することが可能です。
Memcachedをインストールしている場合、次のコマンドを実行します。
telnet localhost 11211
「localhost 11211」というポートを使用していない場合は適宜変更の必要がありますのでご注意ください。
なお、Kinstaをご利用のお客様はmemcachedはサポートしていないのでご了承ください。上述の通り、代わりにRedisのアドオンがご利用いただけます。
ステップ2
Memcachedをご利用の場合、さらにステップがいくつかあります。次は以下のコマンドを実行します。
flush_all
ステップ3
最後に、SSHクライアントに次のように入力し終了します。
quit
object-cache.phpのファイル名を変更する
サイトやサーバーのキャッシュをクリアしても解決しない場合はobject-cache.phpのファイル名を変更してみましょう。
この方法は「データベースはすでに最新のものです」のエラーによりWordPressの管理画面にアクセスできずサイトのキャッシュをクリアできない場合にも有効です。
このような場合はファイル名を変更して、再度サイトにアクセスできるようにしなければなりません。
ステップ1
エラーの解決にはまずobject-cache.phpファイルにアクセスします。SSH、SFTPを利用してもホスティングサービスのダッシュボードからアクセスしても構いません。
Kinstaのホスティングサービスをご利用のお客様の場合、MyKinstaにログインすればSSHとSFTPの認証情報を確認できます。メニューのサイトをクリックし「情報」タブのリストから該当するサイトを選択します。
このタブでは次の情報をメモします。他のホスティングサービスをご利用の場合も同様の情報が必要です。
- IPアドレス
- ユーザー名
- パスワード
- ポート
ステップ2
メモしたSFTP認証情報を利用して、次の例に用いているFileZillaなどのFTPクライアントでサーバーにログインします。画面の上部にこれらの情報を入力し「クイック接続」をクリックします。
ステップ3
ログイン欄のすぐ下にメッセージが表示されます。
「Connected to」の後にサーバーのIPアドレスが表示され、続いて「Directory listing of ‘/’ successful」と表示されると接続が完了したことを意味します。
/wp-content/フォルダーを探し、その中のobject-cache.phpを見つけます。
ステップ4
ファイル名を任意の名前に変更します。ただし、後々なんのファイルだったか思い出しやすいように元のファイル名の最後に「-old」を追加したファイル名などにしておくと便利でしょう。
FileZilla上でファイルをクリックします。次に右クリックし、「名前を変更」を選択します。隠しファイルが表示されない場合は、このチュートリアルに従って修正してください。
好きな名前に変更し、キーボードのエンターキーを押します。
ステップ5
サイトを開きログインします。どのキャッシュ系プラグインを利用している方もサイトのキャッシュをクリアします。Kinstaのホスティングサービスをご利用のお客様は、MyKinstaのキャッシュクリアツールを活用しましょう。
ステップ6
FTPクライアントへ戻り、ファイルがサーバー上に再度作成されていることを確認しましょう。
全てのプラグインを無効化する
これまでご紹介した方法で解決しない場合は、全てのプラグインを無効化してみましょう。異なるキャッシュの種類を扱うキャッシュ系プラグインを2種類利用している場合などはこの方法で解決する可能性があります。間違って機能が重複してしまったことによってエラーが発生している可能性があります。
または使用しているプラグインにキャッシュ機能やそれに似たような機能がついていて、それを忘れている場合もあるかもしれません。
いずれの場合でも、管理ダッシュボードへアクセスできない場合はSFTPを使って全てのプラグインを無効化しましょう。その具体的な方法をご紹介します。
ステップ1
一つ前にご紹介したobject-cache.phpファイルの名前を変更する方法と同様に、まずご利用のFTPクライアントソフトを開きサーバーに接続します。
/wp-content/plugins/フォルダーを探し、名前を変更します。object-cache.phpファイルの時と同じように、ファイル名はなんでも構いませんが、既存の名前の最後に何かを追加する方が、後々混乱せずに済むので便利です。
ステップ2
再び管理ダッシュボードにログインしてみて、アクセスできるかどうか、そして「データベースはすでに最新のものです」というエラーが表示されないかどうか確認します。問題なければ、プラグインのフォルダー名をもとに戻し、管理ダッシュボードを再び読み込みます。
ステップ3
既に紹介した方法でサイトとサーバーのキャッシュをクリアします。それからサイトの管理ダッシュボードから「プラグイン」>「インストール済みプラグイン」を開きます。
エラーが再度発生するまでプラグインを一つずつ有効化していきます。そうすることで、問題を引き起こしているプラグインを特定できます。
ステップ4
管理画面にアクセスできる場合はリストのプラグイン名の下の削除のリンクをクリックして問題を引き起こしているプラグインを削除します。
アクセスできない場合は、再度SFTPを使用し、プラグインフォルダーの名前をもう一度変更します。
ステップ5
今度は、プラグインフォルダーの名前をもう一度元の名前に戻します。そしてブラウザを再び読み込み、ステップ4で説明した方法で問題のプラグインを削除します。
ステップ6
サイトとサーバーのキャッシュをもう一度クリアします。これで「データベースはすでに最新のものです」のエラーは解決しているはずです。
最終手段:ホスティングサービスに問い合わせるかサーバーを再起動する
ここまできて、問題が解決しない場合はサーバーを再起動してみましょう。ただし、一時的にサイトが利用できなくなるので、これは最終手段であることをお忘れなく。
誰もサイトを閲覧することができなくなるので、サーバーを再起動する必要がある場合は1日の中でトラフィックが最も少ない時間帯に行うようにしましょう。
再起動の仕方はホスティングサービスによってそれぞれ異なるため、事前にドキュメンテーションなどをよく確認するようにしましょう。
サーバーを再起動する前に、問題を解決できないかホスティングサービスに問い合わせてみるのが得策です。その際、「データベースはすでに最新のものです」のエラーを解決するためにこれまでにどのような手順を試してみたかを必ず担当者に知らせましょう。
Kinstaのサポートへ問い合わせるには
MyKinstaにログインし、ページの下部右端のチャットのアイコンをクリックします。
新しいチャット画面がすぐに開きます。
「データベースはすでに最新のものです」のエラーの詳細についてお伝えいただければ、当社の経験豊富なスタッフが問題解決のお手伝いをいたします。
まとめ
「更新の必要はありません このWordPressデータベースは最新のものです!」というエラーは鬱陶しいですが、幸いそれほど深刻なものではありません。
サイトとサーバーのキャッシュをクリアすることで解決することが多いでしょう。それでも解決しない場合は、object-cache.phpファイルの名前を変更する方法や、プラグインを無効化する方法を試すか、ホスティングサービスに問い合わせてみましょう。
Kinstaのホスティングサービスをご利用のお客様はお気軽にサポートチームまでお問い合わせください。当社の経験豊富なスタッフが問題解決のお手伝いをいたします。