如何減少 DNS 查找以加速 WordPress 站點
已發表: 2023-05-30域名系統 (DNS) 是網絡的基石之一。 如果沒有 DNS 查找,就不可能知道哪個域對應於哪個 IP 地址(網站文件的託管位置)。 事實上,這些查找可以在幾毫秒內完成,使您幾乎可以像單擊鏈接一樣快速地從一個網站跳到另一個網站。
減少 DNS 查找次數有助於控製網站加載時間。 這是一個簡單的過程,您可以通過多種方式進行,但它可以對用戶體驗產生重大的積極影響。
下面,我們將介紹 DNS 查找的基礎知識、它們的工作原理以及如何測量響應時間。 然後,我們將討論如何減少 WordPress 中的 DNS 查找。
什麼是 DNS 查找?
DNS 是一個分佈式系統,它維護著哪些域對應於哪些 IP 地址的記錄。 這對現代網絡至關重要,因為它使您無需記住複雜的數字字符串即可訪問網站(google.com 聽起來比 64.233.160.0 好多了!)。
DNS 查找是指將域名轉換為 IP 地址的過程。 當您在瀏覽器中輸入 URL 或單擊鏈接時,會在後台進行 DNS 查找。 瀏覽器向通常由您的互聯網服務提供商 (ISP) 託管的 DNS“解析器”發送請求。 解析器然後查看其本地緩存以查看它是否具有相應的記錄,如果沒有,它會聯繫 DNS 服務器。
所有這些過程都應該很快發生。 如果一個網站只需要一兩秒來加載,這意味著 DNS 查找只需要一小部分時間。 但是,在某些情況下,DNS 查找可能會花費過多的時間。 如果發生這種情況,您需要優化流程以避免網站加載時間過長。
什麼是好的 DNS 響應時間?
良好的 DNS 響應時間通常低於 100 毫秒 (ms)。 但是,響應時間可能因多種因素而異,包括:
- DNS 服務器的位置。 DNS 服務器距離越遠,查詢到達它所需的時間就越長。 返回您請求的信息所需的時間也是如此。
- 如果服務器負載很重。 如果 DNS 服務器同時收到大量請求,它可能需要更長的時間來響應請求,就像普通的站點託管服務器一樣。 這不是您可以通過優化網站來解決的問題,而是可以通過更改 DNS 提供商來解決。
- DNS 查詢的複雜程度。 並非所有 DNS 查詢的複雜性都相同。 如果一個 URL 有多個子域或多個與之關聯的 IP 地址,則 DNS 查找可能需要更長的時間。
一般來說,更快的 DNS 響應時間會導致更快的網站加載時間,因為 DNS 查找是連接到網站的第一步。 換句話說,緩慢的 DNS 響應時間會導致糟糕的用戶體驗。
如何測量 WordPress 上的 DNS 查找時間
有很多方法可以測量任何網站的 DNS 查找時間,包括使用 WordPress 構建的網站。 通常,測量這些時間的最簡單方法是使用第三方工具,其工作方式通常類似於頁面速度測量軟件。 一些受歡迎的選項包括:
- DNS 速度基準。 這是一款免費工具,可讓您測試全球多個位置的 DNS 查找時間。 只需輸入您要測試的域名,該工具就會以毫秒為單位顯示多個位置的 DNS 查找時間。
- 網絡工具。 此 DNS 檢查器使您能夠使用來自全球的服務器運行測試。 這是一個有用的選項,因為它為您提供平均 DNS 查找時間。
- 瀏覽器開發者工具。 大多數現代網絡瀏覽器都有開發人員工具,可讓您分析網絡性能,包括 DNS 查找時間。 例如,在 Chrome 中訪問開發人員工具很簡單。 只需右鍵單擊網頁並選擇檢查或按鍵盤上的F12 。 然後,導航到“網絡”選項卡並重新加載頁面以獲取結果。
重要的是要重申,根據原始查詢的來源,DNS 查找時間可能會有很大差異。 如果您的網絡託管服務器離您很近,您可能會從計算機上獲得驚人的查找時間。 但對於其他位置的用戶來說,這可能不是相同的體驗。
這種變化將永遠存在。 儘管如此,如果您在使用上述工具進行測試後發現 DNS 查找時間有很大差異,那是不正常的。 理想情況下,DNS 查找時間不應變化太大,如果變化太大,您可以優化它們以減少加載時間。
如何減少 WordPress 上的 DNS 查找時間
有很多方法可以減少 WordPress 上的 DNS 查找時間。 許多這些方法也將提高整體網站性能。 因此,如果您的網站加載緩慢,您可能希望盡可能多地實施這些策略。
1.安裝靠譜的CDN插件
由於 DNS 預取,使用高質量的內容分發網絡 (CDN) 可以幫助您縮短 DNS 查找時間。 這是一項優先 DNS 查找然後緩存該信息的功能。 由於服務器只需要檢查緩存中的 IP 地址,這個過程比運行常規 DNS 查找要快得多,至少對於最終用戶而言。
CDN 通常有許多服務器位於世界各地的不同地區。 這些服務器中的每一個都維護著一個緩存,其中包含經常訪問的域名及其對應的 IP 地址。
通過減少執行 DNS 查找所需的時間,CDN 可以提高網站性能和用戶體驗。 這樣,訪問者可以更快地訪問網頁,並且可以減少服務器的負載。
總的來說,除了減少 DNS 查找時間之外,還有很多使用 CDN 的原因。 因此,決定與其說是要不要,不如說是決定什麼是您網站的最佳選擇。
如果您使用的是 WordPress,Jetpack 提供了一種在您的網站上實施 CDN 的簡單方法。 事實上,CDN 可通過免費插件使用。 您可以通過選擇顯示Enable site accelerator 的選項從 Jetpack 的性能和速度設置中啟用它。

