「ERR_CONNECTION_TIMED_OUT」は、そのメッセージから何が問題なのかが判断しづらいエラー。日常的にWordPressを扱うなら、サイトのアクセスを妨げる可能性のある一般的なエラーについて知っておくことが重要です。
「ERR_CONNECTION_TIMED_OUT」エラーの解決方法について動画での解説もご用意しています。
今回は「ERR_CONNECTION_TIMED_OUT」エラーについて掘り下げ、主な原因と解決策を順を追ってご紹介します。結論から言うと、このエラーはシステムが利用できず、接続するために与えられた時間が経過したことで、リクエストがタイムアウトしたことを意味しています。
「ERR_CONNECTION_TIMED_OUT」エラーとは
「ERR_CONNECTION_TIMED_OUT」エラーは通常、ローカルネットワーク接続に何らかの問題があることを示していますが、実は原因が他にあることもあります。
WordPressのサポートドキュメントによると、接続がタイムアウトするエラーは、サイトがサーバーの能力を超える処理を実行しようとしている場合に表示されます。このため、このエラーは厳しいメモリ制限のある共用サーバーでよく見られます。
サイトにアクセスしても読み込まれない場合、ブラウザは接続を終了するまで約30秒ほど試行を続け、その後通信の問題を示すエラーコード「ERR_CONNECTION_TIMED_OUT」を返します。Google Chromeでは「このサイトにアクセスできません/…からの応答時間が長すぎます」というメッセージが表示されます。

エラーの表示方法はウェブブラウザ、オペレーティングシステム、サーバーによって様々ですが、大体同じ意味合いです。なお、「ERR_NETWORK_CHANGED」と「ERR_CONNECTION_REFUSED」エラーは、これに密接に関係しており、通常であれば、以下でご紹介するトラブルシューティングの手順で解決可能です。
また「DNS_PROBE_FINISHED_NXDOMAIN」は、要求されたドメインが存在しないことを意味するDNSエラーです。
以下、主要ブラウザでの「ERR_CONNECTION_TIMED_OUT」エラー表示例を見てみましょう。
Mozilla Firefox
Mozilla Firefoxでは、「接続がタイムアウトしました/…のサーバからの応答が一定時間以内に返ってきませんでした」というメッセージが表示されます。

Microsoft Edge
Microsoft Edgeの場合、「申し訳ございません。このページに到達できません/…からの応答にかかった時間が長すぎます」というメッセージ。Edgeでは、エラーコード「ERR_CONNECTION_TIMED_OUT」も表示されます。

Safari
Safariでは、「ページを開けません。サーバが応答を停止しています」というメッセージが表示されます。

