上面的例子中,我们可以看到受影响的元素是 1076,这自动意味着该站点具有更大的 DOM。
大多数情况下,较长的任务和 INP 问题是由以下原因造成的:
- 过多 JavaScript
- DOM 太大
- CSS 选择器过于复杂
- 不利用网络平台
- 代码写得不好
- 不让步于主线程的代码
2. 减少大型 DOM 大小
DOM 是一种文档 融合数据库 模型,将 HTML 表示为 分支和节点组成的树。
树的每个分支都以一个节点结束,每个节点都包含对象。节点代表文档的一部分,如元素、文本字符串或注释。
DOM 过大是导致 INP 评估 允许批发商提前预订产品并跟踪转移 失败的必然原因。因此,为了确保不会发生这种情况,您需要减小 DOM 大小,或者换句话说,您需要减小 DOM 深度。
将 DOM 深度设为 1,400 个节点以下,并考虑以下策略来实现它:
- 选择编码良好的插件和主题
- 限制基于 JavaScript 的 DOM 节点
- 选择替代会产生过多 HTML 的页面构建器
- 不要直接将文本复制/粘贴到所见即所得编辑器中
- 考虑将单页网站拆分为多个页面
- 使用display:none选择不隐藏元素
- 简化 CSS 声明和 JavaScript 使用
遵循这些技术可确保更精 B2B 传真线索 简、更高效的 DOM 大小,从而增强您网站的 INP 性能。
3. 应用 HTML 延迟加载
HTML 中的延迟加载是指通过仅在需要时加载而不是在页面加载时一次性加载所有内容来优化在线内容。
NitroPack 的 HTML 延迟加载功能会从 HTML 缓存中删除预定义的 CSS DOM 选择器。然后,当用户滚动页面时,它会在后台以片段的形式异步加载它们。
在提高页面响应能力方面,应用 HTML 延迟加载有其诸多好处:
- 降低初始负载。延迟加载减少了首次访问页面时需要加载的数据量。
- 更少的请求。它减少了初始页面加载期间的 HTTP 请求数量,释放带宽并减少服务器负载。
- 减少工作量。浏览器的主线程在初始加载期间要做的工作较少(需要解码和渲染的图像较少)。
- 流畅的交互。工作量减少后,主线程可以将更多资源用于处理滚动和点击等用户交互,从而带来更流畅的用户体验。
单击按钮即可应用延迟加载。立即安装 NitroPack →
4.减少未使用的CSS
CSS 文件被视为阻止渲染的资源,因为当浏览器遇到它们时,它无法处理任何其他任务,直到处理完它们为止。
换句话说,加载大型 CSS 文件将不可避免地阻塞主线程并对页面的响应能力产生负面影响。
优化 INP 分数和响应能力的一种方法是消除未使用的 CSS。
未使用的CSS是指当前页面中未使用的CSS规则。
有大量在线工具可以帮您删除未使用的 CSS。
或者您可以使用NitroPack等自动化解决方案,它可以为您完成此操作。我们的RUCSS功能通过查找页面上未使用的 CSS 规则并将其删除来发挥作用。
无需手动调整代码;一切都自动发生。
无论您决定如何处理 CSS,应用所有提到的技术必然会帮助您优化 INP 和响应能力。
回到我们的例子——在优化之前,该网站的 DOM 大小很大,受影响的元素超过 1000 个。
优化后,我们设法将受影响的元素数量减少到 68 个:
自动减少未使用的 CSS。免费开始使用 NitroPack →
与 Next Paint 互动常见问题解答
如果导致问题的代码不受我控制,我该怎么办?
您可以做的第一件事是联系提供代码的供应商,看看他们是否愿意合作修复该问题。如果不可能,请考虑完全删除第三方插件/服务并将其替换为优化的替代方案。
如果我的交互需要长时间运行(例如上传或处理视频)怎么办?我需要在 200 毫秒内完成吗?
简短的回答是“不”。正如网络研讨会中提到的,INP 测量的是从交互到下一次绘制的时间,而不是整个交互的时间。这里最好的选择是可视化加载栏或一些动画,以向用户发出信号,表明他们的交互已注册并且正在处理中。
INP 吗?
正如 Barry Pollard 在网络研讨会上强调的那样,任何能向用户表明浏览器正在处理其交互的行为都已经足够好了。这正是 Google 希望网站所有者、开发人员和网站管理员对其网站所做的,因为这可以为用户提供即时反馈和更好的体验。
有没有一种最佳方式可以让视频出现在您的页面上,同时又不会降低您的 INP?
最好的方法是使用插件,该插件允许您使用外观模式嵌入视频。这样,您无需加载视频,只需加载缩略图版本,用户必须单击它才能进行交互。或者,如果您决定自行托管视频,利用内容交付网络 (CDN) 是加快数据传输过程的好方法。
Lighthouse 扩展上线后会添加 INP 吗?还是会通过其他指标来代理,就像 FID 目前通过 TBT 代理一样?
与首次输入延迟类似,INP 将由 TBT 代理。总阻塞时间测量主线程被阻塞的时间,与 INP 直接相关。
延迟加载脚本已成为一种常用方法,尤其是在 WordPress 中。如果在用户交互后加载大量脚本,这是否会减慢 INP 的速度?
一般来说,在用户首次进入页面时卸载不立即需要的脚本是一种很好的做法。但您需要小心谨慎,只在加载完成之前进行延迟加载。尽量不要将脚本推迟到用户开始与页面交互时,因为这可能会对您的 INP 分数和