事实上,网站所有者很少会设置分析功能然后就完事了。
Google Tag Manager 和 Google AdSense 是在线企业的热门工具,他们希望跟踪特定事件并在其网站上投放广告,以便从流入流量中获取额外收入。
虽然 Google Analytics 本身并不是性能问题的根源,但 NitroPack 的工程师始终会
进行深入分析以找出真正的罪魁祸首。
使用我们之前使用kiteworks.com的示例,我们看到,在与主页交互时,会触发来自标签管理器的一系 股东数据库 列额外事件标签(gtm.js)。
而且有很多额外的 gtm.js 标签,因此 HTTP 请求数量过多。
由于 Google Analytics 代码会先于其他所有代码加载,因此当您的网站有大量事件标签时,您可以预期 GA 代码 Overflow 客户服务平台 会调用所有其他 gtm.js,从而导致加载延迟和指标结果恶化,例如:
- 最大的内容绘画
- 总阻塞时间
- 首次内容绘制 (FCP)
在你的 PSI 报告中,这样的字符串将被“减少未使用的 JavaScript”警告标记:
如果你的 Google Tag Manager 看起来与此类似,那么现在是时候清理和重新组织了:
修复 Google Tag Manager 导致的“减少未使用的 JavaScript”
您的第一步是使用async或defer属性延迟第三方脚本,并让它们在后台加载。这些属性本质上将脚本变为非阻塞的,并减少了第三方代码的整体影响。
虽然相似,但这些属性具有重要区别:
- 具有defer属性的脚本会保持其相对顺序。浏览器不会等待它们呈现页面,而是按顺序执行它们。例如,我们有两个脚本(脚本 1 和脚本 2),顺序如下。如果我们延迟这两个脚本,浏览器将始终先执行脚本 1,即使脚本 2 先下载。
- 具有async属性的脚 AU 手机号码 本是完全独立的,哪个先加载,就先执行哪个。
Gtm 标签默认是异步加载的,但是当有这么多标签时,就好像您有两个很长的请求队列——即使它们正在通过,它们一次只能通过一个,并且不可避免地必须等待轮到它们。
通过首先优化 Google Tag Manager 事件的数量,然后推迟它们,您可以确保初始加载不会遭受不必要的延迟。
使用 NitroPack 减少未使用的 JavaScript 并优化您网站的所有资源 →
Google AdSense 的风险与权衡
当网站所有者在网页上以各种格式设置专用广告单元时,Google AdSense 会为每个广告单元提供代码片段(HTML/JavaScript),并将其粘贴到应显示广告的网站页面的 HTML 中。
当用户访问包含 AdSense 广告代码的网页时,浏览器会执行 AdSense 提供的 JavaScript 代码,从而根据展示次数为网站所有者创造收入。
不幸的是,由于其渲染阻止特性,AdSense 广告可能会影响网站性能(特别是 LCP 和 CLS 等 Web Vitals)。
使用 NitroPack,网站所有者可以选择“优化广告”,这将延迟 JS 直到用户交互。但由于 AdSense 基于展示,这可能会导致一些广告收入损失。
在这种情况下,您应该根据受众的行为来决定什么对您的业务更有利:
1)优化性能,带来更好的浏览体验
或者
2)产生尽可能多的广告收入,但最终由于网站行为不稳定而失去流量。
常问问题
自托管 Google Analytics 值得吗?
虽然有些网站所有者考虑自行托管 Google Analytics 跟踪以获得最佳核心网络指标,但几乎没有必要这样做。与依赖 Google 的基础架构相比,这不会增加复杂性、成本和潜在限制,而是专注于优化 Google Tag Manager 事件以满足核心网络指标标准。