Kinstaでは、サイト管理にまつわる有益情報を電子書籍と動画でご紹介しています。60以上のヒントを盛り込んだWordPressサイトの管理方法に関する電子書籍はこちらからダウンロード可能です。
「ERR_CONNECTION_TIMED_OUT」エラーの解決方法
WordPressサイトでこのエラーが表示されたら、コンテキストが得られず、どのようにトラブルシューティングを始めればいいのかわからないという方も多いでしょう。一般的には、クライアント側の問題(ネットワーク接続やファイアウォールの問題)か、サイトがホストされているサーバーの問題(メモリの制限、実行時間など)などがエラーを引き起こしています。
1. インターネット接続を確認する
Google Chrome、Firefox、Edgeはすべて、ネットワーク接続の確認を推奨しています。これはかなり初歩的なトラブルシューティングですが、実は最も一般的な原因のひとつです。まずは念のため、以下の確認を行ってみてください。
- 使用しているルーター(自宅や会社)を再起動する─たった数分で行えるこの操作ですが、これで問題が解決されることは多々あります。完全に電源を切るには、電源を抜いてから30秒程待って、再び接続してください。
- Wi-Fiの接続が正常であるかを確認する─カフェや空港などの混雑した場所で提供されている無料Wi-Fiは、速度が遅いことが度々あります。
2. ファイアウォールやウイルス対策ソフトを一時的に無効にする
ファイアウォールやウイルス対策ソフトは、ユーザーとそのシステムの保護が目的です。定期的にデバイスをスキャンし、疑わしい活動は自動的にブロックされます。しかし、この手のソフトウェアは、時に接続のエラーを引き起こすことがあります。
例えば、ファイアウォールが不要なページをブロックしたり、安全なコンテンツを拒否したりすることも(AVGなどのソフトウェアで多数事例あり)。そのため、訪問しようとしているサイトが安全であることがわかってる場合のみ、ファイアウォールやウイルス対策ソフトを一度無効にしてみてください。
また、一度無効にした後は、そのままにしておくことのないように注意してください。トラブルシューティングを終えた後は、再び有効にすることをお忘れなく。ファイアウォールやウイルス対策ソフトが原因で何度もエラーが発生する場合は、代替ソリューションを見つけて切り替えることをお勧めします。
セキュリティサービスには、通常「偽陽性」(フォールスポジティブとも)を報告するフォームが用意されており、訪問しているサイトが間違いなくブロックされるべきでないとわかっている場合、ソフトウェア開発元に報告することができます。以下は主要ソフトウェアの偽陽性報告フォームです。
3. プロキシ設定を無効にする
プロキシサービスも、「ERR_CONNECTION_TIMED_OUT」エラーの原因になることがあります。通常、特にクライアント側ではこれはかなり稀なことですが、知らずにプロキシが設定されているかもしれません。プロキシ設定が有効になっていないことを確認し、(有効な場合)無効化するには、以下の手順に従ってください。
Chromeの「設定」(ウィンドウ右上の3つの点をクリックして「設定」を選択)を開き、「システム」を開きます。「パソコンのプロキシ設定を開く」をクリックすると、設定ウィンドウが開きます。

ここからはお使いのシステムによって異なります。Windowsの場合は、「LANの設定」をクリックし、LANにプロキシサーバーを使用するオプションのチェックを外してください。Macの場合は、すぐに関連メニューが表示されます。選択可能なプロキシプロトコルのチェックをすべて外して、「ERR_CONNECTION_TIMED_OUT」エラーが解消されているかどうかを確認しましょう。

Windowsをお使いの場合は、「ローカル エリア ネットワーク (LAN) の設定」ウィンドウが表示されます。「LAN にプロキシサーバーを使用する」のチェックが外れていることを確認してください。

ExpressVPNやTunnelBearのようなVPNを使用している場合も同様です。誤って接続されていないかを確認してください。
4. DNSサーバーを変更する
次に試したいのは、DNSサーバーの変更。DNSサーバーは、ISPによって自動的に割り当てられるのがデフォルトですが、GoogleやCloudflareのようなパブリックDNSサーバーに一時的に変更することも可能です。
- Google Public DNS(8.8.8.8および8.8.4.4)─長期的に使用を好むユーザーも。
- CloudflareのパブリックDNSリゾルバ(1.1.1.1および1.0.0.1)─今回はこれを使用した例をご紹介。Google Public DNSを使用する場合も手順は同じ。
補足)すでに無料のDNSサーバーを使用している場合は、デフォルトのISPのDNSサーバーに戻すことでエラーが解消される事例もあります。GoogleとCloudflareのDNSが完璧に動作するとは限らず、空港やカフェの無料Wi-Fiを使用している場合は特に顕著です。
Windows
Windowsの場合、WindowsロゴキーとRキーを押してコマンドプロンプトを開き、「コントロールパネル」と入力してEnterキーを押します。

「ネットワークとインターネット」>「ネットワークと共有センター」に移動し、左側メニューから「アダプターの設定の変更」を選択します。

現在の接続を右クリックし、接続方法に応じてローカルエリア接続、またはワイヤレスネットワーク接続を選択します。「プロパティ」をクリックしてください。

