facebookのlikeボタンとGoogle Analyticsとieのいけない関係

先日、このサイトを軽くリニューアルしました。

そのリニューアル作業の中で、ソーシャルボタンを設置しなおしたのですが、それ以来Google Analyticsが挙動不審になりました。

具体的には以下のような現象です。

  • fb_xd_fragment というクエリー文字列付きのリクエストがやたら多い。
  • 訪問別ページ数が不自然に高い。
  • 一部のページだけが飛び抜けてページビュー数が高い。

など。

正しい対処方法

これらはどうやらfacebookのいいねボタンとGoogle Analytics とIEの組み合わせで起こるバグのようです。

http://seoblog.seosearch.biz/?eid=45

微妙な対処方法

なお、この件に関しては複数のブログで記事にされているようですが、対処方法に微妙に間違いがあるものがちらほらありました。

たとえば、以下のような感じ。

http://www.myu-zin.com/webridge/archives/687.html

このページに記載されている方法ではクエリー文字列を無視するだけなので、やたらページビュー数が高いページが出てきてしまいました。

Google app engineの覚え書き

今回は純粋に個人的な覚書です。

やりたいことは、twitterから送信される「フォローされましたよ」メールを受信して、フォローとお礼をかえすというもので、現状はCronを使用しているのだが、あまりにもtwitterのapiが頻繁にエラーを返すので、その対策としてアプローチを変えようと思った次第。

つまり、メールを受信してキックするようにすれば無駄なapiへのアクセスが減るのではないかと。。。

以下は、関連する情報のURLをだらだらとメモっているだけです。

twitterからのメールのメールヘッダ

How should my bot follow users that follow it or inspect direct messages?

By default, Twitter sends an email the first time a user follows you or sends you a direct message.  For your bot-building pleasure, we’ve added the following headers to those emails

  • X-TwitterEmailType - will be ‘is_following’ or ‘direct_message’
  • X-TwitterCreatedAt - ex: Thu Aug 07 15:17:15 -0700 2008
  • X-TwitterSenderScreenName - ex: ‘bob’
  • X-TwitterSenderName - ex: ‘Bob Smith’
  • X-TwitterSenderID - ex: 12345
  • X-TwitterRecipientScreenName - ex: ‘john’
  • X-TwitterRecipientName - ex: ‘John Doe’
  • X-TwitterRecipientID - ex: 67890
  • X-TwitterDirectMessageID - ex: 2346346

「ユーザーを保護するため、。。。」

あるサイトのSEO対策のために、80ページぐらいのサイトのグーグルのキャッシュを順番に確認していたら、以下のようなメッセージが表示された。

申し訳ありません…

…ご使用のコンピュータまたはネットワークから自動リクエストが送信されている可能性があります。ユーザーを保護するため、このリクエストをすぐに処理することはできません。

画像認証を入力しても、利用することはできないぞ。。。

ヘルプをみたら、一定時間が経過したら自動的に解消するようなので、深刻には考えないでおこう?

それにしても、この画面のGoogleのロゴはファンキーだな。

Googleのエラー

その後

結局、けっこう長い時間この画面のまんまでした。
12時間ぐらいかも?

ちなみに、IPに対してのブロックだったようでブラウザやPCを変えてもだめでしたね。

Google Appsのメーリングリストの仕様が変わったらしい

rootで受け取ったLogwatchのメールを.forwardでGoogle Apps上のメーリングリストに転送していたのですが、いつのまにやらgmailに届かなくなりました。

他のメールは届いているようだし、実際にmailコマンドで送ってもちゃんとくる。。。

2、3日考え込んだのですが、神の啓示が。。。(笑)

ためしに、直接各個人のメールアドレスに直接転送するように.forwardを修正すると届くようになりました。

めでたし、めでたし。

たしか、なんかのメーリングリストに転送メールを受け取らないみたいな設定ありましたね。そりゃそうか。

住所からGoogle MAPに変換する(JavaScript編)

このサイトでは、PHPのSmartyプラグインで、住所からGoogle MAPに変換するプラグインを作成して公開しています。

あちらこちらで宣伝させていただいたら、なかなか好評で、ちょっと自己満足に浸ってたのですが、よく考えたらこのプログラムって、やってることのほとんどはJavaScriptじゃんということに気がついてしまいました。

そういうわけで、JavaScriptのみで同様の機能を提供するクラスを作成したので公開します。

ダウンロード

このクラスを使用すると、以下のようにid属性にaddrが指定された要素内のテキストを住所と見なして、id属性がgmapの要素内にGoogle Mapを挿入します。

<div id="addr">東京都千代田区永田町1-7</div>
<div id="gmap"></div>

JavaScript側の記述は、<head>〜</head>内で、「Google Maps API」、「Google Ajax Search API」、「prototype.js」と、このクラスファイルを<script src=”…”></script>して、bodyの下の方に以下の記述を入れれば完了です。

<script type="text/javascript">//<![CDATA[
var gmap = new addr2gmap();
gmap.display();
//]]></script>

PHP+Smarty版と比較すると若干めんどくさいのですが、ほとんどの環境で手軽に利用できるのがメリットです。

先に紹介した、PHP+Smarty版も同じくですが、CMSなどの会社概要のページに地図を表示させたい際に手軽にGoogle MAPが利用可能なように作成していますので、あえて低機能です。

マッシュアップなんて大それた用途ではなく軽い感じで使いたいという方にご利用いただけると嬉しい限りです。

ライセンス

MITライセンスとします。
ただし、気に入っていただけた方からの寄付は歓迎します。

Google Apps用Gmailをデフォルトのメールソフトにする

Google Apps用のGmailをデフォルトメーラーにするためのメモです。

MacOSX Leopardの場合

Google Notifier for Macを使用する。

Windows用とは違い、Mac用はGoogle Apps版のGmailにも対応している。

もし、FirefoxでGoogleツールバーをインストールしている場合、Googleツールバーの「Gmailで送信」のチェックを外しておいた方が無難のような気がする

GoogleデスクトップのGmailのインデックス機能は正常に動作するので、インストールしておくとデスクトップからでもメールの検索ができるようになる。

Windowsの場合

以下は試していないので詳細は不明であるが、「Gmail Notifier for Windows」は、Google Apps版のGmailには、対応していなさそう。

http://www.google.com/support/a/bin/answer.py?hl=jp&answer;=56237

その代わりに以下のソフトを利用する。

gAttach

PHP、JavaSCript、Ajaxはシータネットワークスまで。