DNS ルックアップを減らして WordPress サイトを高速化する方法

公開: 2023-05-30

ドメイン ネーム システム (DNS) は、Web の基礎の 1 つです。 DNS ルックアップがなければ、どのドメインがどの IP アドレス (Web サイトのファイルがホストされている場所) に対応するかを知ることは不可能です。 実際のところ、これらの検索はミリ秒単位で行われるため、リンクをクリックするのとほぼ同じ速度で Web サイトから Web サイトに移動できます。

DNS ルックアップの数を減らすと、Web サイトの読み込み時間を抑えることができます。 これはさまざまな方法で実行できる単純なプロセスですが、ユーザー エクスペリエンスに大きなプラスの影響を与える可能性があります。

以下では、DNS ルックアップの基本、その仕組み、応答時間の測定方法について説明します。 次に、WordPress での DNS ルックアップを減らす方法について説明します。

DNS ルックアップとは何ですか?

DNS は、どのドメインがどの IP アドレスに対応するかの記録を保持する分散システムです。 これは、複雑な数字の文字列を覚えなくてもサイトにアクセスできるため、現代の Web には不可欠です (google.com は 64.233.160.0 よりもはるかに優れています!)。

DNS ルックアップとは、ドメイン名を IP アドレスに変換するプロセスを指します。 ブラウザに URL を入力するか、リンクをクリックすると、バックグラウンドで DNS ルックアップが実行されます。 ブラウザは、通常、インターネット サービス プロバイダー (ISP) がホストする DNS 「リゾルバー」にリクエストを送信します。 次に、リゾルバーはローカル キャッシュを調べて対応するレコードがあるかどうかを確認し、ない場合は DNS サーバーに接続します。

そのプロセスはすべて、かなり迅速に行われるはずです。 Web サイトの読み込みに 1 ~ 2 秒しかかからない場合、DNS ルックアップはその時間のほんの一部で行われることを意味します。 ただし、場合によっては、DNS ルックアップに過度の時間がかかることがあります。 その場合は、サイトの読み込み時間が長くなるのを避けるためにプロセスを最適化する必要があります。

適切な DNS 応答時間はどれくらいですか?

通常、適切な DNS 応答時間は 100 ミリ秒 (ms) 未満です。 ただし、応答時間は次のようなさまざまな要因によって異なります。

  • DNS サーバーの場所。 DNS サーバーが遠ければ遠いほど、クエリが到達するまでに時間がかかります。 要求した情報を返すのにかかる時間についても同様です。
  • サーバーに大きな負荷がかかっている場合。 通常のサイト ホスティング サーバーと同様に、DNS サーバーが同時に大量の要求を受信すると、応答に時間がかかることがあります。 これは、Web サイトを最適化することで解決できる問題ではなく、DNS プロバイダーを変更することで解決できます。
  • DNS クエリの複雑さ。 複雑さという点では、すべての DNS クエリが同じというわけではありません。 URL に複数のサブドメインまたは複数の IP アドレスが関連付けられている場合、DNS ルックアップに時間がかかることがあります。

一般に、DNS ルックアップは Web サイトへの接続の最初のステップであるため、DNS 応答時間が短縮されると、Web サイトの読み込み時間も短縮されます。 言い換えると、DNS 応答時間が遅いと、ユーザー エクスペリエンスが低下する可能性があります。

WordPress での DNS ルックアップ時間を測定する方法

WordPress で構築された Web サイトを含め、あらゆる Web サイトの DNS ルックアップ時間を測定する方法はたくさんあります。 一般に、これらの時間を測定する最も簡単な方法は、ページ速度測定ソフトウェアと同様に機能するサードパーティ ツールを使用することです。 一般的なオプションには次のようなものがあります。

  • DNS 速度ベンチマーク。 これは、世界中の複数の場所から DNS ルックアップ時間をテストできる無料のツールです。 テストしたいドメイン名を入力するだけで、ツールは複数の場所の DNS ルックアップ時間をミリ秒単位で表示します。
  • ドットコムツール。 この DNS チェッカーを使用すると、世界中のサーバーを使用してテストを実行できます。 これは、平均的な DNS ルックアップ時間を提供するため、便利なオプションです。
  • ブラウザ開発者ツール。 最新の Web ブラウザーのほとんどには、DNS ルックアップ時間などのネットワーク パフォーマンスを分析できる開発者ツールが備わっています。 たとえば、Chrome で開発者ツールにアクセスするのは簡単です。 Web ページを右クリックして「検査」を選択するか、キーボードのF12を押すだけです。 次に、 [ネットワーク]タブに移動し、ページをリロードして結果を取得します。

