从 GTM 脚本中减少未使用的 JavaScript
Posted
技术标签:
【中文标题】从 GTM 脚本中减少未使用的 JavaScript【英文标题】:Reduce unused JavaScript from GTM script 【发布时间】:2021-11-25 16:34:01 【问题描述】:如Google Tag Manager docs 中所述,我将 GTM javascript 包含在我的 Next.js 网站的 <head>
标记中,如下所示:
// pages/_app.js
return (
<>
<Head>
<script dangerouslySetInnerhtml= __html: `(function(w,d,s,l,i)w[l]=w[l]||[];w[l].push('gtm.start':
new Date().getTime(),event:'gtm.js');var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
)(window,document,'script','dataLayer','GTM-xxxxxx');` ></script>
</Head>
...
这样做会在 Google PageSpeed Insights 上发出警告:
有什么建议吗?
【问题讨论】:
【参考方案1】:可以使用 wp Rocket 解决渲染阻塞问题。因为它有这个选项来消除这些阻塞。
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:您应该牢记,Google 页面速度分析非常通用。它们不是世界上最后一个真实的例子。虽然它对很多网站都很有用,但它旨在让您深入了解它计算出的可能有用的东西。相当通用的计算。
是的,Google 灯塔往往不赞成 TMS。也许是因为他们倾向于覆盖一些本机方法,也许是因为 TMses 在其中有评估,也许是由于他们在初始化时立即部署的事件侦听器的数量。如果要查看 TMS 性能,可以将空 GTM 容器与实际容器的性能结果进行比较。如果这种差异是真实且显着的,那么也许是时候开始优化 GTM 逻辑了。
【讨论】:
以上是关于从 GTM 脚本中减少未使用的 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章
GTM 中的错误:此语言功能仅支持 ECMASCRIPT_2015 或更好的模式:const 声明
解析 xhr.responseText | GTM 数据层推送