WordPress 有許多其他 CDN 選項可用,但安裝和激活它們可能有點複雜。
2.延遲加載JavaScript
通常,網頁需要在完全呈現之前加載所有 JavaScript。 由於 JavaScript 文件可能非常大,這會顯著影響加載時間。 因此,如果您試圖減少 DNS 查找並提高站點速度,您還可以推遲 JavaScript 的加載。 或者就此而言,任何可以延遲網站呈現的元素。
但在我們探索這個選項之前,了解本地和外部 JavaScript 文件之間的區別很重要。 本質上,延遲在服務器上加載 JavaScript 文件不會影響 DNS 查找時間。
這是因為對於這些本地文件,DNS 查找發生在頁面開始加載之前。 另一方面,您從站點調用的任何外部JavaScript 文件都涉及它們自己的 DNS 查找。
因此,這裡理想的解決方案是完全推遲 JavaScript,這樣即使是第三方文件也不會影響額外 DNS 查找的用戶體驗。
有幾種方法可以延遲 JavaScript 的加載。 Jetpack Boost 是一個很好的選擇,因為它使您能夠通過切換一個設置來延遲所有非必要文件。
如果您安裝了 Jetpack Boost,請轉到Jetpack → Boost並查找顯示Defer Non-Essential JavaScript 的選項。 只需啟用該選項,您應該會在屏幕頂部看到網站性能得分的立即提高。

請記住,手動延遲 JavaScript 涉及編輯您的站點代碼以將defer屬性添加到腳本標記。 因此,如果您不習慣處理代碼,那麼插件可能是最簡單的選擇。
3.啟用DNS預取
DNS 預取使服務器或瀏覽器能夠提前執行 DNS 查找並存儲或緩存該信息。 這樣,當訪問者嘗試訪問該網站時,可以更快地獲得信息。 這是因為查找發生在本地,而不是必須通過完整的傳統路由。
大多數現代網絡瀏覽器都在某種程度上使用 DNS 預取,但並非所有網站都會這樣。 對於您的網站,您需要 DNS 解析器或 CDN 來預取 DNS 查找結果。
因為您不能要求 DNS 解析器僅為您的站點預取結果。 您最好的選擇是關注事物的 CDN 方面。 使用 CDN(如 Jetpack 提供的 CDN)將使您能夠為您的站點啟用 DNS 預取。
正如我們提到的,CDN 可通過免費插件使用,您可以通過切換顯示Enable site accelerator的選項從 Jetpack 的性能和速度設置中啟用它。

還有一些其他插件提供 DNS 預取。 儘管如此,使用功能遠不止於此的工具可能會更好。 CDN 解決方案是一個很好的選擇,因為它還有助於提高網站的總體性能(由於服務器負載減少)。
4. 考慮使用更快的 DNS 提供商
使用不同的 DNS 提供商還可以幫助您減少 DNS 查找時間。 某些 DNS 提供商可能擁有更快、更可靠的服務器、更好的網絡連接或更先進的緩存技術。 所有這些都可以導致更快的 DNS 解析時間。
您的第一步是使用像 DNSPerf 這樣的工具,它會向您顯示最快和最可靠的 DNS 提供商列表。 決定使用新工具後,您需要在他們的平台上創建一個帳戶。 具體的轉移過程將取決於您當前使用的 DNS 提供商,以及您要切換到的提供商。

