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