如何减少 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 →