try another color:
try another fontsize: 60% 70% 80% 90%
INK-i ラボ
INK-i ラボでは様々なWebサービスを公開しています

開発全般

yahooモバイルの携帯検索が役に立つ

すでに当たり前の情報かもしれませんが、とっても役に立っているので紹介します。

YahooのPCサイトからもYahooモバイルのページへいけます。いけるといってもYahooモバイルの紹介ページに行くだけですが。

そのページにある携帯検索がとっても役に立ちます。

yahoo携帯検索yahoo携帯検索

この携帯検索はパソコンで見ているYahooモバイルのページだけで携帯で見ることができる各検索エンジンの検索結果を調べることができるのです。

しかもSoftBankだけでなくDocomoやauの携帯で検索した結果まで調べることができます。

たとえば「アマゾントレンド」(私の運用しているサイト)で検索すると
こんな感じになります。

yahoo携帯検索docomoyahoo携帯検索docomo

yahoo携帯検索auyahoo携帯検索au

Googlebot-Mobileに対応するためにjpmobileに手を入れました

携帯向けのサイト作成にはrailsとjpmobileを使っています。

jpmobileは携帯サイト開発にはなくてはならないライブラリで便利に使わせてもらっています。

ただ、携帯でセッションを対応させるためにtrans_sidを有効にしてURLにセッションIDを付加させるやり方だと、googleのクローラーがこのセッションIDもそのままインデックスに登録していしまいます。

jpmobileの作りではau、softbank携帯からのアクセスの場合、セッションIDのURLへの付加は行わずPCからのアクセス同様にCookieでセッション管理をします。

docomoの場合はCookieに対応していないので上記のセッションIDをURLに付加します。

このdocomoの場合の処理がgoogleのクローラーに不都合なのです。

googleのクローラーは現状ではdocomoの携帯端末に成りすましてアクセスするためにURLに必ずセッションIDが付いてしまうわけです。

実現したかったことはgoogleのクローラーの場合、セッション管理はしないようにしたかったわけです。googleで色々検索したのですがなかなかうまい対処を発見することができなかったのでjpmobileのソースに手を入れてしまいました。本当はしたくなかったのですが・・・

内容は単純でdocomoの場合、Cookieに対応しているか返すメソッドsupports_cookie?が必ずfalseを返すようになっていたのでUser Agent にGooglebot-Mobileが含まれていたらtrueを返すようにしてしまいました。(docomo.rbのsupports_cookie?メソッドです)

とってもお気楽な対応をしてしまったのですがとりあえず動いているようです。

これじゃまずいよとか、もっといい方法があるよという方はお知らせいただければ助かります。

うちは裸のPCサーバーでWebサービスを公開しています

AntecのオープンエアPCケース SKELTON 国内販売という記事でこんなケースが発売されるを知りました。

実はこのサイトで公開しているWebサービスの大半は自宅に置いてある同じような裸のサーバーです。

お金がないのでケースは100円ショップでそろえることができるケースです。 これでこの夏を乗り越えたので熱対策も少なからず効果があったのではないでしょうか。(写真汚くてすいません)

PCPC

ちなみにスペックは

  • CPUはCore 2 Quad Q6600
  • メモリは8GB
  • HDDは160GB
  • OSはCentOS
こんな感じです。

apache mongrel rails 設定備忘録

apacheとmongrelクラスタの設定ではまったので自分用に備忘録

現在のサーバーはapache+バランサー、rails、mongrelクラスターを使って稼働させています。

携帯サイト、特にドコモのCSSに対応させる前は特に設定に気をつけていたわけではなく、ネットで見つけた設定をそのまままねていました。

しかし、最近ドコモのCSS対応したサイトを作るようになり設定を見直す必要が出てきました。

というか、もともと非効率な設定で稼働させていたようです。

問題点

今回発覚した問題は、railsのキャッシュ機能で作成された携帯向けhtmlを再表示させるとドコモではCSSが認識されないっといった現象でした。
要するにドコモの携帯でCSSを認識させるにはContent-Typeがapplication/xhtml+xmlでなくてはならないのですが、キャッシュされているページを返す時はtext/htmlになってしまっていたわけです。
それならばと、携帯向けページがキャッシュされるディレクトリに.htaccessファイルを作り強制的に全てのhtmlをxhtmlで返すように設定したのですが、全く.htaccessの設定が有効にならない。

原因

コンテンツ配信