web-dev-qa-db-ja.com

Googleアナリティクス/タグマネージャーとgtag.jsを正しく埋め込む(WordPress内):それは問題ありません。頭の中で、またはそれはボディタグの後にある必要がありますか?

Google開発者ガイドは次のように述べています。

グローバルトラッキングスニペットをインストールするには、次のコードをコピーして貼り付けますタグの直後をサイトのすべてのページに貼り付けます。 GA_TRACKING_IDを、データの送信先となるGoogleアナリティクスプロパティのトラッキングIDに置き換えます。 1ページに必要なグローバルスニペットは1つだけです。

https://developers.google.com/analytics/devguides/collection/gtagjs/

HTMLを好きなように編集できる理想的な世界では、これはもちろん問題ではありません。多くのサイトで使用するプラグインを作成するとすぐに、問題が発生しますIS。 WordPressたとえば。各テーマはフックするためにwp_head()関数をサポートする必要があります。出力は各テーマの終了ヘッドタグの前です。同様にwp_footer()と呼ばれます閉じる本体の前タグ。

さて、Google Analyticsをヘッダーに終了タグの前だけで挿入すると、SEOに悪影響を与えるのではないかと思います。

私のコードは次のとおりです:

function add_google_gtag_analytics() {

    // tagmanager
    wp_register_script(
        'google-gtag', // handle name referred to in the "wp_enqueue_script" call below
        'https://www.googletagmanager.com/gtag/js?id=' . $tracking_id, // location of your file
        false, // no dependencies
        '1.0', // version number
        true // if true, the script is placed before the  end tag
    );

    // google analytics
    wp_register_script(
        'google-analytics', // handle name referred to in the "wp_enqueue_script" call below
        plugins_url('js/google_analytics', __FILE__), // location of your file
        ['google-gtag'], // no dependencies
        '1.0', // version number
        true // if true, the script is placed before the  end tag
    );

    // pass analytics id variable
    wp_localize_script('google-analytics', 'CIS_ANALYTICS_TRACKING_ID', $tracking_id);

    // Enqueue the registered script file
    wp_enqueue_script('google-gtag');
    wp_enqueue_script('google-analytics');
}

add_action('wp_enqueue_scripts', 'add_google_analytics', 100);

// ensure tag manager async
add_filter('script_loader_tag', 'cis_gtag_async', 10, 3);
function cis_gtag_async($tag, $handle, $src) {
    if ($handle !== 'google-gtag') {
        return $tag;
    }

    return "<script src='$src' async></script>";
}

priority of 1は、それがヘッダーに埋め込まれる最後のスクリプトであることを確認します(WPドキュメントのadd_action()を参照)。上記のコードの結果は基本的に:

<head>
<!-- lots of meta, scripts and style tags -->

    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.Push(arguments);}
      gtag('js', new Date());

      gtag('config', 'GA_TRACKING_ID');
    </script>
</head>
<body>

これが追跡やSEOに悪影響を与える可能性があるかどうか誰かが知っていますか?

1
Blackbam

理想的な位置はできるだけ高く、その理由は、すべての情報を収集するために、このスクリプト(GTM、Gtagなど)を最初にロードする必要があるためです。技術的には頭の中にあり、本来あるべきように機能するでしょう。心配すべきことは、0.001%の確率で、サイトがクラッシュするか、ユーザー側のすべてのスクリプトが読み込まれないことです。したがって、一般的にはかなり正確なトラッキングが得られます。

2
Filozof666