検索結果ページがSEOのためにできること

Posted by
ぴろり
Posted at
2008/03/15 21:20
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
MovableType カテゴリ

 SearchResultsCache プラグインを導入し, の動作をキャッシュすることで,結果の表示レスポンスが大きく向上し,加えて処理にかかるサーバ負荷を大きく低減することができました。結果ページには,指定されたキーワードやタグに応じて抽出された記事のみが列挙されるわけですから,それらのキーワードを必然的に多く含む密度の高いページであると考えられます。つまり結果ページは 的に見ると価値の高いランディングページであると言えます。
 この SearchResultsCache 自体は,これら結果ページを などのエンジンにインデックスさせることで,ランディングページとして機能させることを本来の目的として開発されました。実際に,SearchResultsCache を導入してキーワードやタグ結果ページのそれぞれについて,エンジンのインデックス対象にしたところ,エンジンを経由してのこれら結果ページへの訪問者が新たに生まれたことで,サイト全体でのビジターが1†2割程度増加しています。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

背景

 サイトの手法として, を使用せず, (もしくは ) を利用した高速がありますが,現在のエンジンのクローラが を理解しないことを考えると,これらの仕組みは完全に無視されてしまいます。先にも述べた通り,結果ページとは,キーワードやタグによって抽出された高い関連性を持つ記事が並ぶ密度の高い良質なページであって,ランディングページとして素質十分なわけです。それ故に,下手に などを使ってこの素材をみすみす捨てるのは勿体無いだけです。これらのページを積極的に活用することは においても非常に有益ではないでしょうか。そこで,これら結果ページを の一環として活用する場合にクリアすべき点は以下の二つであると考えました。

  1. エンジンによるクロールに対応できること
  2. 恒久的に変化しない一意な URL,すなわち Permalink を持つこと

 一番の問題は による大きなサーバ負荷で, による処理はデータベースを総舐めするために決して軽いとはいえません。エンジンのクローラがサイトをクロールする頻度はある程度適切に調整されているとは云え,,MSN などなど数あるエンジンからキーワード毎に が実行されるわけです。また中には絨毯爆撃をしてくる行儀の悪いロボットも未だに存在するため, の負荷は大きな問題になり得ます。

実施内容

SearchResultsCache プラグインの導入

 SearchResultsCache を導入することで, 標準の の動作を爆速化します。速度面での改善だけではなく, のサーバへの負荷も大幅に軽減します。
 通常,mt-search.cgi によるでは,の度に全ての記事についてデータベースへの問合せや文字列走査が行わるため,サーバ負荷が非常に高くなってしまいます。エンジンのクローラによる への連続的なアクセスがあると,最悪サーバを落としたり, の利用に制限がかけられる恐れがあります。そのため,以前までは robots.txt を利用して についてはエンジンのクロールが行われないように制限をしていました。
 しかし,の導入によって,そのサーバ負荷を特に憂慮する必要性が薄れたと考えられるため,現在は結果ページついてもエンジンのクロールを許可し,インデックスが行われるように制限を解除しています。万が一にも絨毯爆撃されたとしても( は起動されますが)キャッシュ内容を返してすぐに終了するので,クローラの訪問が多い日も安心です。

mod_rewrite を利用して を静的 URL に見せる

 この作業は必須ではないかもしれません。結果に対して何らかの URL が与えられていれば問題はないでしょう。最近では静的 URL と動的 URL との違いによるインデックスにおける優劣は減少しつつありますが,やはり静的 URL の方が見た目がスマートで扱いやすい,という理由からです。mod_rewrite を利用ことで へのリクエストを簡単に静的 URL のように見せることができます。URL に複雑なクエリ文字列を含まないので,記事内でキーワード/タグ結果ページを参照する場合にもスマートに URL を記述でき便利になります。
 そして,この URL はパーマとして機能します。その URL にアクセスすることで,キーワード/タグの記事一覧が表示されることが重要です。

 当サイトでは .htaccess 内に上記のような RewriteRule を設定し,実際には mt-search.cgi によって生成されている"MovableType"をキーワードを含む記事一覧ページや,"プラグイン"タグの記事一覧ページを何の変哲の無い静的 URL としてアクセスできるようにしています。
 そして,このように記事中にキーワード/タグ結果ページへのを書いておけば,通常通りにエンジンのクロール対象になりますし,また SearchResultsCache によるキャッシュが機能するため,クローラによる への集中砲火を本気で憂慮する必要がなくなります。

  の負荷軽減策については,を利用した例を示してありますが,基本的な考え方はほぼ同じだと思います。どんなニッチなキーワード/タグであっても自動的に関連記事が抽出されたページを無限に生成することできますし,また,タグ機能については「タグAに関連するタグのリスト」などといったを機械的に生成できるため,サイト内の被数を大きく増やすことができます。 上での効果以上に,ビジタに対して様々なの切り口をもって記事をナビゲーションできるというのも大きな魅力です。


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。