Google Analytics · 1 min read · Jan 04, 2026
Google Analyticsを高速化する
Google Analyticsを高速化する
この方法では、crontabを使用してシェルスクリプトを実行し、24時間ごとに更新されたurchin.jsファイルをダウンロードして、ローカルサイトディレクトリに保存します。それだけです!
問題は、google-analytics.com/urchin.jsが世界中の数十億のウェブユーザーによって同時にリクエストされると、サイトのページが非常に遅く読み込まれることです。特に、WordPressや同様のCMSを使用している場合は特にそうです。
ローカルでurchin.jsをホストすることに関するGoogleの公式見解
crontabを設定するには、次のように入力します
crontab -eUnixスタイルのコマンドプロンプト(ssh)で、次を追加します:
11 12 * * * /home/user/websites/urch.sh >/dev/null 2>&1シェルスクリプトの例:
#!/bin/sh
rm /home/user/websites/askapache.com/z/j/urchin.js
cd /home/user/websites/askapache.com/z/j/
wget http://www.google-analytics.com/urchin.js
chmod 644 /home/user/websites/askapache.com/z/j/urchin.js
cd ${OLDPWD}
exit 0;ローカルでurchin.jsをホストすることで達成できる2つの大きなことがあります:
- 持続的接続を有効にします
- ファイル全体を予約するのではなく、正しい304 Not Modifiedヘッダーがサイト訪問者に返されることを保証します。
リモートホストされたurchin.jsの問題の1つは、urchin.jsファイルが提供されるサーバーが持続的接続を許可していないことです。
もう1つの大きな理由は、google-analyticsがurchin.jsを提供する際にCache-Controlヘッダーが正しく設定されているにもかかわらず、If-Modified-Sinceヘッダーに正しく304 Not Modifiedヘッダーで応答するのではなく、ファイルが変更されていないことを示すために、google-analyticsが再度全体のurchin.jsファイルを返すため、キャッシュ制御が無効になります。
この問題はwiresharkキャプチャで明確に見ることができます。
GET /urchin.js HTTP/1.1
Accept: */*
Referer: http://www.askapache.com
Accept-Language: en-us
UA-CPU: x86
Accept-Encoding: gzip, deflate
If-Modified-Since: Tue, 20 Mar 2007 22:49:11 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SU 2.011; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Alexa Toolbar; .NET CLR 3.0.04506.30)
Host: www.google-analytics.com
Connection: Keep-AliveHTTP/1.1 200 OK
Cache-Control: max-age=604800, public
Content-Type: text/javascript
Last-Modified: Tue, 20 Mar 2007 22:54:02 GMT
Content-Encoding: gzip
Server: ucfe
Content-Length: 5675
Date: Sat, 24 Mar 2007 18:23:12 GMT注意: 最適な結果を得るためには、サーバーにキャッシングスキームが必要です。
かなり素晴らしいオーバーキルです!
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。