如何减少 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 的性能和速度设置中启用它。

Jetpack 的 CDN 设置

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 的选项。 只需启用该选项,您应该会在屏幕顶部看到网站性能得分的立即提高。

Jetpack Boost 网站速度得分

请记住,手动延迟 JavaScript 涉及编辑您的站点代码以将defer属性添加到脚本标记。 因此,如果您不习惯处理代码,那么插件可能是最简单的选择。

3.启用DNS预取

DNS 预取使服务器或浏览器能够提前执行 DNS 查找并存储或缓存该信息。 这样,当访问者尝试访问该网站时,可以更快地获得信息。 这是因为查找发生在本地,而不是必须通过完整的传统路由。

大多数现代网络浏览器都在某种程度上使用 DNS 预取,但并非所有网站都会这样。 对于您的网站,您需要 DNS 解析器或 CDN 来预取 DNS 查找结果。

因为您不能要求 DNS 解析器仅为您的站点预取结果。 您最好的选择是关注事物的 CDN 方面。 使用 CDN(如 Jetpack 提供的 CDN)将使您能够为您的站点启用 DNS 预取。

正如我们提到的,CDN 可通过免费插件使用,您可以通过切换显示Enable site accelerator的选项从 Jetpack 的性能和速度设置中启用它。

WordPress 中的 Jetpack CDN 设置

还有一些其他插件提供 DNS 预取。 尽管如此,使用功能远不止于此的工具可能会更好。 CDN 解决方案是一个很好的选择,因为它还有助于提高网站的总体性能(由于服务器负载减少)。

4. 考虑使用更快的 DNS 提供商

使用不同的 DNS 提供商还可以帮助您减少 DNS 查找时间。 某些 DNS 提供商可能拥有更快、更可靠的服务器、更好的网络连接或更先进的缓存技术。 所有这些都可以导致更快的 DNS 解析时间。

您的第一步是使用像 DNSPerf 这样的工具,它会向您显示最快和最可靠的 DNS 提供商列表。 决定使用新工具后,您需要在他们的平台上创建一个帐户。 具体的转移过程将取决于您当前使用的 DNS 提供商,以及您要切换到的提供商。

例如,Bluehost 概述了将域移动到其平台的三个步骤的过程:

  • 准备您的域。 禁用任何隐私设置、确认联系信息、获取授权码等。
  • 启动传输。 这需要在您的 Bluehost 仪表板中进行一个相对简单的过程。
  • 从仪表板中检查进度。

整个过程通常需要几天时间。 重要的是,您还要使用新提供商更新任何适用的名称服务器和 DNS 设置,以确保您的网站和任何其他服务(如电子邮件帐户)正常运行。

5.尽量减少CNAME记录的数量

CNAME(规范名称)记录是用于将一个域名映射到另一个域名的 DNS 记录。 这些记录可以帮助您为现有域名创建别名,例如网站的子域或备用域名。

更新 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 运行分析时,它会返回一个建议列表,说明您可以采取哪些措施来提高网站性能。 在这里,您会找到一个条目,上面写着减少第三方代码的影响

Google PageSpeed 的性能建议列表

该列表将向您显示哪些第三方脚本正在减慢您的网站速度。 这些脚本中的每一个都涉及 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 速度插件。