如何減少 DNS 查找以獲得更快的 WordPress 站點

已發表: 2023-04-29

您已經完成了應有的優化,並且您的 Core Web Vitals 看起來不錯。

但是您是否注意過您的 DNS 查找?

減少 DNS 查找是一種速度優化策略,可讓瀏覽器更快地呈現您的頁面。 反過來,它可以提高您網站的性能和用戶體驗。

不幸的是,DNS 查找是許多網站所有者忽略的一個要素。

但不是你!

當您讀完本文時,您將了解:

  • 什麼是 DNS 查找?
  • DNS 查找如何影響站點速度
  • 什麼是好的 DNS 響應時間?
  • 如何檢查站點的 DNS 查找響應時間
  • 如何減少 DNS 查找

讓我們開始吧!

什麼是 DNS 查找?

簡而言之,DNS 查找是為給定網站 URL 查找正確 IP 地址的過程。

然而,要了解整個過程,我們需要退後一步,解釋一下 DNS 代表什麼。

DNS(域名系統)是一種將人類可讀的域名(如 nitropack.io)轉換為 IP 地址的系統,計算機使用這些地址來定位 Internet 上的服務器並與之通信。

如果沒有 DNS,我們將需要記住我們要訪問的每個網站的 IP 地址,這是不切實際且不方便的。

搜索中的 IP 地址

將域名轉換為 IP 地址的整個過程稱為 DNS 查找。

許多網絡專家將其比作在電話簿中查找電話號碼。 IP地址就是電話號碼,而DNS服務器就是電話簿。

當然,在現實生活中,我們是在網絡上進行“查找”的人,責任落在瀏覽器上。

DNS 查找如何影響站點速度

當您訪問網站或用戶想要加載您的網站時,他們的瀏覽器會識別所有需要 DNS 查找的資源並暫停下載過程,直到查找完成。

這就是為什麼網站需要的查找次數越多,瀏覽器顯示頁面所需的時間就越多。

整個過程如下所示:

  1. 您在網絡瀏覽器中輸入域名,
  2. 您的計算機首先檢查其緩存以查看它是否已經具有該域名的 IP 地址。
  3. 如果沒有,它會向通常由您的互聯網服務提供商 (ISP) 提供的 DNS 解析器發送請求。
  4. 解析器檢查其緩存,如果沒有 IP 地址,它會將請求轉發到一系列 DNS 服務器,直到它到達該域的權威 DNS 服務器。
  5. 域的權威 DNS 服務器負責為該域名提供正確的 IP 地址。
  6. 一旦權威的 DNS 服務器響應 IP 地址,它就會被您的計算機和解析器緩存起來,以便將來更快地查找該域名。

完成 DNS 查找和查詢

簡單地說:

減少 DNS 查找將為您的訪問者提供更快的加載時間。

但在我們告訴您如何做到這一點之前,我們需要設定一些基準。

什麼是好的 DNS 響應時間?

小於 100 毫秒通常被認為是良好的 DNS 響應時間。

當然,每個網站都是獨一無二的,因此沒有每個人都應該爭取的確切分數。

但是您網站的 DNS 響應時間越短越好。

如何檢查站點的 DNS 查找響應時間

設置一些基準是開始 DNS 查找優化之旅的最佳方式。 GTmetrix 和 WebPageTest 等流行的 Web 性能測試工具可以幫助您做到這一點。

讓我們仔細看看如何使用它們。

GTmetrix

要使用 GTmetrix 檢查您的 DNS 查找,您需要做的第一件事是輸入您的網站 URL:

GTmetrix 分析網站性能

報告完成後,轉到 Waterfall 選項卡。 當您將鼠標懸停在特定文件請求上時,您將看到 DNS 查找需要多長時間。 它標有藍色條,以毫秒為單位:

在 GTmetrix Waterfall 選項卡中檢查 DNS 查找

網頁測試

使用 WebPageTest 測試站點的初始體驗與 GTmetrix 類似。 首先輸入您網站的網址:

WebPageTest 分析站點性能

報告完成後,從下拉菜單中導航到“詳細信息”視圖:

WebPageTest性能測試詳情查看

WebPageTest 的偉大之處在於它提供了請求詳細信息的快速概覽。 您還可以單擊“DNS 查找”列並按最高響應時間對其進行排序:

WebPageTest 請求詳細信息 DNS 查找列

這樣,您就會知道以最高優先級優化哪些資源。

說到優化,讓我們看看如何減少站點的 DNS 查找。

如何減少 WordPress 中的 DNS 查找

免責聲明:除了與插件相關的建議外,所有其他策略都可以應用於任何類型的網站,無論其構建在哪個平台上。

現在您了解了 DNS 的工作原理並設置了一些性能基準,讓我們繼續提出一些有關如何減少 DNS 查找的建議:

1. 轉向更快的 DNS 提供商

要減少 DNS 查找次數,您可以做的第一件事就是找到更快的 DNS 提供商。

大多數網站所有者依賴其域名註冊商提供的免費 DNS。 不幸的是,與虛擬主機選項類似,免費並不總是最好的。 花時間研究這個行業,你會發現有更快、更優化的供應商。

事實上,您可以使用 DNSPerf 來檢查提供商的速度:

DNSPerf 檢查提供商速度

Cloudflare、DigitalOcean 和 Bunny CDN 等大型提供商名列前茅也就不足為奇了。 它們都擁有專門為具有低延遲環境的 DNS 而設計的龐大基礎設施。

或者,如果您不想直接跳轉到新的提供商,您可以使用 DNS Speed Benchmark 查看當前提供商的性能。 只需輸入您的域名並查看其性能:

DNS 速度基準測試

然後,根據您的業務是在本地還是全球運營,您可以決定離開它。

2.減少主機名的數量

切換到更快更好的 DNS 提供商將不可避免地提高您的性能,但這不是最終的解決方案。 您將需要做一些額外的工作。

下一個優化技術是減少主機名的數量。

通過我們之前討論的一些測試工具運行您的網站。 遍歷觸發 DNS 查找的所有資源:

性能測試 DNS 查找列

審核列表並確定所有資源是否對您的網站都至關重要。 如果沒有,請刪除不需要的。 需要留下的資源可以:

  1. 合併。 與其將資源託管在多個子域中,不如將它們整合到一個域中。 這將減少主機名的數量,從而減少 DNS 查找的數量。
  2. 使用內容分發網絡 (CDN)。 CDN 可以通過服務器網絡為您的資源提供服務,從而最大限度地減少主機名的數量。 這樣,用戶無需從您的服務器請求資源,而是從最近的 CDN 服務器檢索資源。 這種方法可以減少延遲並提高網站速度。

或者你可以……

3.本地託管第三方資源

在本地託管第三方腳本允許您減少 DNS 查找,同時控制這些資源如何交付給您的訪問者。 此外,使用此技術,您可以定義特定資源的緩存時間。

要找出您的網站加載的所有第三方資源,請運行 PageSpeed Insights 測試並查找“減少第三方代碼的影響”警告。 單擊它時,將打開一個下拉列表,您可以看到所有資源:

Google PageSpeed Insights 報告減少第三方腳本警告

瀏覽網絡性能報告並確定適合本地託管的資產。 下載並將它們託管在您的源或 CDN 上。

我們要強調“適合本地託管”。

並非所有文件都應在本地託管。 例如,需要定期更新的第三方腳本不適合,因為您可能會面臨提供過時版本的風險。

然而,像 Google Analytics 這樣更新頻率較低的腳本非常適合這項工作。

4.利用DNS緩存

DNS 緩存類似於 Web 緩存的工作方式。 如果應用得當,DNS 緩存會阻止瀏覽器在每次需要特定站點元素時執行 DNS 查找。