DNS ルックアップ時間は、元のクエリの送信元によって大きく異なる可能性があることを繰り返し説明することが重要です。 Web ホスティング サーバーが近くにある場合は、コンピュータからの検索時間が驚くほど長くなる可能性があります。 ただし、他の場所にいるユーザーにとっては、同じエクスペリエンスが得られるとは限りません。

この種のバリエーションは常に存在します。 それでも、上記のツールを使用してテストした後で DNS ルックアップ時間に大きな違いが見られる場合、それは正常ではありません。 理想的には、DNS ルックアップ時間はあまり変化しないようにし、変化する場合は最適化して読み込み時間を短縮できます。

WordPress での DNS ルックアップ時間を短縮する方法

WordPress での DNS ルックアップ時間を短縮する方法はたくさんあります。 これらの方法の多くは、サイト全体のパフォーマンスも向上します。 したがって、Web サイトの読み込みが遅い場合は、これらの戦略をできるだけ多く実装することをお勧めします。

1. 信頼できる CDN プラグインをインストールする

高品質のコンテンツ配信ネットワーク (CDN) を使用すると、DNS プリフェッチにより DNS ルックアップ時間を短縮できます。 これは、DNS ルックアップを優先してその情報をキャッシュする機能です。 サーバーは IP アドレスのキャッシュをチェックするだけでよいため、少なくともエンド ユーザーにとっては、このプロセスは通常の DNS ルックアップを実行するよりもはるかに高速です。

CDN には通常、世界中のさまざまな地域に多数のサーバーが配置されています。 これらの各サーバーは、頻繁にアクセスされるドメイン名とそれに対応する IP アドレスのキャッシュを維持します。

CDN は、DNS ルックアップの実行にかかる時間を短縮することで、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させることができます。 こうすることで、訪問者はより迅速に Web ページにアクセスできるようになり、サーバーの負荷を軽減できます。

全体として、CDN を使用する理由は、DNS ルックアップ時間を短縮する以外にもたくさんあります。 したがって、決定は、それを取得するかどうかではなく、Web サイトにとって最適なオプションを決定することになります。

WordPress を使用している場合、Jetpack を使用すると、Web サイトに CDN を実装する簡単な方法が提供されます。 実際、CDN は無料のプラグインで利用できます。 Jetpack のパフォーマンスと速度設定から [サイト アクセラレータを有効にする] オプションを選択して有効にできます。

JetpackのCDN設定

WordPress で利用できる CDN オプションは他にもたくさんありますが、インストールとアクティブ化が少し複雑になる場合があります。

2. JavaScript の読み込みを延期する

通常、Web ページは完全に表示される前に、すべての JavaScript をロードする必要があります。 JavaScript ファイルは非常に大きくなる可能性があるため、読み込み時間に大きな影響を与える可能性があります。 したがって、DNS ルックアップを減らしてサイトの速度を向上させたい場合は、JavaScript の読み込みを遅らせることもできます。 さらに言えば、Web サイトのレンダリングを遅らせる可能性のある要素。

ただし、このオプションを検討する前に、ローカル JavaScript ファイルと外部 JavaScript ファイルの違いを理解することが重要です。 基本的に、サーバーへの JavaScript ファイルの読み込みを延期しても、DNS ルックアップ時間には影響しません。

これは、これらのローカル ファイルでは、ページの読み込みが開始される前にDNS ルックアップが行われるためです。 一方、サイトから呼び出す外部JavaScript ファイルには、独自の DNS ルックアップが含まれます。

したがって、ここでの理想的な解決策は、JavaScript を完全に延期して、サードパーティのファイルであっても追加の DNS ルックアップによるユーザー エクスペリエンスに影響を与えないようにすることです。

JavaScript の読み込みを遅らせる方法はいくつかあります。 Jetpack Boost は、1 つの設定を切り替えるだけで重要でないすべてのファイルを延期できるため、優れたオプションです。

Jetpack Boost がインストールされている場合は、 「Jetpack」 「Boost」に移動し、 「Defer Non-Essential JavaScript」というオプションを探します。 このオプションを有効にするだけで、サイトのパフォーマンス スコアがすぐに改善されたことが画面の上部に表示されるはずです。

Jetpack Boost Web サイト速度スコア

JavaScript を手動で延期するには、サイト コードを編集してスクリプトタグにdefer属性を追加する必要があることに注意してください。 したがって、コードを扱うことに慣れていない場合は、プラグインが最も簡単な選択肢になる可能性があります。

3. DNS プリフェッチを有効にする

