サブドメインとCloudflare Web Analytics

無料で使わせていただいているので文句は言えないけど… / 2022-11-18T00:00:00.000Z

何回か書かせていただいていますが、このサイトはCloudflare Pagesでホストされています。Cloudflareを使用している人類は無料で「Cloudflare Web Analytics」というサービスが無料でセットアップを行うことが可能です。名前の通りリファラやエージェントなどからこのサイトへアクセスしてきた人類の情報を知ることが出来ます。

Cloudflareに独自ドメインを登録していれば自動セットアップをすることが可能なので極めて便利な形で使用することが出来るのですが、サブドメインを運用しようとすると若干面倒になることを知ってしまいました。今回はその面倒なことと回避方法について書いておきたいと思います。

結論

  1. サブドメインにも勝手につく自動セットアップ
  2. 手動でスクリプト貼り付けで対処可能

Web Analytics

このサイトはNuxt/Contentをベースとした「Miller」というお手製ソフトで構築されているのですが、きちんとインターネットの皆様へお見せできるようなコードではないのでリファクタリングをゆっくりと行っています。リファクタリングの過程でMillerとしてのサイトがあったほうがいいのではないかという気持ちが芽生えてきたので、サブドメインを生やしてそこで公開すると費用を節約できるので幸せではないかと考えました。

これの下調べを行ったところ別にそこまで難しくないことは分かったのですが、Cloudflare Web Analyticsの挙動に少し面倒そうな所を見つけました。Web Analyticsは「自動セットアップ」という形で送信される際にCloudflareサイドにおいて自動的にスクリプトが追加されているのですが、設定画面の雰囲気からもしexample.comにWeb Analyticsが設定されていたのならばsub.example.comにも自動的にスクリプトが追加されるのではないかと感じたのです。

私は偉いので公式が出しているドキュメントを調べると、公式FAQには以下のように書いてありました。

For the same site, why would I see more data reported with an automatic setup?

Unless you are using Rules to control which pages to be measured, using automatic setup will inject the JS snippet on all pages (sub-domains) under the zone.

If you used a manual setup instead, only those pages that render the JS snippet will be reported.

というわけで「automatic setup will inject the JS snippet on all pages (sub-domains) under the zone」とあるように私の予想は的中しました。

サブドメインへ渡しません!

自動で下位のサブドメインに付くのはいいのですが、ブログの統計とソフトの統計を同じ画面で見るメリットはほとんど皆無であるといわざるを得ず、却ってそれぞれの分析の障害になる未来しか見えません。そのため今すぐに問題になっているわけではないのですが念のため回避方法を探しておきましょう。

といっても具体的な方法は先程引用させていただいたFAQに載っています。マニュアルでセットアップすればこうした問題は発生しないと書いてありますね。つまりWeb Analyticsの対象にしたいページだけにスクリプトを追加すればいいという話です。

このサイトはNuxt Contentをベースに作られているので、Nuxtのnuxt.config.jsであったりlayout/default.vueであったりで、Cloudflareから渡されるビーコンとしてのJavaScriptリンクを読み込ませるようにすれば便利ということでしょう。他のフレームワークにおいても対象としたいページの全て/大半が読み込むような場所に設置しておくと管理が楽になるのではないかと思っています。実際に検証したわけではありませんが参考になれば幸いです。

最後に

睡眠時間を確保するために稀に生まれるメモを記事に仕立てることによって錬成された記事です。運搬作用に限らず堆積システム関連の記事は手を抜けないので、そうではない記事との落差が激しくなってしまうという悲しみが存在します。悲しいです。

Writer

Osumi Akari