Koki's personal blog

Koki's personal blog

Another fine, responsive site template by HTML5 UP.

Hugoサーバをローカルで起動している時のみGoogle Analyticsを無効にする

この記事では、Hugoサーバをローカルで起動している時のみGoogle Analyticsを無効にする方法を説明します。これによって、ローカルの確認によりAnalytics情報が汚れることがなくなります。

Koki

2 分で読めます

この記事では、Hugoサーバをローカルで起動している時のみGoogle Analyticsを無効にする方法を説明します。
これによって、ローカルの確認によりAnalytics情報が汚れることがなくなります。

この記事の内容です。

対象読者

  • Hugoブログ上で、本番環境でのみGoogle Analyticsを有効にしたい方

環境

  • Hugo (v0.94.2+extended linux/amd64 BuildDate=unknown)

前提条件

  • Hugoインストール済

localhost上でのみGoogle Analyticsを無効にする

1. Google Analyticsのテンプレートを読み込んでいる個所を把握する

まずは、Google Analyticsのテンプレートを読み込んでいる個所を探します。
自分の場合は layouts/partials/scripts.html が対象でしたが、お使いのテーマによって異なると思いますので、以下のようなコマンドを実行し、それぞれ探したほうがいいと思います。

grep '{{- template "_internal/google_analytics_async.html" . -}}' -rl .

2. localhost上ではGoogle Analyticsを読み込まないように変更する

次に、以下のように該当箇所を変更します。

{{- template "_internal/google_analytics_async.html" . -}}
{{ if .Site.IsServer }}
  <script type="text/javascript">
    console.info("Disable Google Analytics on Localhost");
  </script>
{{ else}}
  {{- template "_internal/google_analytics_async.html" . -}}
{{ end }}

今回は、ローカルでHugoサーバを起動している時にはコンソールにメッセージを表示するようにしました。
行っていることは簡単で、.Site.IsServer変数がサーバがローカルで起動しているかどうかのフラグを管理しているため、それを利用して条件分岐をしているだけです。

参考にしたページ

How to Exclude Google Analytics When Running Under Hugo Local Server

最近の投稿

カテゴリー