DNS プリフェッチを使用すると、サーバーまたはブラウザが事前に DNS ルックアップを実行し、その情報を保存またはキャッシュできるようになります。 そうすることで、訪問者が Web サイトにアクセスしようとしたときに、より早く情報を入手できるようになります。 これは、検索が従来の完全なルートを経由するのではなく、ローカルで行われるためです。

最新の Web ブラウザーのほとんどは、DNS プリフェッチをある程度使用しますが、これはすべての Web サイトで発生するわけではありません。 Web サイトでは、DNS ルックアップ結果をプリフェッチするために DNS リゾルバーまたは CDN が必要になります。

DNS リゾルバーに自分のサイトの結果だけをプリフェッチするように依頼することはできないためです。 最善の策は、物事の CDN 側に焦点を当てることです。 Jetpack で利用できる CDN などの CDN を使用すると、サイトの DNS プリフェッチを有効にすることができます。

前述したように、CDN は無料のプラグインで利用でき、Jetpack のパフォーマンスと速度の設定から [サイト アクセラレータを有効にする] オプションを切り替えることで有効にできます。

WordPress の Jetpack CDN 設定

DNS プリフェッチを提供するプラグインは他にもいくつかあります。 それでも、それ以上のことができるツールを使用する方がよいでしょう。 CDN ソリューションは、(サーバーの負荷が軽減されるため) 一般的に Web サイトのパフォーマンスの向上にも役立つため、優れた選択肢です。

4. より高速な DNS プロバイダーの使用を検討する

別の DNS プロバイダーを使用すると、DNS ルックアップ時間を短縮することもできます。 一部の DNS プロバイダーは、より高速で信頼性の高いサーバー、より優れたネットワーク接続、またはより高度なキャッシュ技術を備えている場合があります。 これらすべてにより、DNS 解決時間が短縮される可能性があります。

最初のステップは、DNSPerf などのツールを使用することです。このツールは、最速で最も信頼性の高い DNS プロバイダーのリストを表示します。 新しいツールを決定したら、そのプラットフォームでアカウントを作成する必要があります。 具体的な転送プロセスは、現在使用している DNS プロバイダーと、切り替え先の DNS プロバイダーによって異なります。

たとえば、Bluehost では、ドメインを自社のプラットフォームに移行するプロセスの概要を 3 つのステップで説明しています。

  • ドメインを準備します。 プライバシー設定の無効化、連絡先情報の確認、認証コードの取得などを行います。
  • 転送を開始します。 これには、Bluehost ダッシュボード内で比較的簡単なプロセスが必要です。
  • ダッシュボード内から進行状況を確認します。

通常、プロセス全体には数日かかります。 Web サイトや電子メール アカウントなどの追加サービスが適切に動作するように、該当するネームサーバーと DNS 設定を新しいプロバイダーで更新することも重要です。

5. CNAME レコードの数を最小限に抑える

CNAME (正規名) レコードは、あるドメイン名を別のドメイン名にマップするために使用される DNS レコードです。 これらのレコードは、Web サイトのサブドメインや代替ドメイン名など、既存のドメイン名のエイリアスを作成するのに役立ちます。

DNSレコードの更新

blog.example.comのような Web ページにアクセスしようとすると、ブラウザは DNS ルックアップを実行してドメイン名を解決する必要があります。 CNAME レコードが関係している場合、ブラウザは A 名レコードに到達するまでそのチェーンをたどる必要があります。

これらは、実際のドメインを最終的な IP アドレスにマッピングするタイプのレコードです。 Web サイトに対して作成する CNAME レコードが増えるほど、検索チェーンが長くなり、DNS の解決に時間がかかることになります。

CNAME レコードの数を最小限に抑えるには、代わりに A レコードにできるだけ依存します。 これを達成するためのガイドラインをいくつか示します。

  • ルート ドメインには A レコードを使用します。 ドメインを構成するときは、CNAME レコードを使用するのではなく、A レコードを使用してルート ドメインを Web サイトのサーバーの IP アドレスにマッピングします。
  • サブドメインには CNAME レコードを使用します。 CDN やサードパーティ サービスなど、他のドメイン名を指すサブドメインには CNAME レコードを使用します。 これらのサードパーティ サービスは IP アドレスを変更する可能性があるため、これにより DNS 管理が簡素化されます。
  • CNAME レコードのチェーンを避けてください。 CNAME レコードを使用する必要がある場合は、問題ありません。 ただし、CNAME レコード チェーンは DNS ルックアップ時間が増加するだけであるため、避けてください。
  • TTL を賢く使用してください。 DNS レコードの Time-to-Live (TTL) 値を適切に設定します。 TTL を長くすると、必要な DNS ルックアップの数を減らすことができますが、DNS レコードの更新にかかる時間が長くなる可能性もあります。

