月別アーカイブ
検索

世の中猫も杓子もスマートフォンのような風潮ですが、アクセス解析を見るかぎりではまだまだ携帯電話(いわゆるガラケー)が圧倒的に優勢です。

当然、サイトを作る際にも携帯電話を無視するわけにはいかないので、携帯用にもページを作ります。

HTTPリクエストの UserAgent を見て PC 用のページと 携帯用のページを切り替えるようにしているのですが・・・。

困ったこと

困ったことがいくつか出てきました。まずは、今回のケースでやりたいことを書いておきます。

  • 携帯電話専用ページにしたいので、PCからアクセスがあったら QRコードのページへリダイレクトする。
  • 携帯電話からのアクセスだったら、コンテンツを表示する。
  • 検索エンジンからも利用者を誘導する。

これらのために、携帯 or PC での振り分け、QRコード作成&リダイレクト、検索エンジンへの登録、を行ないました。

PCでアクセスすると、期待通りQRコードのページへとリダイレクトされ、そのQRを使って携帯電話で目的のページにアクセスできました。

携帯電話で、URLを入れてアクセスすると、これも期待通り目的のページが表示されました。

ところが、検索すると思った通りになりません。

まず、検索結果の中身が、リダイレクト先(QRコード表示用ページ)になっていました。これでは中身に何を書いても検索キーワードに反映されません。

また、検索結果をクリックすると、Google や Yahoo が(勝手に)携帯電話用に変換してしまう。ずっと下の方にある「ページを直接表示する」で、目的のページを表示できるものの、そんなことをしてくれる一般ユーザはまずいないだろう。

問題点

1つ目の問題点は「検索エンジンが(目的のページではなく)リダイレクト先のページをクロールしている」こと。

2つ目は「元々携帯電話用に作ったページなのに、GoogleやYahooが携帯電話ように変換してしまう」こと。

これは携帯用のページだ!

2つ目はわりとあっさりと解決。Google に説明があったので、コレの通りにしました。

この指定は(同じエンジンを使っているから当然ですが)Yahooにも効果がありました。

リダイレクト前の内容をクロールしろ!

ページのリダイレクトに、meta タグの redirect 要素を使っていたのですが、どうやら検索エンジンはこの要素をたどってくれるらしい。

ほとんどの場合はその方が好都合なのですが、今回のケースでは余計なお世話。

そこで、どうやら「検索エンジンはJavaScriptを無視する」らしいことを利用して、JavaScript( location.href ) でリダイレクトするようにしました。

解決

以上の対策で、目的が達成できました。

関係ありそうな記事

コメント