「インターネット プロトコルバージョン 4 (TCP/IPv4)」(または必要に応じてIPv6)を選択して、「プロパティ」を再度クリックします。

後ほど元に戻さなければいけない場合に備えて、既存の設定をメモしておきましょう。「次の DNS サーバーのアドレスを使う」を選択し、以下を貼り付けるか、既存のものと置き換えます。
IPv4の場合:1.1.1.1
および1.0.0.1
IPv6の場合:2606:4700:4700::1111
および2606:4700:4700::1001

「OK」をクリックしたらウィンドウを閉じ、ブラウザを再起動してください。
Mac
MacでDNSサーバーを変更するには、「システム設定…」を開きます。

「ネットワーク」に移動し、接続中のネットワークをクリックして「詳細…」をクリックします。

「DNS」タブを開きます。

次にCloudflareのDNSサーバーアドレスを追加します。
IPv4の場合:1.1.1.1
および1.0.0.1
IPv6の場合:2606:4700:4700::1111
および2606:4700:4700::1001
5. DNSキャッシュをクリアする
ブラウザのキャッシュをクリアするように、ローカルDNSキャッシュのクリアも有効かもしれません。訪問しようとしているサイトが正しいIPアドレスに紐付いていない可能性があります。WordPressサイトを別のサーバーに移行したばかりの場合は、完全に伝播されるまで待つことが重要です。DNSサービスとDNSレコードのTTL値によって、数分で完了する場合もあれば、最大24時間かかることもあります。
Windows
コマンドプロンプトを開いて、以下を貼り付けます。
ipconfig /flushdns

完了後、「Successfully flushed the DNS resolver Cache」というメッセージが表示されます。
Mac
macOSでは、ターミナルに以下を貼り付けてください。
dscacheutil -flushcache

Macでは完了メッセージは特に表示されません。
6. hostsファイルを確認する
コンピューターには、hostsファイルと呼ばれるものが存在し、このファイルには、特定のIPアドレスにマッピングされた手動DNSエントリが含まれています。通常、hostsファイルはドメインを別のサーバーに移行するにあたって、DNSをプレビューする際にのみ編集します(あるいは、DevKinsta、Vagrant、Dockerのようなツールで、ローカルにサイトを開発・運営している場合)。
しかし、このファイルが変更または編集されている可能性は大いにあるため、アクセスしようとしているサイトがローカルのhostsファイルに含まれていないか、以下の手順に従って確認してみてください。
Windows
hostsファイルは通常、アクセスが制限されています。そのため、まずは管理者としてテキストエディターを開いてください。スタートメニューをクリックし、テキストエディターを検索し、右クリックで「管理者として実行」を選択します。この操作は、メモ帳、Notepad++、Atomなど、任意のテキストエディターで実行可能です。以下、Sublimeを使った例をご紹介します。

テキストエディターで「ファイル」>「開く」をクリックし、以下を参照します。
C:\Windows\System32\drivers\etc\
hostsファイルをクリックし、「開く」をクリックします。

訪問しようとしているサイトが一覧にないかどうかを確認します。存在する場合は削除してください。
Mac
Macでhostsファイルを確認するにはGas Maskがお勧めです。Gas Maskは無料のアプリケーションで、hostsファイルマネージャー、hostsファイルエディターとして機能します。Gas Maskを使用しない場合は、以下の手順に従ってください。
「ユーティリティ」>「ターミナル」を開きます。

以下のコマンドを貼り付けて、Enterキーを押します(通常管理者パスワードの入力が求められます)。
sudo nano /private/etc/hosts
訪問しようとしているサイトがhostsファイルに含まれていないかを確認します。存在する場合は削除してください。