例如,Bluehost 概述了將域移動到其平台的三個步驟的過程:
- 準備您的域。 禁用任何隱私設置、確認聯繫信息、獲取授權碼等。
- 啟動傳輸。 這需要在您的 Bluehost 儀表板中進行一個相對簡單的過程。
- 從儀表板中檢查進度。
整個過程通常需要幾天時間。 重要的是,您還要使用新提供商更新任何適用的名稱服務器和 DNS 設置,以確保您的網站和任何其他服務(如電子郵件帳戶)正常工作。
5.盡量減少CNAME記錄的數量
CNAME(規範名稱)記錄是用於將一個域名映射到另一個域名的 DNS 記錄。 這些記錄可以幫助您為現有域名創建別名,例如網站的子域或備用域名。

當您嘗試訪問像blog.example.com這樣的網頁時,瀏覽器需要執行 DNS 查找來解析域名。 如果涉及 CNAME 記錄,瀏覽器需要遵循該鏈,直到它找到 A 名稱記錄。
這些是將實際域映射到其最終 IP 地址的記錄類型。 您為網站創建的 CNAME 記錄越多,查找鏈就越長,這意味著解析 DNS 所需的時間越長。
為了盡量減少 CNAME 記錄的數量,您可以盡可能多地依賴 A 記錄。 以下是幫助您實現這一目標的一些指南:
- 對根域使用 A 記錄。 配置域時,使用 A 記錄將根域映射到網站服務器的 IP 地址,而不是使用 CNAME 記錄。
- 對子域使用 CNAME 記錄。 對指向其他域名的子域使用 CNAME 記錄,例如 CDN 或第三方服務。 這可以簡化 DNS 管理,因為這些第三方服務可能會更改 IP 地址。
- 避免鏈接 CNAME 記錄。 如果您需要使用 CNAME 記錄,那很好。 但是,您應該避免使用 CNAME 記錄鏈,因為它們只會增加 DNS 查找時間。
- 明智地使用 TTL。 適當地設置 DNS 記錄的生存時間 (TTL) 值。 較長的 TTL 可以減少所需的 DNS 查找次數,但也會增加更新 DNS 記錄所需的時間。
更改所有這些設置涉及訪問您的域名註冊商或網絡託管服務商。 您用於註冊域的服務應該為您提供更改其相應記錄的選項。 如果您不確定如何操作,可以聯繫註冊商或網絡託管服務商尋求幫助。
6.減少外部主機名的數量
主機名是分配給網絡上的設備或服務的唯一標識符。 主機名用於使用域名系統 (DNS) 識別和定位網絡資源,例如網站、服務器和設備。
在您的網站上,有兩種類型的主機名,內部和外部。 內部主機名包括指向您站點上其他頁面的鏈接。 外部主機名是指指向您網站外部的頁面和資源的鏈接。
每次訪問者單擊外部鏈接時,都會涉及 DNS 查找。 這對您來說應該不是什麼大問題,因為您無法控制 DNS 查找其他站點所花費的時間。 您應該關心的是指向站點需要加載的外部文件的主機名。
這些文件可以是腳本、字體、跟踪像素以及您的站點依賴於關鍵功能的其他資源。 只要有可能,您的目標就是在本地託管這些文件以減少站點上的 DNS 查找。
在本文的前面,我們討論了將非關鍵 JavaScript 延遲到您網站上的頁面呈現為止。 該技術與通過在本地託管文件來減少主機名相結合,應該會對減少 DNS 查找和加載時間產生重大影響。
7.本地託管第三方資源
大多數現代網站嚴重依賴第三方資源。 這包括腳本、字體、嵌入式視頻、跟踪像素等。
所有這些工具都很有用,但它們都需要權衡取捨:您添加到網站的每個第三方資源都意味著用戶必須處理一個或多個額外的 DNS 查找。
解決這個問題的辦法不是取消第三方資源。 您要做的是盡可能在本地託管它們。 當涉及到字體等腳本和文件時,這是非常可行的,因為它們通常佔用的空間很小。
另一方面,視頻和跟踪像素更大更複雜。 追踪像素,就其本質而言,需要與 Meta 等第三方平台對接。 但是,您可以使用 Google 跟踪代碼管理器等工具一次加載它們,從而減少這種第三方連接的影響。 您甚至可以選擇將標籤推遲到頁面加載完畢。

此外,當涉及到視頻等頭重腳輕的資源時,將它們託管在本地會對服務器的資源和性能產生重大影響。 讓多個用戶從您的站點加載視頻比進行幾次 DNS 查找更能減慢速度。
要了解您的網站依賴哪些第三方資源,您可以使用 PageSpeed Insights 等工具。 當您使用 PageSpeed Insights 運行分析時,它會返回一個建議列表,說明您可以採取哪些措施來提高網站性能。 在這裡,您會找到一個條目,上面寫著減少第三方代碼的影響。

