連載エンジニアのためのSEO入門
検索エンジンの仕組みをおさらい。クローラー対策とステータスコード

伊藤 大典(アユダンテ株式会社) 2009/3/27(金) 09:59 (2) この記事をはてなブックマークに追加(96) 印刷用印刷用
‹ 前12次 ›

具体的な設定方法は?

ここまででステータスコードの役割と確認方法を解説しました。では表示する内容がないことをHTTPレスポンスヘッダーのステータスコードで適切に示すためには、エンジニアは具体的にどのように処理すればいいのでしょうか。2パターンに分けて説明していくことにします。

手法その1:
Apacheで404エラーを任意のページ(カスタムエラーページ)に設定する

※ステータスコードの判定はサーバーに任せて、存在しないときに表示するページを自分でカスタマイズしたい場合

「httpd.conf」の編集権限があれば「httpd.conf」に、レンタルサーバーなどのホスティングサービスを利用している場合で「httpd.conf」の編集権限がなければ「.htaccess」に以下の記述を追加してください。

ErrorDocument 404 /example/404page.html
「httpd.conf」で指定する場合は、上記の設定をした後にApacheを再起動するか、設定ファイルをリロードすると変更が有効になります。

ただし、ファイルを指定する際はファイルのパスで記述してください。サーバー名を含めた「http://www.example.co.jp/exsample/404page.html」のようなURLで指定すると、同一ホストにもかかわらず404ではなく302リダイレクトがかかってしまいます。

WebサーバーにApacheのバージョン1.3系/2.0系/2.2系のいずれかを使用している場合には、基本的にすべてのバージョンで同じ設定方法になります。

参考:http://httpd.apache.org/docs/1.3/custom-error.html(Apache1.3系の場合、英語で表示されてしまう場合はブラウザの言語設定を日本語に変更してください)
参考:http://httpd.apache.org/docs/2.0/ja/custom-error.html(Apache2.0系の場合)
参考:http://httpd.apache.org/docs/2.2/ja/custom-error.html(Apache2.2系の場合)

手法その2:
PHPなどのプログラム側で404を返す

※アクセスされたプログラム側でデータベースに問い合わせて、はじめて商品があるかないかを判断し404を返しなければならない場合

このケースでは、プログラムからステータスコードを指定する必要があります。PHPを利用しているのであればファイルの冒頭に以下の記述を加えてください。

<?
  // 404のレスポンスヘッダーを指定します。
  header("HTTP/1.1 404 Not Found", false , 404);
  // 続いて「お探しの商品は存在しません」などの表示を返す
?>

こうやってHTTPヘッダーを操作しクライアントにレスポンスを返します。その他の言語でもHTTPヘッダーを操作する関数やオブジェクトがありますので同様の操作を実現できます。

クローラーに正しくページを渡した後は

次はインデクサの部分です。検索エンジンの内部プログラムになるため、そのロジックに直接手を出せる部分ではありません。しかし、ステータスコード200で返したコンテンツを彼らはじっくり解析してきます。この解析アルゴリズムこそ、検索エンジンの中枢です。どのようにするとそのページを正確に評価してもらうかという部分がSEOのメインでもあります。細かいテクニックは次回以降で説明していきたいと思います。

次回は「URLの永続性」というテーマでお話ししたいと思います。

クローラーの未来

余談ですが、Googleではインデックスしたページが1兆ページを超えたそうです(Googleのオフィシャルブログの投稿より)。クローラーはそのページに変更がないかを確認するため同一ページを何度も取得しに来ますから、インデックス数以上のクローリングを行っているということになります。膨大なリクエスト数だと想像できます。

今後も日々増えていくサイトやページに対して、クローラーはサーバー増強などで対応していくと思いますが、開発者の観点から考えると最大処理数に制限をかけるということも考えられます(あくまで可能性ですが)。たとえば、仮に1日に1万リクエストしか処理できないとします。10サイトに平均的にクロールリソースを割り当てるとなると、1サイトあたり1,000ページしかクロールしてくれない計算になります。

もしここで、意味もなくリダイレクトを使用していた場合、リクエストは2回1セットになりますから、500ページしかクローリングされません。あなたのサーバーの処理負荷も高まりますし、クローリング数も減ってしまってはいいことがありません。

不要なリダイレクトをしていないか、今一度自分の管理しているサイトを見直してみてください。

‹ 前12次 ›
伊藤大典氏

伊藤 大典

アユダンテ株式会社 事業開発部長

アユダンテに設立当初より参加し、SEOコンサルタントと共に数十の大規模サイトのバックエンドからフロントエンドまで、SEOに最適化されたアーキテクチャを設計する。また、別プロジェクトとして「携帯秘書モバセク」の設計・開発のマネージメントも務める。携帯への造詣も深く、まだ技術的な情報の少ない携帯SEOのコンサルティング経験も多数あり。定期的にSEOに関するセミナーを開催しています。2009年12月、『SEOを強化する技術』(インプレスジャパン)を執筆。

(2) この記事をはてなブックマークに追加(96)
あなたの評価 : なし 平均 : 3.8 (投票数:22)
日本赤十字社 東日本大震災 義援金募集

今日の用語

オプトイン
何らかの選択を望んですること。 広告メールを受け取ることなどを、ユーザーが ... →用語集へ

インフォメーション

Web担のメルマガを購読しませんか?
Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。

Web担に広告を掲載しませんか?
購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。

サイトマップ
RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]

さくらインターネット株式会社株式会社KDDI ウェブコミュニケーションズYahoo!リスティング広告at+link
ウェブアンテナ株式会社日本レジストリサービスWindows Azureオートノミー株式会社
株式会社キノトロープ株式会社アイレップ株式会社ニューズ・ツー・ユーシックス・アパート株式会社
株式会社サイバーエージェント富士通株式会社Sitecore