7. ドメインのDNSを確認する
ドメインのDNSがサーバーに適切に紐付けられているかも確認してみてください。Kinstaのお客様は、KinstaのDNSにDNSレコードを追加する方法をご覧ください。最近、WordPressサイトを移行した場合は、DNSがコンピュータに正しくキャッシュされていない可能性があります。これに該当する場合は、方法5「DNSキャッシュをクリアする」で解決できるはずです。あるいは、DNSが完全に伝播するまで数時間待つ必要があるかもしれません。
8. ブラウザキャッシュをクリアする
ウェブブラウザは、コンピューター上のキャッシュに情報を保存します。この情報には、閲覧履歴、保存されたログインデータ、Cookieなどが含まれ、これによって次回の訪問時に関連ページがより高速に表示されます。
また、エッジキャッシュを利用すれば、サイト訪問者にHTMLページを2倍の速度で提供することも可能です。
キャッシュは便利ですが、古くなると様々なエラーを引き起こすことがあるため、キャッシュをクリアしてみるのも手です。
キャッシュをクリアする前に、まずはブラウザをシークレットモードで開いて、エラーが表示されるかどうかを確認してみてください。または、別のブラウザを使用してみるのでもOKです。同じようにエラーが表示される場合は、キャッシュのクリアに移りましょう。
以下、Google Chromeを使った例を見ていきます。ブラウザウィンドウの右上にある3つの点をクリックし、「その他のツール」>「閲覧履歴を消去」を選択します。

表示されるウィンドウで、すべての項目にチェックが入っていることを確認します。すべてを選択しないと、キャッシュ全体をクリアすることができず、このトラブルシューティングで意図している効果が得られません。

別の方法として、以下をアドレスバーに貼り付けても同じ操作が行えます。
chrome://settings/clearBrowserData
その後、上と同じウィンドウが表示されます。また関連して、以下も参考にしてください。
- すべてのブラウザで単一ページを強制更新する方法
- Google Chromeのキャッシュをクリアする方法
- Mozilla Firefoxのキャッシュをクリアする方法
- Safariのキャッシュをクリアする方法
- Microsoft Edgeのキャッシュをクリアする方法
- Operaのキャッシュをクリアする方法
9. 最大実行時間をチェックする
ここからの解決策は、WordPressサイトやサーバーの設定に関係するもので、「ERR_CONNECTION_TIMED_OUT」エラーの解決につながる可能性があります。
まずは、サイトに設定されている最大実行時間。ほとんどのサーバーでは、デフォルトで30秒に設定されています。これは、PHPスクリプトの実行が許可される(タイムアウトする)時間で、共用サーバーでは、これより低く設定されているか、デフォルトのままになっているのが通例です。
php.iniファイルはサーバー上にあり、WordPressから簡単に変更することはできないため、サーバー会社に問い合わせて、サポートを受けられるかどうかを確認してみてください。Kinstaでは、デフォルトの最大実行時間は300秒に設定されています。
以下のいずれかの方法で、自分で変更することも可能です(サーバー会社のサーバー設定による)。
方法1. php.iniファイルの最大実行時間を変更する
ホームディレクトリにphp.ini
ファイルがある場合、max_execution_time
パラメータを探して修正します。例えば、30秒に設定されている場合は、これを300秒に増やすことができます。
max_execution_time = 300
方法2. .htacessファイルの最大実行時間を変更する
方法1がうまくいかない場合、.htaccessファイル内で変更できる可能性があります。これはphp.ini
ファイルと同様、通常であればホームディレクトリにあります。.htaccess
ファイルの先頭に以下を貼り付けます。
php_value max_execution_time 300
10. プラグインを一時的に無効にする
あらゆるWordPressエラーに共通する原因といえば、プラグイン。このエラーがプラグインによって引き起こされているかを確認するには、すべてのプラグインを一時的に無効にします。「ERR_CONNECTION_TIMED_OUT」エラーの場合、WordPressの管理画面にアクセスできないため、SFTPでサイトにアクセスします。これにはFileZillaが便利です。
SFTPクライアントを準備したらサイトに接続し、WordPressのルートフォルダに移動します(通常はpublic_html、html、public、www、またはサイト名)。Kinstaをご利用の場合は、publicフォルダになります。

