こんにちは。エンジニアの なか です。
今回は 『 Flash の SEO 対策』 について話したいと思います。
はじめに
【 Flashの検索インデックス化 について】
すでにご存知の方も多いと思いますが、Adobe Systems社が次のような発表をしました。
・Flashを利用したコンテンツやWebアプリケーションを検索されやすくする目的で、
GoogleおよびYahoo!と協力していることを発表。(2008年7月1日 )
・具体的には、Adobeでは検索エンジンがFlashファイルをインデックス化しやすくするため
最適化したFlash Player技術をGoogleとYahoo!に提供するとのこと。
これにより、最近では swf ファイル内のテキストがインデックスされた検索結果を見ることも多くなりました。しかし、まだまだ一般的には、次のような理由で Flash がSEO的に不利だと言われています。ではその内容を見ていきましょう。
【一般的にFlashがSEOに不利な4つの理由】
1. Flash で展開する情報を最適化しづらい点
●1つのURLに複数のコンテンツが乗っかっている
一般的にFlashサイトは、複数のコンテンツが1つのSWFファイルで作られていることがほとんどです。
これは、SEOの基本原則、「1ページ=1テーマ原則」から見ると、そのFLASHが何について述べているページなのかが認識しづらく、検索エンジンの評価が上がりづらいと考えられます。
2.検索エンジンが Flash コンテンツのテキスト情報を認識しづらい点
●テキストコンテンツがきちんとまとまっていない
Googleは、SWFファイルからの出力をインデックス化して、含まれている単語やフレーズを解析することができますが、グラフィックエフェクトをかけるためにフレーズがバラバラになっている場合、出力がバラバラになり、解析が困難になります。
また、画像による文字の場合、認識自体されません。
●SEOの基本要素が抜け落ちることが多い
Flashの場合、テキストはきちんとした形で <h1>や<p>タグに入っていないことがほとんどです。
また、アンカーテキスト、見出し、太字、強調文字、画像のaltタグ、titleタグ等を、Flashに正しく組み込むことは容易ではありません。
Flash内のテキストが何について述べているのか、また、どのテキストが重要なのかがわからないといったことが起こります。
3.Flash コンテンツにリンクを張ることが難しい点
●Flashコンテンツ内に埋め込まれるFlashコンテンツもある
Flashコンテンツの中には、呼び出し元となるFlashページ内部に埋め込まれた別のFlashコンテンツからしかリンクされていないことも多いです。この場合、サイトの内部からも、外部からも埋め込まれたFlashコンテンツにリンクが張られていないため、他のWEBサイトからの外部リンクを得ることが非常に少なくなってしまいます。
●FlashはHTMLのように外部リンクを稼げない
フル Flash などの複雑な Flash コンテンツでは、1つの Flash ファイルの中で複数の情報が切り替わることになります。その中の情報にリンクを張ろうとしても、Flash コンテンツのトップにしかリンクを張れないことが多く、特定の情報にリンクを張れないため、Blog などでも紹介されづらくなります。その結果、外部リンクを評価する検索エンジンからの評価も上がりにくくなります。また、埋め込みFlashコンテンツの場合、実際にリンクが張られるのは、Flashコンテンツを埋め込んであるHTMLページの方になることがほとんどです。
4. Flashがクロールに適していない点
●Flashファイルのクローラビリティを客観的に調査できない
Flashファイルのクローラビリティを客観的に調査する方法がないため、あるファイルがどの程度のクローラビリティを持つかどうかは希望的観測に依拠する以外に方法がありません。
●Flashの大部分はまだクロールできない
Googleによると、クローラはFlashから呼び出される外部ファイルのコンテンツをインデックス化できず、また、Flashを呼び出すJavaScriptも認識しません。
【補足】
※2009年11月19日付けで『Online Marketing Blog』に投稿されたMichelle Bowles氏の記事
「FlashのためのSEO-5つのヒントと最善の取り組み」の中では、以下のように述べています。
http://www.toprankblog.com/2009/11/seo-for-flash-tips/ (英語)
・GoogleはFlashファイル内に呼び出される外部のコンテンツもインデックスできる
・GoogleはFlashを埋め込むための共通のJavascript技術をサポートする
・GoogleがAction Scriptで書かれたサイトをインデックスすることができる
なので、今後、これらの問題点も徐々に解決していくものもあるでしょう。
しかし、現状としてこれらはまだ確実なものとはいえず、発展途上というのが適切なようです。
次は、実際にこれらの対策を見ていきましょう。
【 Flash における有効なSEOの対策とは?】
1.SWFファイルとURLの分割
Flashコンテンツを多数利用する場合は、重要なトピックやセクション、キーワード単位でSWFとHTMLを別々に用意します。これにより、ページ(Flashコンテンツ)毎のテーマが絞り込まれるので、検索エンジンは、そのURL、FLASHが何について述べているページなのかが認識しやすくなります。
ただ、Flash ファイル自体を分割すると、Flash コンテンツの魅力の1つであるシームレスな情報の転換が失われてしまうので、実際には擬似的な分割を行うことになります。
【対策例】
例えば、1つの Flash ムービーで、Flash のトップでは「音楽CD」について説明し、ボタンを押すことで「アーティスト」を紹介する情報が表示されるページがあったとします。
この場合、Web ページを2つ用意する必要があります。1つ目の Web ページには、通常の Flash ファイルを用意します。2つ目の Web ページは、1つ目とほぼ同じ内容のページ内容ですが、その Web ページに掲載される Flash ファイルは、「アーティスト」のボタンを押した先から Flash が開始するように設定します。
そして、代替要素としては、1つ目の HTML には「音楽CD」の情報と「アーティスト」のページへのリンクを設置し、2つ目の HTML には「アーティスト」の情報だけを記載します。
このように、Flash コンテンツをそれぞれのコンテンツごとに別の HTML としておくことで、
検索エンジンが認識するのは1ページ1テーマとなるため、検索エンジンにも評価されやすくなります。
2.<noscript>タグを使う
SWFファイルで伝えたい内容を、テキストファイルに書き出します。それを、<noscript>タグの始まりと終わりの間に書き込みます。ただし、SWFの内容と同じ内容を伝えることが大事で、それ以上のことをすると、スパムと見なされてしまうので注意が必要です。
【補足】
◆noscript(ノースクリプト)
noscriptとは、スクリプトに対応していない WebブラウザやJavascriptを実行しないように設定しているユーザに代替内容を表すために使うタグのことです。また、検索エンジンのロボット(クローラー)はJavascriptを認識しないため、noscriptを利用することで、SEO対策にも効果的になります。
【対策例】
<script type="text/jabvascript">
<!— JavaScript でFlashの呼び出しなどを行う //-->
</SCRIPT>
<NOSCRIPT>
Flashのコンテンツ内容をテキストで説明
</NOSCRIPT>
3.Flashコンテンツと同等のHTMLを別途用意する
FlashとHTML版両方を準備して、対検索エンジンにはHTML版で確実に検索にヒットするように対応させます。
4.重要なナビゲーションは、土台のHTMLに書く
サイト内で張り巡らされるリンクがFlashによるものの場合(グローバルナビゲーションなどがFlashで作られている場合)、クローラがリンクを巡回できない恐れがあるので、同等のリンクをページ上の別の場所(たとえばヘッダーやフッターなど)にテキストで(a要素で)設置しておきます。
5.サイトマップを用意する
サーチエンジンの為にXML sitemapを用意し、人間の為には、普通のHTML sitemapを用意します。
6.クローラー時には別のものを返す
FlashムービーとPHPなど使い、検索エンジンのロボットが情報収集に巡回に来た時に、XHTMLを含んだデータを送信するなどの手法で対応させます。
【対策例】
1$HTTP_USER_AGENTでロボットを判別します。
2人間ならばFlashコンテンツを表示させます。
3ロボットならば、HTMLオンリーのページを出力します。
4HTMLオンリーページは、Flashのページ遷移と1対1対応した複数のHTMLページと相互リンクさせます。
5これでflashコンテンツの各遷移と同じ内容をもったHTMLがグーグルにインデックスされます。
このままではユーザーがGoogleからロボット用のHTMLページに飛んでしまうので、各HTMLページでは以下の処理をします。
6$HTTP_USER_AGENTで人間かどうかを判別します。
7人間の場合にはFlashコンテンツにリダイレクトさせます。
8この際にどのページから来たかをflashvars経由でflashに渡します。
9その情報に従い、Flashコンテンツ内の対象コンテンツに遷移させます。
※【重要】
上記のやり方は、悪質なクローキングに属する可能性もあり、かなりリスクがあります。
◆クローキングとは
Webサーバに細工を施し、検索エンジンの巡回ロボットには一般の閲覧者とは異なる内容のWebページを見せること。多くの検索エンジンではこの手法を不当とみなし、クローキングを行なったサイトをインデックスから除外したり、順位を極端に落とすといったペナルティーが科されます。
あるブログで、直接的な目的が順位操作ではなくFlashを検索可能にする為のものなので、Google社にメールで問い合わせしてみたところ、Google社曰く、「個別の技術についての可否はお答えできない」との回答だったようです。
やはり、リスクがあるので個人的にはあまり使用しない方がいいかと思います。
【 Flash 作成時での対策とは?】
■作成時の注意
現在のところ、ActionScriptは解釈しないようで、外部swfはクロールされません。昔のFlashの作り方の王道である一番最初に読み込むswfファイルに、Now Loadingを表示させながら別のswfを読み込む方法で作られたFlashでは何もインデックスされませんので注意してください。
1.テキストデータに出来るものはテキストデータにする
Flashファイル内に重要な情報がある場合は、できる限りテキストデータに変換しておきます。テキスト要素ではない画像などは、今のところ、インデックスの対象ではありません。
2.静止テキストをステージ外に記述する
たとえば「loading」を「filetype:swf」ファイルタイプ検索と一緒に検索してみると、
Loading のテキストがインデックスされた検索結果が返ってきます。
この原理を利用すれば、ステージ外にSWFファイルの概要を記述して、そのテキストをGoogleにキャッシュさせることができるはずです。
3.Flashに検索メタデータを埋め込む
以下の方法で、検索メタデータをSWFファイル内に埋め込みます。
1.Flashアプリケーションを選択して、既存のファイルを開きます。
2.プロパティインスペクタから『ドキュメントプロパティ』をクリックします。
※画面サイズ「550×400ピクセル」などと書かれたボタン?をクリック。
3.『ドキュメントプロパティ』ダイアログボックス内の「タイトル」、「説明」に任意の情報を入力します。
4.「OK」を押して、FlashドキュメントをパブリッシュすればOK。
4.SWFAdress を使用し、Flash内の個々のコンテンツにパーマリンクをつける
SWFAdress を使用し、Flash コンテンツの情報が展開すると同時に、ブラウザ上のアドレスバーの URL を書き換えていくことで、Flash内の個々のコンテンツにリンクを張ることが可能になります。また、この方法をとることで、ブラウザの「戻る」ボタンを使えるようになります。google Analyticsでの解析にも対応しているので、ログ解析などを行えば、検索エンジンへの対応も行いやすくなるでしょう。
次回、機会があれば、SWFAdressの紹介をします。
今後の動向について
【Adobe ,google ,Yahoo によるSWFファイル検索性能の向上】
今後、ダイナミックテキスト、ムービークリップへ外部ファイル、XMLやSWFファイル、動画を読み込むようなコンテンツも検索でひっかかるように現在研究が進められています。
Web上には何百万というFlashコンテンツがありますが、コンテンツ提供者やデベロッパーはコンテンツに何も変更を加えなくても、検索性能の向上によって、今後検索ユーザーはより関連性の高いFlashコンテンツを検索できるようになります。
【Flash の SEO ベストプラクティスとは】
今回、Flash コンテンツに対する SEO の問題点と解決策を述べてきました。しかし、Flash の SEO ベストプラクティスは、解決策すべてを行うことではないと思っています。
Flash で作成される短期間のみ公開されるキャンペーンサイトでは、すべての対策を行うと費用対効果が取れない場合もあります。その場合、<noscript>タグの記述だけで十分な場合もあります。
Flash の SEO のベストプラクティスは、そのコンテンツの Web サイト上での役割、目的によって大きく異なってきます。それぞれの情報を伝える上で最適な SEO の方法を検討することがベストな方法のようです。
最後に
今後、より多くのFlashコンテンツがインデックスされることで、Flashを作る側も、Flashサイトを導入している企業も、そして、それを検索する側としても大きなメリットを得られることと思います。
今後ますますFlashの需要も増え、優良なコンテンツが世界中に溢れていくことと思います。
少しでもこの記事が何かのお役にたてれば、幸いです。
長文でしたが、最後までお読みいただきありがとうございました。
最後に、この記事を書くにあたり、多くのサイトを参考にさせていただきました。
ありがとうございました。
■参考文献(順不同)・FlashとSEO——検索エンジンとFlashが仲良くできないこれだけの理由
http://web-tan.forum.impressrd.jp/e/2008/08/18/3742
・FlashとSEO – Flash最適化の方法と問題点
http://www.seomode.info/seo/2009/12/06/422/
・googleにかかるflashの作り方
http://www.fladdict.net/blog-jp/archives/2005/03/post_6.php
・GoogleにインデックスされやすいFlashコンテンツを制作するには
http://coliss.com/articles/seo/output/1249.html
・Flash の SEO のベストプラクティスとは
http://japan.internet.com/busnews/20090825/8.html
・検索メタデータを埋め込むには
http://www.adobe.com/jp/support/flash/ts/documents/fl0358.html
・SWFコンテンツ検索に関するFAQ
http://www.adobe.com/jp/devnet/flashplayer/articles/swf_searchability.html