这是将Google跟踪代码管理器用于Gatsby的正确方法吗

时间:2018-12-10 18:40:24

标签: javascript reactjs google-tag-manager gatsby

我最初只是添加了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插件不能单独使用?

1 个答案:

答案 0 :(得分:0)

这是noscript标记,仅对不运行Javascript的用户显示。由于Gatsby是一个Javascript框架,没有Javascript的人将看不到您的网站,所以我有根据的猜测是,该插件的开发人员认为没有必要包含noscript标记(也是在没有Javascript的GTM中起作用的唯一标记/事件是自定义图片标签上的页面加载,因此拥有它们通常没有多大意义。

我不知道这与SEO有什么关系。我认为您不需要这个。