これらの設定をすべて変更するには、ドメイン レジストラーまたは Web ホストにアクセスする必要があります。 ドメインの登録に使用したサービスには、対応するレコードを変更するオプションが提供されているはずです。 これを行う方法がわからない場合は、レジストラまたは Web ホストに問い合わせてサポートを求めることができます。

6. 外部ホスト名の数を減らす

ホスト名は、ネットワーク上のデバイスまたはサービスに割り当てられる一意の識別子です。 ホスト名は、ドメイン ネーム システム (DNS) を使用して、Web サイト、サーバー、デバイスなどのネットワーク リソースを識別および検索するために使用されます。

Web サイトには、内部ホスト名と外部ホスト名という 2 種類のホスト名があります。 内部ホスト名には、サイト上の他のページを指すリンクが含まれます。 外部ホスト名は、Web サイトの外部のページやリソースを指すリンクを指します。

訪問者が外部リンクをクリックするたびに、DNS ルックアップが行われます。 他のサイトの DNS ルックアップにかかる時間を制御できないため、これはあまり心配する必要はありません。 注意すべきは、サイトがロードする必要がある外部ファイルを指すホスト名です。

これらのファイルには、スクリプト、フォント、トラッキング ピクセル、およびサイトが重要な機能に依存するその他のリソースが含まれます。 可能な限り、これらのファイルをローカルでホストして、サイトでの DNS ルックアップを減らすことが目標です。

この記事の前半で、サイト上のページが表示されるまで重要でない JavaScript を延期することについて説明しました。 この手法は、ファイルをローカルにホストすることでホスト名を減らすことと組み合わせることで、DNS ルックアップと読み込み時間の短縮に大きな影響を与えるはずです。

7. サードパーティのリソースをローカルでホストする

最近の Web サイトのほとんどはサードパーティのリソースに大きく依存しています。 これには、スクリプト、フォント、埋め込みビデオ、追跡ピクセルなどが含まれます。

これらのツールはすべて便利ですが、トレードオフもあります。Web サイトにサードパーティのリソースを追加するたびに、ユーザーは 1 つ以上の追加の DNS ルックアップに対処する必要があります。

この問題の解決策は、サードパーティのリソースを廃止することではありません。 できる限りローカルでホストすることをお勧めします。 スクリプトやフォントなどのファイルに関しては、通常、占有するスペースが非常に小さいため、これは完全に機能します。

一方、ビデオと追跡ピクセルは大きく、より複雑です。 追跡ピクセルはその性質上、Meta などのサードパーティ プラットフォームに接続する必要があります。 ただし、Google タグ マネージャーなどのツールを使用してサードパーティ接続をすべて一度に読み込むことで、このサードパーティ接続の影響を軽減できます。 ページが読み込まれるまでタグを延期することもできます。

メタピクセルのホームページ

さらに、ビデオなどの最も重いリソースに関しては、それらをローカルでホストすると、サーバーのリソースとパフォーマンスに大きな影響を与える可能性があります。 複数のユーザーがサイトからビデオを読み込むと、数回の DNS ルックアップよりもはるかに速度が低下する可能性があります。

Web サイトがどのサードパーティ リソースに依存しているかを調べるには、PageSpeed Insights などのツールを使用できます。 PageSpeed Insights で分析を実行すると、Web サイトのパフォーマンスを向上させるために実行できることに関する提案のリストが返されます。 ここには、 「サードパーティ コードの影響を軽減する」というエントリがあります。

Google PageSpeed からのパフォーマンスに関する提案のリスト

このリストには、サイトの速度を低下させているサードパーティのスクリプトが表示されます。 これらの各スクリプトには DNS ルックアップが含まれるため、どれをローカルでホストできるか、どれを外部として保持する価値があるかを判断する必要があります。

8. DNS ルックアップを実行するプラグインを無効にする

一部の WordPress プラグイン (ライブチャットや分析プラグインなどの追跡スクリプトを使用するツールなど) は、その機能とコーディング方法に応じて DNS ルックアップを実行する場合があります。 これを行うプラグインは通常、異なるホスト名を指す外部リソース (画像、スクリプト、その他のアセットなど) を使用する必要があります。

これらのリソースをロードするには、プラグインは DNS ルックアップを実行してドメイン名を IP アドレスに解決する必要がある場合があります。 同様に、一部の WordPress プラグインは、ソーシャル メディア プラットフォームや分析ツールなどの外部サービスと対話する場合があり、接続を確立してデータを取得するために DNS ルックアップが必要になる場合があります。

