hirojinblog
記事一覧へ

WordPressで「更新に失敗しました。現在オフラインのようです。」が出たときの解決策

WordPressで「更新に失敗しました。現在オフラインのようです。」と表示されて記事を更新できないときに、ブラウザ、プラグイン、URL設定、wp-config.php、サーバー設定の順番で確認したことをまとめました。

web制作 WordPressエラー対応Gutenbergブログ

せっかく記事を書いたのに、投稿しようとしたら保存できない。

WordPressで記事を更新しようとしたときに、次のようなエラーが出ることがあります。

更新に失敗しました。現在オフラインのようです。

私も、GCP(Google Cloud Platform)でサーバーを立ててWordPressを使っていたときに、このエラーが出て記事を更新できなくなりました。

いろいろ試した結果、私の場合はWordPressアドレスとサイトアドレスの設定が原因でした。

この記事では、同じエラーが出たときに確認したことを、簡単なものから順番にまとめます。

当時使っていたWordPressテーマはCocoonです。

この記事で確認すること

この記事では、次の順番で原因を切り分けていきます。

  • ブラウザのキャッシュを削除する
  • プラグインを無効化して原因を探す
  • WordPressのサイトアドレスを確認する
  • wp-config.phpの設定を確認する
  • Classic Editorで一時的に回避する
  • WordPressやPHPのバージョンを確認する
  • サーバー側の設定を確認する

「更新に失敗しました。現在オフラインのようです。」の解決策

このエラーは、表示だけ見るとインターネット接続の問題に見えます。

ただ、実際にはネットがつながっていても発生します。

原因になりやすい場所は、大きく分けるとこの3つです。

  • ブラウザ
  • WordPress
  • サーバー

いきなり難しい設定を触るより、まずは簡単に戻せるところから確認していくのがおすすめです。

Cookieとキャッシュを削除する

最初に試しやすいのは、ブラウザのCookieとキャッシュの削除です。

ブラウザには、表示を速くするために一時的なデータが保存されています。

このデータが古くなっていたり、WordPressの管理画面と相性が悪くなっていたりすると、記事の更新時にうまく動かないことがあります。

Chromeの場合は、次の手順で削除できます。

  1. 右上のメニューをクリックする
  2. 「設定」を開く
  3. 「プライバシーとセキュリティ」を開く
  4. 「閲覧履歴データの削除」をクリックする
  5. 「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」にチェックを入れる
  6. データを削除する

これで直れば、ブラウザ側に残っていた古いデータが原因だった可能性があります。

プラグインを一つずつ無効化する

WordPressのエディタは、WordPress 5.0からGutenbergに変わりました。

Gutenbergは便利ですが、プラグインとの組み合わせによっては、投稿や更新の処理でエラーが出ることがあります。

特に、次のようなプラグインを入れている場合は確認したほうがいいです。

  • セキュリティ系プラグイン
  • キャッシュ系プラグイン
  • エディタ拡張系プラグイン
  • REST APIやログイン周りに関係するプラグイン

確認するときは、プラグインを一気に全部止めるより、ひとつずつ無効化して試すほうが原因を見つけやすいです。

手順はこんな感じです。

  1. プラグインをひとつ無効化する
  2. 記事を更新できるか確認する
  3. 直らなければ元に戻す
  4. 次のプラグインを無効化して確認する

「更新に失敗しました。現在オフラインのようです。」が出る前にプラグインを追加・更新・設定変更していた場合は、まずそこから疑ってみるとよさそうです。

WordPressのサイトアドレスを確認する

私の場合は、ここを直すことで解決しました。

WordPress管理画面の「設定」→「一般」を開くと、次の2つの項目があります。

  • WordPressアドレス(URL)
  • サイトアドレス(URL)

ここに設定されているURLと、実際に管理画面へアクセスしているURLが違っていると、記事の更新時にエラーが出ることがあります。

私の場合は、次のようなズレがありました。

実際に表示しているURL: https://hirojinblog.work
設定されていたURL: http://hirojinblog.work

つまり、画面ではhttps://で開いているのに、WordPress側の設定はhttp://になっていました。

管理画面から編集できる場合は、2つのURLを正しいアドレスにそろえます。

WordPressアドレス(URL): https://example.com
サイトアドレス(URL): https://example.com

example.comの部分は、自分のサイトのドメインに置き換えてください。

管理画面から変更できない場合はwp-config.phpを確認する

私の環境では、WordPress管理画面のURL欄がグレーアウトしていて、画面上から編集できませんでした。

そのため、サーバー上にあるwp-config.phpを確認しました。

wp-config.phpに次のような設定がある場合、管理画面のURL欄よりもこちらの設定が優先されることがあります。

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');

私の場合は、http://になっていたので、サイトのURLに合わせてhttps://へ修正しました。

define('WP_SITEURL', 'https://hirojinblog.work');
define('WP_HOME', 'https://hirojinblog.work');

自分のサイトで試す場合は、hirojinblog.workの部分を自分のドメインに置き換えてください。

wp-config.phpはWordPressの重要な設定ファイルです。

編集を間違えるとサイトが表示されなくなることもあるので、作業前に必ずバックアップを取ってから触るのが安全です。

一時的にClassic Editorを使う

すぐに記事を保存したい場合は、一時的にClassic Editorを使う方法もあります。

WordPress管理画面から、次の手順で追加できます。

  1. 「プラグイン」を開く
  2. 「新規追加」を選ぶ
  3. 「Classic Editor」と検索する
  4. インストールして有効化する

Classic Editorに切り替えると、保存できるようになる場合があります。

ただし、これは根本的な解決ではありません。

「今すぐ記事だけ保存したい」というときの回避策として使い、あとで原因を確認したほうがいいです。

WordPressやPHPのバージョンを確認する

WordPress本体やサーバー側のバージョンが古い場合も、更新時に不具合が出ることがあります。

確認したいのは、主にこのあたりです。

  • WordPress本体
  • PHP
  • MySQL
  • テーマ
  • プラグイン

ただし、いきなり本番環境でまとめて更新すると、別の不具合が出ることもあります。

作業前にバックアップを取り、できれば検証環境で確認してから更新するのが安心です。

サーバー側の設定を確認する

ここまで試しても直らない場合は、サーバー側の設定が原因になっている可能性もあります。

たとえば、次のようなケースです。

  • WAFがWordPressの更新処理をブロックしている
  • 特定のIPアドレスからのアクセスが制限されている
  • .htaccessの設定に問題がある
  • PHP設定がWordPressの動作に合っていない
  • サーバー側のキャッシュが影響している

このあたりは環境によって原因が変わります。

レンタルサーバーを使っている場合は、サーバーの管理画面やサポートページも確認してみるとよさそうです。

同じエラーについて、参考になりそうな記事も載せておきます。

まとめ

「更新に失敗しました。現在オフラインのようです。」というエラーは、原因がひとつとは限りません。

私の場合は、http://https://のURL設定がズレていたことが原因でした。

確認する順番は、次の流れがおすすめです。

  1. ブラウザのCookieとキャッシュを削除する
  2. プラグインを一つずつ無効化する
  3. WordPressアドレスとサイトアドレスを確認する
  4. wp-config.phpのURL設定を確認する
  5. Classic Editorで一時的に保存できるか試す
  6. WordPress、PHP、MySQLなどのバージョンを確認する
  7. WAFや.htaccessなどサーバー側の設定を確認する

いきなり難しい設定を触るより、簡単なところから順番に切り分けていくのが一番安全です。