前のエントリーでiPhone対応サイト作成用のフレームワークをいくつか紹介しました。が…。
Sencha Touchなどは、大変に高機能なので是非使ってみたいと思っていたのだが、ソースを見ると、Sencha Touchで作るサイトは、いわゆる静的なHTMLの構造をしておらず、body以下すべての要素をJavaScriptで動的に生成するしくみである。
…これって、もし、これでサイトを作った場合、クローラーにはまったくコンテンツが見えない為、SEO的には非常にダメなんじゃないだろうか。
それとも昨今のクローラーは高度なJavaScriptの実行結果を理解できるのか??いや、原理的に相当難しいと思う。
Sencha Touch等が動的にコンテンツを生成する理由としては、統一されたIUの提供や、ページ遷移をスムーズにしたり、履歴管理をしたりなんだろうけど、静的なHTMLを参照できないのはSEO的に厳しいのじゃないかな?な?
これらフレームワークの考え方として、iPhone用サイトは、今までのようにページ毎にステートレスなページの集まりという考えではなく、サイトで1単位の疑似アプリとして考えたほうがよいかもしれない。(Sencha Touchの場合は、JavaScriptですべて処理するため、一度読み込めばあとはブラウザ側の処理となるため、ページ切替でもHTTP遷移が無く、スムーズに閲覧できるのはスバラシイと思う)
なので、PCサイトが前提として存在し、ちゃんとSEO対策も行っていて、インデックスされているサイトにおいて、iPhone( or Android)に特化したサイト(UserAgentにて分岐?)であれば、非常に有用だと思う。
PCサイトも無く、iPhone単独にサイトを作ってしまうと、SEO的にとても悲しいことになりそう。
といっても、iPhone用フレームワークにもいろいろ種類があり、実装方法やSEO的にもかなり違うので、下記に簡単にまとめる。
| Sencha Touch | iui | iWebKit | iPhone Site Exstension | |
| 仕組み | 全部JSで動的生成 |
基本はHTMLで、 |
iPhoneルックの CSSライブラリ |
iPhoneルックの CSSライブラリ |
| SEO的に | × | △(一部動的に読み込まれる) | ○ | ○ |
| 難易度 | 作法を覚えるのが大変そうだが、 機能は豊富。 デザイン調整が大変そう。 |
割と簡単だが、 作り込むと無理がでそう。 |
従来のMTML+ CSSの知識でOK |
従来のHTML+ CSSの知識でOK |
| iPhone的に | ネイティブアプリっぽくなる | 割とネイティブアプリっぽい。 | よさげ | ちょっと違う。 微妙にチープな感じ |
| ページ遷移 | 発生しない。 スムーズなページ切替 |
ページ内リンク以外では 発生する。 |
発生する。 切替の度にSafariの アドレスバーがチラっと 見えるのが気になる。 |
発生する |
ページ遷移が発生するかしないかで、体感は結構違う。特に(ネイティブ)アプリの動作に慣れていると、ウェブページをいちいち読み込む動作(レスポンスの悪さ。Wifiを使ってても)には、若干イラっとしてしまう。(Wifiや3Gの状態に依存してしまうというのもある)
従来のHTMLに多少手を加えるタイプのiuiやiWebKitであれば、学習コスト・制作コストはコレまでとあまり変わらないし、SEO的にも大丈夫だが、UI的に凝ったサイトを作ろうと思うと、苦労しそうだし、ややモッサリ。
Sencha Touchを使えば、ぱっと見ネイティブアプリっぽくできるが、学習コスト・制作コストがアップし、SEOは期待できない。それであれば最初からネイティブアプリ作った法がよいかもしれないが、今度はApp Store申請+10万越えアプリという大きな障壁がある。
実際のサイトで利用するとなると、ページ内容をDBから読み込んで…となると、今度はPHP側のフレームワークやviewの絡みを考えると、iWebKitが楽かな~とも。
…うーん。悩ましいネ!あんまりこの辺のことを議論されてないような気がする。僕が知らないだけだったらゴメンナサイ。教えてください。
| iPhoneルックの CSSライブラリの提供 |
Popularity: 3% [?]