SEOやインターネットマーケッターの会話にAjaxが入ってくるときはいつも、深いため息や“うわっ”という顔がついてくる可能性が高い。検索エンジンがこのタイプのコンテンツをインデックスするのが上手になっているというのは本当だが、それでもまだ私達は、彼らがそれを適切もしくは完全にインデックスすることを現実的に当てにできる時点にはいない。だからと言って、あなたがそれを使うことが出来ないという意味ではない。そのタイプのコンテンツがクローラーやAjaxユーザー以外にも見えることを確実にするためには、いくつか対策を講じる必要があることを意味するのだ。
あなたがする必要のある最初の対策は、静的ページとURLがコンテンツの全ての最終結果に存在するかどうか確かめることだ。例えば、あなたが地元の旅行ウェブサイトを運営していて、人々に特定の地域内にあるレストランやホテルやアトラクションやその他の情報を見てもらうためのロケーション/マップページを持っているとしよう。ユーザーはフィルターをオン/オフに切り替えることができ、異なるロケーションを見て、それぞれの場所に関して詳細情報を得ることができる。Googleプレイスからのデータを統合しているGoogleマップと同様に、AjaxとJavaScriptを介してそれを機能させれば、それはとても優れたユーザー体験になるだろう。しかしながら、その情報を全てAjaxの裏に“隠すこと”は、あなたがオーガニック検索トラフィックを達成するのには役立たないだろう。
あなたがすべきことは、それらの最終ゴールそれぞれに特定のユニークなURLを作ることだ。これらのURLは、Googleの高度な試験的なAjaxクローリングスパイダーだけでなく全ての検索エンジンスパイダーが読んで抜粋することができる方法で情報を提供する必要がある。これが、あなたが、Yahoo、Bing、Facebook、Twitter、Stumbleuponそして、Blekko*やWolfram Alphaのようなサービスからさえもトラフィックを獲得することを保証するのだ。1つの検索エンジンやソースだけにトラフィックを依存することは、危険な戦略であり、気まぐれなアルゴリズムのアップデートを防御できない。(*BlekkoにはAjaxクローラーがあることを教えてもらった)
これらのページをそれぞれ用意したら、そのURLができる限り検索エンジンフレンドリーであることを確かめておきたい:3~5個のキーワードが入った短いURLで、パラメーターがないものだ。少しやり過ぎではあるが、rel=”canonical”タグを入れるのも良い考えだ。
少し注意が必要なのが、インバウンドリンクとEメール、そしてソーシャルメディアリンクやユーザーエージェントの検出である。閲覧者がコンテンツのAjaxバージョンを見ているにしろ、コンテンツの静的バージョンを見ているにしろ、あなたは“このページにリンクする”、“このページを共有する”、“このページをメール送信する”という機能を提供すべきであり、それは常に静的URLに進むべきだ。
ユーザーがそれらのページをリクエストしたり、検索エンジンからやって来てその静的URLページを要求する時には、あなたはそのコンテンツをどのように出すのかについて決断をする必要がある。もしユーザーエージェントがAjax/JavaScriptに対応していれば、その方法で出して構わない。もしそれがボットや非対応のユーザーエージェント(例:タブレット、iPad、携帯電話)の時には、HTML版を出す。最後に、私はいつも、ユーザーがクリックした時に本当に欲しいコンテンツを手に入れることを確実にするnoscript タグで潔く負けを認める。
これは二度手間のように思えるかもしれないが、あなたが適切にAjaxを使用していれば、恐らくそんなことはないだろう。あなたは同じデータベースから同じ情報を引っ張ってくるのだ―それは単に、変化するレンダリングの手法である。その一方、Flashは、もう少し問題があって、恐らく二度手間を要することになるだろう。だから私はその手法をお勧めしないのだ。同じデータベースからデータを引っ張ってくるのが良いアイディアである主な理由の1つは、それがあなたが“悪いクローキング”の状態を作らないことを保証するからだ。技術的には、クローキングとはスパイダーやエンジンに異なるコンテンツを出すことだ。もし実際のコンテンツが同じで、技術と実装の提供だけが違いであるなら、あなたのリスクは低く、高い防御態勢にある。特にもしあなたが、本当のURLにスパイダーを送るためにcanonicalタグを使っている場合には。
適切な場所に静的URLを置いたなら、検索エンジンがそのコンテンツを見たりアクセスしたりする手段を提供する必要がある。HTMLサイトマップやXMLサイトマップを使用することができるが、理想的には専用のクローリングパスを設定する必要がある。あなたのサイトがとても小さいものでない限り(2、300ページ以下)、最初に限界テストを実施することを勧める。まずは極めて重要なセクションではないページで段階的にこれを展開すべきだ。テキストブラウザ、テキストビューア―、そして、Xenu Link SleuthやWebsite Auditorのようなクローラーを使用する。最後に、私はChange DetectionやGoogle alertsのようなサービスと一緒に使用するためにモニタリングページを設定することをお勧めする。もし誰かが“壊したり”、“脱線したり”したら、24時間以内に知ることが大切だ。30日後に知った時にはコンテンツの70%がインデックスから外されているのだ。
あなたが検討しておきたい最後の問題は、内部重複コンテンツである。もし“Ajaxクローリングボット”がサイト内の重複ページに辿り着いたなら、あなたはボットにそのページに興味を持って欲しくないしそのフォーマットでコンテンツをインデックスして欲しくないだろう。静的なAjaxではないURLを指し示すrel=”canonical”タグを使用することが役に立つが、万が一のためにAjaxページ上に“noindex, follow”タグを置くこともお勧めする。検索エンジンに物事をさらしておくことが、問題の出どころ、時に大きくお金のかかる問題の出どころになるのだ…
この記事から学べることは以下の通りである:
この記事は、Graywolf’s SEO Blogに掲載された「Tips for Ajax for SEO」を翻訳した内容です。
技術的なことは最低限でしたが、ここに書かれている考え方や手法を参考にすればAjaxであっても検索エンジンフレンドリーなサイトができあがるのではないでしょうか。特に最初にあった「静的ページとURLがコンテンツの全ての最終結果に存在するかどうか確かめること」はAjaxベースでサイトを作る際の基本的な考え方として是非意識したいですね。 — SEO Japan
SEO最新情報やセミナー開催のお知らせなど、お役立ち情報を無料でお届けします。