プラグインが DNS ルックアップを実行すると、サイトのパフォーマンスに影響を与える可能性があります。 DNS キャッシュ技術を使用したり、サードパーティのリソースにあまり依存しないプラグインの使用を選択したりすることで、この影響を最小限に抑えることができます。

これの問題は、どのプラグインが DNS ルックアップを実行するかを判断するのが難しいことです。 これには、プラグインのコードを分析するか、プラグインがアクティブな間に Web サイトのネットワーク アクティビティを監視することが含まれます。 ブラウザ開発者コンソール、ネットワーク分析ツール、サーバー ログなどのツールを使用して、プラグインによって行われた DNS クエリやネットワーク接続を追跡できます。

もう 1 つの方法は、ステージング サイトを使用してテストを実施することです。 プラグインを 1 つずつ無効にして、サイトの DNS ルックアップ時間に影響を与えるかどうかを確認できます。 これを行う方法については、DNS ルックアップ時間の測定に関する前のセクションで説明しています。

DNS ルックアップの削減に関するよくある質問

この時点で、DNS ルックアップとそれがサイトの速度に及ぼす影響については十分に理解できたと思います。 ただし、まだ疑問がある場合に備えて、WordPress での DNS ルックアップを減らす方法についてよくある質問のいくつかに答えていきます。

DNS ルックアップを減らすことが重要なのはなぜですか?

Web サイトにアクセスするためにブラウザーが実行する必要がある DNS ルックアップが増えるほど、読み込みにかかる時間が長くなります。 読み込み時間が長いと、ユーザー エクスペリエンスに悪影響を及ぼす可能性があります。

その結果、ウェブサイトの効果が低下し、売上やコンバージョンなどに悪影響を及ぼす可能性があります。 したがって、Web サイトのパフォーマンスを向上させるには、DNS ルックアップを減らすことが重要です。

DNS ルックアップはユーザー エクスペリエンスに影響しますか?

簡単に言うと「はい」です。 DNS ルックアップに時間がかかりすぎたり、Web サイト上の特定のページにアクセスするためにブラウザーが実行する必要があるルックアップが多すぎる場合、ユーザー エクスペリエンスに影響を与える可能性があります。

DNS ルックアップの数が増加すると、ページの読み込みにかかる時間も増加します。 ユーザーは読み込み時間に関してせっかちであることで知られているため、読み込み時間をできるだけ短縮することがあなたの利益になります。

DNS ルックアップは Core Web Vitals に影響しますか?

Google は、Core Web Vitals を測定する際に多くの要素を考慮します。 DNS ルックアップ時間が長いと、初回入力遅延 (FID) と最大コンテンツフル ペイント (LCP) のスコアが悪化する可能性があります。

この影響は、ブラウザーが関連するすべての DNS ルックアップを完了する前に、ページの読み込みが開始または終了しない可能性があるという事実によるものです。 したがって、検索の数を減らすことで、Web サイトの Core Web Vitals スコアを向上できる可能性があります。 Jetpack Boost などのプラグインを使用すると、サイトの Core Web Vitals を簡単に最適化できます。

サイトのパフォーマンスを向上させるために他に何ができるでしょうか?

WordPress ウェブサイトのパフォーマンスを向上させる方法はたくさんあります。 サイトの Core Web Vitals の改善に取り組むことは、素晴らしいスタートとなるでしょう。 それ以外にも、CDN を使用し、必須ではないスクリプトを延期し、オフサイト ホスティングや遅延読み込みで画像を最適化することができます。

DNS ルックアップを減らして Web サイトのパフォーマンスを向上させます

DNS ルックアップは Web の中核的な部分です。 ルックアップと DNS システムがなければ、ユーザーフレンドリーなドメイン名の代わりに、長い IP アドレスを記憶する必要があります。 ただし、1 つの Web サイトで DNS ルックアップが多すぎると、Web サイトのパフォーマンスとユーザー エクスペリエンスに悪影響を及ぼす可能性があります。

DNS ルックアップを減らし、WordPress Web サイトを高速化する方法はたくさんあります。 自由に使える最良の方法には、CDN の使用や JavaScript の読み込みの遅延などがあります。 さらに、DNS プロバイダーを変更したり、CNAME レコードと外部ホスト名を最小限に抑える努力をしたりすることもできます。

ロード時間を短縮し、Core Web Vitals スコアを向上させ、WordPress サイトの全体的なパフォーマンスを向上させたいと考えていますか? Jetpack Boost はわずか数分で役に立ちます。 WordPress.com の背後にいる人々によって構築された、これは本格的な WordPress プロにとって頼りになる WordPress スピード プラグインです。