QA Heatmap Analyticsの負荷対策やプラグインの競合について

開発の丸山です。こんにちは。 今日は多くの人が気にされる データ容量大丈夫? プラグインの競合は? プラグインは重い?サイトの表示速度は遅くならない? の3つに対し、QA ヒートマップアナリティクスがとっている対策についてお話しします。 1.データ容量について GDPRなどプライバシー保護の問題から、GoogleアナリティクスやMS Clarityなどの外部サービスにアクセス解析データをためることが難しくなってきています。事実iPhoneなどのアップル製品では、ITPと呼ばれる仕組みでGoogleアナリティクスでのユーザー追跡をブロックしてしまいます。 上記の事情から、QAはデータオーナーシップを大切にしています。データは自社のものとして、皆さんのWordPressサーバーにファーストパーティデータを保存し、我々が閲覧することは不可能にしています。 しかしその事により、レンタルサーバーのデータ容量は大丈夫なの?と不安になる方もいらっしゃると思います。 これに対する直接のご回答は、今後のバージョンアップで、使用しているディスク容量について表示する予定です。ですので、より安心して使って頂けると思います。 ただ基本イメージとしてもって頂きたいのは、QAを使うことで問題は発生しないということです。なぜなら、QAは多くの人が利用する無料プランについて「絶対に問題が発生しないデータ容量にする」という考え方をしています。 具体的には、無料プランでは、アクセス数データは全ページ取得しますが、容量の大きいヒートマップや録画再生データについては初期1ページのみ取得できるようにし、保存期間も2ヶ月間にしています。 これにより、月間数十万PVがあるサイトでも、QAのデータ容量は最大で数百メガバイト程度になり、一般的なレンタルサーバーでも50GB以上のデータ容量があることから安心して使って頂けるようにしています。 ということで、データ容量については安心して頂ければと思います。有料プランはどうなるの?といったより詳しいことは、下記をご覧ください。 データ容量について(詳細) 前提:共用レンタルサーバーには2つの上限(ディスク容量とDB容量)がある 意識はされている方は少ないと思いますが、ほぼ全ての共用レンタルサーバーにはディスク容量とは別に、DB容量の上限があります。一般的にディスク容量の上限は数十GBから数百GBと大容量なのに対し、DB容量は1GBが上限、下手をすると500MBなどすごく少ないです。 万が一データ容量が溢れると何が発生するか?というのは各レンタルサーバーによって違いますが、多くの場合、「データが多すぎるので消してくれ」と警告が出ます。ただし、DBが上限を超えた場合、厳しい会社では警告と同時にサーバーが強制停止します。 したがって、QAの第一優先事項は「データ容量(特にDB)を絶対に溢れさせない」ということになっています。※厳密にはファイル数も上限があるのですが、複雑になってくるためここでは触れません。考慮済みであることだけお伝えしておきます。 QAのデータ容量に対する設計ポリシー 前述の事情から、QAはデータをDBとディスク(ファイル)に巧みに使い分けながら稼働します。具体的には、DBに保存する容量を少なくし、ディスク(ファイル)に保存する期間を長くしています。このことにより、データ容量の節約と有効活用、およびサーバーのスピードアップの一石二鳥を実現しています。 どんなデータを保存しているのか? 具体的には、QA ヒートアップアナリティクスは、MS クラリティ+Google アナリティクスの二つの膨大なデータを保持しているイメージに近いです。二つを保持するのでQA “Heatmap”+ “Analytics”といいます。 このうち、圧倒的にデータ容量が大きくなるのはHeatmapの方のデータです。そこで、なるべくHeatmapの方のデータを削減する工夫が求められます。 実はQAプラグインを導入する方で、一番多い目的は「今、何人の人が来ているか?」「1ヶ月で何人訪れたのか?」「サイトをどのように閲覧しているのか?」を手軽に知りたいというものです。これはGoogleアナリティクスと同じです。 そこで、私たちは、無料でお使いの方にはより使いやすいGoogleアナリティクスのような機能と、ヒートマップの一部機能を提供することにしました。一方、有料でお使いのプロレベルの方には、ヒートマップも全ページ取得できるようにして有料レベルのサポートサービスをつける、ということを行っています。 これが、QAが無料でもGAのようなレポートは出るけど、ヒートマップ計測が1ページだけになっている理由です。このことで容量を削減できるので、無料でお使い頂いている分には、サーバーのことは何も心配せず運用できるようにしています。 一方、よりビジネスユースや、プロの方は過去データも含め多くのデータが必要になって来ます。しかし、ビジネス畑の方全員がサーバーに詳しいわけではないので、全ページのデータをレンタルサーバーに保存することが不安な方もいらっしゃると思います。そこで有料プランの人には、サーバー環境事前調査など、よりきめ細やかなサポートサービスも用意しています。 このことにより、プロの方はよりブログ読者様も喜ぶコンテンツ作成ができるようになり、かつサポートが付きますので安心してQAをお使い頂くことができます。 そして有料プランをお使い頂くことにより、我々QAチームは開発原資を得ることができますので、どんどんバージョンアップもできます。これは三方よしのアイディアだと思っております。 2.プラグインの競合について よく「あるプラグインを入れたら、別のプラグインが動かなくなった」という話を聞かれると思います。この現象は一般的にプラグインの競合と言われています。 QA ヒートマップアナリティクスは、なるべく競合が発生しないように作成していますが、それでも以下のプラグインと同時に使う場合には問題が発生する場合があります。 1.表示速度UPのためのキャッシュ系のプラグイン(WP Fastest Cacheなど)2.全ファイルをチェックするセキュリティやバックアップ系のプラグイン 上記それぞれの原因と対策について詳しくはFAQに掲載していますのでご覧ください。 プラグイン競合の根本原因とQAがとっている対策 そもそも「なぜプラグインの競合が現象が発生するのか?」、また「既存プラグインや既存テンプレートと、高精度かつ膨大なデータをもつQAの相性が悪いことがあるのか?」というと、主には3つの原因があります。 WordPressの共通の関数(フックやフィルターと言います)を様々なプラグインが使い回すため JavaScriptやCSSなどのネーミング被りや、勝手にJavaScriptやCSSを書き換えてしまうプラグインがあるため QAほど高精度でデータを保存するプラグインは今迄存在せず、多くのプラグイン制作者の想像を超えているため この中で、1の共通関数については、なるべくQAでは使用しないことで競合を避けています。したがって、QAを入れた時に問題となるのは主に2と3です。 2については、まずQA側では必ず他と被らない名前をつけるようにしています。しかし、例えばJavaScriptを圧縮し勝手に書き換えてしまうようなキャッシュ系のプラグインについてはQA側では対策の打ちようがありません。従って、この対策は、キャッシュ系(書き換える側)のプラグインの設定を変更して頂く必要があります。 3については、多くのプラグイン製作者の想像外ということが問題になるケースがあります。特に下記2つのプラグインに気をつけてもらいたいです。 バックアップ系プラグイン … Continue reading QA Heatmap Analyticsの負荷対策やプラグインの競合について