フォルダを開き、wp-contentディレクトリに移動して、「pluginsフォルダ」を見つけてください。ここには、サイトにインストールされている各プラグイン(有効のものと無効のもの両方)のサブディレクトリが格納されています。
pluginsフォルダを右クリックして、名前を変更します。「plugins.old」や「plugins.deactivated」などのわかりやすい名前がお勧めです。

これによって、WordPressがプラグインを検出できなくなり、自動的に無効化されます。
続いてWordPressの管理画面にアクセスし、エラーが表示されなければ、いずれかのプラグインに原因があることがわかります。問題のプラグインを特定しましょう。
wp-contentディレクトリに移動し、pluginsフォルダを元の名前に戻して有効化します。その後、プラグインを1つずつ無効にして、原因となっているプラグインを特定していきます。
これを行うには、wp-content/pluginsディレクトリを開きます。この中には、各プラグインのフォルダが格納されています。以下、先ほどのような操作を繰り返していきます。
- 最初のプラグインのフォルダ名を変更(無効化)
- サイトにアクセスし、エラーが消えているかどうか確認
- エラーが消えていない場合は、フォルダ名を元に戻す(有効化)
- 次のプラグインに移動し、1の手順から繰り返す
インストールしているプラグイン数によっては、少々時間を要しますが、各プラグインを順番にチェックしていくことが重要です。エラーの原因となっているプラグインが見つかったら、アンインストールするか、代替プラグインを探して切り替えてください。
プラグインが原因でない場合には、次の解決策に移りましょう。
11. 一時的にデフォルトのテーマに戻す
プラグインが原因でないことがわかれば、利用中のテーマも一時的に無効にしてみましょう。テーマが互換性の問題を引き起こしている可能性もあります。
プラグインの場合と異なり、themeフォルダの名前を変更しただけでは、デフォルトのテーマに戻すことはできず、「テーマディレクトリ”(テーマ名)”が存在しません」のようなエラーメッセージが表示されます。themeフォルダ全体の名前を変更しようとすると、「エラー: テーマディレクトリが空か、存在しません。インストールを確認してください」というメッセージが表示されることも。
テーマの場合は、phpMyAdminにログインしてWordPressのデータベースにアクセスします。Kinstaのお客様は、MyKinstaのサイトの「情報」画面からアクセス可能です。

データベースにログイン後、wp_optionsテーブルをクリックして「検索」タブをクリックします。「option_name」でtemplateを検索しましょう。

「option_value」列に現在のテーマ名が表示されます。これをデフォルトのテーマ、例えば「twentynineteen」に変更します。

それから、サイトに再度アクセスし、エラーが解消されたかどうかを確認します。これでエラーが消えば、WordPressテーマに問題があることがわかります。テーマを再インストールするか、最新のバックアップを復元してみてください。
12. メモリ制限を引き上げる
WP_MEMORY_LIMIT
パラメータで、PHPが消費できるメモリの最大量を指定することができます。共用サーバーをお使いの場合は、これが64Mなどの低い値に設定されている可能性が高いです。Kinstaでは、デフォルトのメモリ制限を256Mに設定しています。
wp-config.phpファイルに以下を貼り付けて、メモリ制限を引き上げることができます。wp-settings.php
インクルードの上に配置してください。
define( 'WP_MEMORY_LIMIT', '256M' );

現在のPHPのメモリ制限がわからない場合、WordPressの管理画面にある「サイトヘルス」ページで確認できます(WordPress 5.2以上を使用している場合)。

まとめ
接続エラーやタイムアウトエラーのトラブルシューティングは面倒ですが、できる限り素早く解決できるよう、関連する知識を深めておくのが得策です。
「ERR_CONNECTION_TIMED_OUT」エラーは、ネットワーク接続などのクライアント側の問題、あるいはWordPressサイトをホストしているサーバーの問題であることは覚えておきましょう。また、他にもこのエラーを解決するヒントをご存知でしたら、以下のコメント欄でお知らせください。