Astro Sarkara

Section 10

Googleアナリティクスを設置

Astro Sarkaraのレイアウト内にGoogleアナリティクスを設置する場合、Section 5『レイアウトに要素を注入する』で説明した機能、スロットを活用します。

Googleアナリティクスは<head>要素内の先頭に位置することが推奨されています。Astro Sarkaraレイアウトではtop-of-headのスロットで、<head>要素の最上位にコードを注入することが可能です。

---
import { SarkaraLayout } from "@cieloazul310/astro-sarkara";
import { menu, siteMetadata } from "../data";
---

<SarkaraLayout siteMetadata={siteMetadata} menu={menu}>
  <Fragment slot="top-of-head">
    <!-- Google tag (gtag.js) -->
    <script
      async
      src="https://www.googletagmanager.com/gtag/js?id={your_analytics_id}"
    ></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag() {
        window.dataLayer.push(arguments);
      }
      gtag("js", new Date());

      gtag("config", "{your_analytics_id}");
    </script>
  <Fragment/>
</SarkaraLayout>

Partytownを使う

Partytownはサードパーティースクリプトの処理をサービスワーカーに任せることで読み込み速度を爆速にしてくれるライブラリです。AstroにはPartytownを有効にするインテグレーションが提供されています。これをGoogleアナリティクスと組み合わせて使用することができます。

Partytown
partytown.builder.io
@astrojs/partytown
docs.astro.build
npm install @astrojs/partytown
// astro.config.ts
import { defineConfig } from "astro/config";
import partytown from "@astrojs/partytown";

export default defineConfig({
  integrations: [partytown()],
});
---
import { SarkaraLayout } from "@cieloazul310/astro-sarkara";
import { menu, siteMetadata } from "../data";
---

<SarkaraLayout siteMetadata={siteMetadata} menu={menu}>
  <Fragment slot="top-of-head">
    <!-- Google tag (gtag.js) -->
    <script
      type="text/partytown"
      src="https://www.googletagmanager.com/gtag/js?id={your_analytics_id}"></script>
    <script type="text/partytown">
      window.dataLayer = window.dataLayer || [];
      function gtag() {
        dataLayer.push(arguments);
      }
      gtag("js", new Date());

      gtag("config", "{your_analytics_id}");
    </script>
  <Fragment/>
</SarkaraLayout>

Section 10

Googleアナリティクスを設置

Tutorial Top Top

Astro Sarkara