我最初只是添加了Gatsby谷歌标签管理器插件,并将GTM-XXXX添加到了我的配置中。但是我的SEO家伙说他希望
的正文中包含此代码
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
所以我将默认的html.js复制到src中,如下所示:$ cp .cache/default-html.js src/html.js
,然后将该jsx放置在html.js中
<body {...this.props.bodyAttributes}>
{this.props.preBodyComponents}
<div
key={`body`}
id="___gatsby"
dangerouslySetInnerHTML={{ __html: this.props.body }}
/>
{/* Google Tag Manager (noscript) */}
<noscript>
<iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-XXXX"
height="0"
width="0"
style={{ display: 'none', visibility: 'hidden' }}
/>
</noscript>
{/* End Google Tag Manager (noscript) */}
{this.props.postBodyComponents}
</body>
我的SEO家伙告诉我这样做正确吗?为什么Google Tag Gatsby插件不能单独使用?
答案 0 :(得分:0)
这是noscript标记,仅对不运行Javascript的用户显示。由于Gatsby是一个Javascript框架,没有Javascript的人将看不到您的网站,所以我有根据的猜测是,该插件的开发人员认为没有必要包含noscript标记(也是在没有Javascript的GTM中起作用的唯一标记/事件是自定义图片标签上的页面加载,因此拥有它们通常没有多大意义。
我不知道这与SEO有什么关系。我认为您不需要这个。