すべて
SWFコンテンツを含むWebサイトによくある問題といえば、検索エンジンのスパイダーがコンテンツを巡回したくても、サイトに入れないことです。これはあたかもドアマン*がいるナイトクラブに、身分証明書を持たないスパイダーが入ろうとしているようなものです。この状況を防ぐためには、ブラウザーの互換性やAdobe Flash Playerのバージョンを確認するための検知スクリプトをベストプラクティスに従って用意することが肝心です。この記事では、検索エンジンのスパイダーが読者のWebサイトの敷居を確実にまたげるようにするために注意しなければならない点と、対策として講じることができるテクニックについて説明します。
この記事を効率よくフォローするには、Adobe Flashテクノロジーについての知識と、SWFベースのWebサイト・アプリケーションに関する高度なWeb開発テクニックの知識が必要です。また、この記事で紹介するテクニックやトピックの詳細な情報を記載した、別途記事の『
検索エンジンのスパイダーはとてもデリケートです。スパイダートラップと呼ばれる様々な問題が原因で、スパイダーが頓挫することがあります。通常、ブラウザーでは正しくWebページを表示できるもののスパイダーでは正しく表示できないといった技術的な事情から、スパイダーはこれらの支障が原因となりサイトを巡回することができません。問題になりがちなテクニックの使用をサイトから排除すれば、サイトのより多くのコンテンツをスパイダーがインデックス化できるようになります。
残念なことに、スパイダートラップの多くは、インストールされているAdobe Flash Playerのバージョンを検出するためのJavaScript、またはユーザーのブラウザーとWebサイトの相性を確認するためのJavaScriptが原因で発生しています。せっかく時間と予算をかけてサイトを構築しても、検索エンジンが排除されるようになっていては話になりません。
では、ユーザーにSWFコンテンツが表示される前に発生する手順および検出スクリプトを検証してみることにしましょう。
SWFコンテンツを含むサイトがどの程度、検索エンジンの巡回の妨げになっているかは、「Flash Playerが必要」を検索してみると分かるはずです。数多くの結果がヒットします。「MyWebSite.comをご覧になるにはFlash Playerプラグインが必要です」といったメッセージが表示されるサイトは、無数に存在します。スパイダーはWebブラウザーとは異なり、サイトとのやり取りを行ったり、所定のソフトウェアをダウンロードするといったことができません。スパイダーはHTMLやPDFファイルといったドキュメント形式しか読み取ることができないため、ソフトウェアのダウンロードを求めるような場面に直面すると、別の場所に移動してしまいます。
しかし、テクノロジーは日進月歩しています。その証拠に、昨年アドビは最適化済みのAdobe Flash Playerテクノロジー(のちに「Flash Player for Search Engines」と命名)をリリースするという
幸運にも、スパイダーの洗練度は毎年、高まりつつあります。数年前はスパイダーを混乱させていたようなデザインも、今では問題なくなっていることがあります。とはいえ、スパイダーの技術進化をフォローし、SWFコンテンツとともに最先端のテクニックを導入することは肝心です。
読者の皆さんは、人気の
最新バージョンのSWFObject 2を使用すると、代替SWFコンテンツは自動的に<div>タグ内に配置されます。例えば、次のようになります。
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>
</head>
<body>
<div id="myContent">
<p>Alternative content</p>
</div>
</body>
このテクニックの問題点は、<div>タグを使うことでユーザーから当該コンテンツを隠すことになる場合があるということです。検索業界のエキスパートの多くは、コンテンツをユーザーから隠すことに懸念を示しています。これは、検索エンジンがスパマーの手法であると判断しかねないからです。仮に読者のサイトではバスケットボールシューズを扱っているものの、フットボールシューズでの検索ランキングを上げたかったとします。この場合、メインボディ部分にバスケットボールシューズのコンテンツを配置し、非表示の<div>タグ内にフットボールシューズに関する情報を配置するといったことが可能です。
「<div>タグを使用してはいけない」と主張する決定的なドキュメンテーションは存在しませんが、<noscript>タグを用いて代替コンテンツを表示する方が、JavaScriptを無効にしているユーザーに代替コンテンツを表示しているという理由から、より安全な方法であるというのが定説です。検索エンジンはJavaScriptを読み取ることができないため、アクセスが向上するという面でも一石二鳥です。
<noscript>
<!-- alternative SWF content -->
</noscript>
この方法のメリットおよびテクニックについて詳しくは、拙筆の別途記事、『RIAの検索エンジン最適化テクニック』の「HTMLソースへのSWFコンテンツの配置」の節を参照してください。
ポップアップウィンドウは、サイトを巡回しようとする検索エンジンにとって悩みの種といえるでしょう。
検索スパイダーはポップアップウィンドウを読み取ることができません。したがって、SWFコンテンツはポップアップウィンドウに頼らなくても済むように構成すべきといえます。
インデックスHTMLファイルにおいて、SWFコンテンツを含むポップアップウィンドウを表示するための「Flashサイトを表示」ボタンを使用することは避けましょう。
robots.txtファイルは、関連性の低いコンテンツに検索エンジンが巡回するのを防ぐために有効な手段です。詳しくは、拙筆の別途記事、『RIAの検索エンジン最適化テクニック』の「robots.txtファイルの作成」の節を参照してください。
単なるテキスト形式のこのファイルを使用すれば、Webサーバーのルートディレクトリーに配置しておくだけで、スパイダーに当該サーバー上のどのファイルの閲覧を許可するかを指示できます。robots.txtファイルは、検索エンジンが巡回できるコンテンツを手軽に制御できる方法です。
より詳しいドキュメンテーションについては、Googleウェブマスターヘルプの「robots.txtファイルを作成」ページを参照してください。
検索エンジンによってSWFコンテンツが巡回されることを妨げないようにWebサイトを構成する。これを実現するための手順を以下に示します。
<div>タグではなく<noscript>を使用する方法で、代替SWFコンテンツを表示するようにする。