記事を公開する前にhugo serveで確認していると、GoogleAnalyticsのページビューがガンガン増えていってしまう。

自分で自分のブログのアクセス数を稼ぐのは虚しいので、テスト用にサーバーを実行している間はGoogleAnalyticsはオフにしておきたい。

設定

下のサイトを参考に設定してみました。

How to Exclude Google Analytics When Running Under Hugo Local Server - support - Hugo Discussion

仕組みとしては、環境変数にHUGO_ENV=productionが設定されているときだけ、GoogleAnalyticsのコードを埋め込むようにする。

{{ if eq (getenv "HUGO_ENV") "production" }}
        {{ template "_internal/google_analytics_async.html" . }}
{{ end }}

Hugoのレイアウトhtmlはthemeフォルダの中に入っているはずなので、使用しているテーマのファイルの中からGoogleAnalyticsを埋め込んでいる箇所を見つける。

このブログで使っているEvenというテーマではpartials/scripts.htmlの中にありました。

見つけたら上のコードのように、HUGO_ENVが設定されているときだけ、埋め込まれるように編集する。

実行

確認用のサーバーを起動するときは、普通にそのまま実行する。

$ hugo serve       # GAのコードは埋め込まれない

実際に公開するときのhtmlを生成するときは、環境変数を設定して実行する。

$ HUGO_ENV=production hugo

これでGoogleAnalyticsのコードを埋め込むかどうかを切り替えれます。