該列表將向您顯示哪些第三方腳本正在減慢您的網站速度。 這些腳本中的每一個都涉及 DNS 查找,因此您需要確定哪些可以在本地託管,哪些值得保留為外部。
8. 停用執行 DNS 查找的插件
某些 WordPress 插件(例如使用跟踪腳本的工具,如實時聊天和分析插件)可能會根據其功能和編碼方式執行 DNS 查找。 執行此操作的插件通常需要使用指向不同主機名的外部資源(如圖像、腳本或其他資產)。
要加載這些資源,插件可能需要執行 DNS 查找以將域名解析為 IP 地址。 同樣,一些 WordPress 插件可能會與外部服務交互,例如社交媒體平台或分析工具,這可能需要 DNS 查找來建立連接和檢索數據。
如果插件執行 DNS 查找,它可能會影響您網站的性能。 您可以通過使用 DNS 緩存技術以及選擇使用不嚴重依賴第三方資源的插件來最大限度地減少這種影響。
這樣做的問題是很難確定哪些插件執行 DNS 查找。 這涉及分析插件的代碼或在插件處於活動狀態時監視網站的網絡活動。 瀏覽器開發人員控制台、網絡分析工具或服務器日誌等工具可用於跟踪插件進行的 DNS 查詢和網絡連接。
另一種選擇是使用暫存站點進行測試。 您可以一個一個地停用插件,看看它是否會對您站點的 DNS 查找時間產生影響。 您可以在前面有關測量 DNS 查找時間的部分中找到有關如何執行此操作的說明。
有關減少 DNS 查找的常見問題解答
此時,您可能已經很好地了解 DNS 查找及其對站點速度的影響。 但是,以防萬一您有任何疑慮,我們現在將回答一些關於如何減少 WordPress 中的 DNS 查找的最常見問題!
為什麼減少 DNS 查找很重要?
瀏覽器為訪問網站而必須執行的 DNS 查找越多,加載所需的時間就越長。 加載時間長會對用戶體驗產生負面影響。
反過來,這會使您的網站效率降低,從而損害銷售和轉化率等方面。 因此,如果您希望您的網站表現良好,減少 DNS 查找是關鍵。
DNS 查找會影響用戶體驗嗎?
簡短的回答是肯定的。 如果 DNS 查找花費的時間太長,或者瀏覽器必須執行太多查找才能訪問您網站上的任何給定頁面,則會影響用戶體驗。
隨著 DNS 查找次數的增加,加載頁面所需的時間也會增加。 眾所周知,用戶在加載時間方面非常不耐煩,因此盡可能減少加載時間符合您的利益。
DNS 查找會影響 Core Web Vitals 嗎?
谷歌在衡量 Core Web Vitals 時會考慮很多因素。 當涉及首次輸入延遲 (FID) 和最大內容繪製 (LCP) 時,較長的 DNS 查找時間可能會導致更差的分數。
這種影響是由於在瀏覽器完成每個關聯的 DNS 查找之前頁面可能無法開始或完成加載。 因此,通過減少查找次數,您可能會提高網站的 Core Web Vitals 分數。 您可以使用 Jetpack Boost 等插件輕鬆優化網站的 Core Web Vitals。
我還能做些什麼來提高網站的性能?
有很多方法可以提高 WordPress 網站的性能。 努力改善您網站的核心網絡活力可能是一個很好的開始。 除此之外,您還可以使用 CDN、推遲非必要的腳本,並通過異地託管或延遲加載優化圖像。
減少 DNS 查找以提高您網站的性能
DNS 查找是網絡的核心方面。 如果沒有查找和 DNS 系統,我們將不得不記住冗長的 IP 地址,而不是用戶友好的域名。 但是在單個網站上進行過多的 DNS 查找會對您的網站性能和用戶體驗產生負面影響。
有很多方法可以減少 DNS 查找並加快 WordPress 網站的速度。 您可以使用的一些最佳方法包括使用 CDN 和延遲加載 JavaScript。 此外,您可以更改 DNS 提供商或盡量減少 CNAME 記錄和外部主機名。
您想減少加載時間、提高 Core Web Vitals 分數並提高 WordPress 網站的整體性能嗎? Jetpack Boost 可以在幾分鐘內提供幫助。 由 WordPress.com 背後的人構建,這是真正的 WordPress 專業人士的首選 WordPress 速度插件。