DNS 服務器能否從其緩存中滿足瀏覽器的請求取決於 DNS 緩存長度。 緩存長度由他們所說的 TTL 或生存時間值決定。

資源的 TTL 值越高,瀏覽器執行 DNS 查找的可能性就越小。

可以通過域註冊商或第三方 DNS 提供商更改 TTL 值,以增加 DNS 緩存長度。 以下是一些常見的 TTL 值:

  • 300 秒 = 5 分鐘
  • 1800 秒 = 30 分鐘
  • 3600 秒 = 1 小時
  • 43200 秒 = 12 小時
  • 86400 秒 = 24 小時

5.設置DNS預取

DNS-prefetch是一種資源提示,告訴瀏覽器它應該如何處理特定的資源。 將它添加到您的一些文件將允許瀏覽器在用戶瀏覽頁面時在後台執行 DNS 查找。

因此,當用戶訪問具有預取資源的頁面時,他們不必等待 DNS 查找發生。 反過來,頁面會加載得更快,他們會有更好的體驗。

DNS 預取在行動

要添加dns-prefetch ,請將以下代碼添加到文件的標題中:

dns 預取代碼片段

不要忘記用正確的 URL 替換href值。

6.延遲加載JavaScript

JavaScript 文件被認為是渲染阻塞資源。 這意味著當瀏覽器遇到它們時,它必須先下載、解析和執行它們,然後再做任何其他事情。

渲染阻塞資源對加載體驗的影響

推遲 JavaScript 的加載不一定會減少 DNS 查找的次數。 但它會通過首先加載最關鍵的(首屏)資源並延遲非關鍵資源直到需要它們來提高您網站的感知性能。

要延遲加載您的 JS,請使用deferasync屬性。 您可以在此處閱讀有關它們的更多信息。

可以延遲加載的 JS 文件的一個很好的例子是 Google Analytics,因為它是一個在首屏中不需要的腳本。

無需編寫任何代碼即可延遲加載 JavaScript。 無風險獲取 NitroPack →

7. 避免使用會增加 DNS 查找的插件

通常,已知有幾種類型的 WordPress 插件會增加 DNS 查找次數:

  1. 社交媒體共享插件。 這些插件會向您的網站添加共享按鈕,但通常會從社交媒體網站加載額外的資源,這可能會導致額外的 DNS 查找。
  2. 廣告插件。 Google AdSense 或 Amazon Associates 等廣告插件從第三方網站加載外部腳本和資源。 這些資源可能需要額外的 DNS 查找來解析域名。
  3. 聯繫表單插件。 聯繫表單通常需要額外的 DNS 查找來加載腳本和資源,以顯示和處理表單提交。

當然,這並不意味著您應該刪除所有插件。 如果您缺乏轉換訪問者的正確工具,那麼快速的網站將一文不值。

添加新插件時要小心,因為有些插件可能具有重疊的功能。

此外,始終在實施前後進行測試,並且不要忘記定期審核您的網站以刪除不再為您服務的插件。

使用 NitroPack 減少 DNS 查找

這是交易:

切換到更快的 DNS 提供商、決定您應該在本地託管哪些資源以及實施 DNS 緩存是您應該自己或在託管提供商的幫助下執行的策略。

對於其他一切,您可以使用 NitroPack。

NitroPack 是一種 Web 性能優化解決方案,可為您提供超過 35 個開箱即用的功能。 在減少 DNS 查找方面,您可以依賴:

  1. Cloudflare 提供的內置 CDN
  2. 自動 JavaScript 延遲加載
  3. 代碼優化

此外,作為一個一體化解決方案意味著您可以輕鬆替換所有增加站點 DNS 查找(並減少發票)的速度優化插件。

但最好的部分是:

使用 NitroPack,您可以獲得一個完整的頁面速度優化套件,它將幫助您:

糟糕的 Google PSI 分數結果

對此:

出色的 Google PSI 性能得分

只需點擊一個按鈕!

在自動駕駛儀上使您的網站速度飛速增長。 無風險試用 NitroPack →