robots.txtでクロール拒否する方法

robots.txtでクロール拒否する方法

SEO対策においてrobots.txt(ロボットテキスト)は主に検索エンジンのクローラーを制御するために使用します。

robots.txtにインデックスを許可する記述をすることで、SEO対策効果があると言われていた時期がありますが、クローラーはインデックスすることが仕事ですので、わざわざ許可を与える必要はありません。

robots.txtで検索エンジンのクロールを拒否

  1. テキストエディタ(メモ帳など)でrobots.txtという名前のファイルを作成します。
  2. 作成したrobots.txtをドメインのトップディレクトリ(index.htmlと同階層)にアップロードします。

robots.txtに記述する内容

全ての検索エンジンに対しサイト全体をクロール拒否する場合

User-agent: *
Disallow: /

Googleに対しサイト全体を拒否

User-agent: Googlebot
Disallow: /

Yahooに対しサイト全体を拒否

User-agent: Slurp
Disallow: /

Googleに対し特定のディレクトリやページを拒否

User-agent: Googlebot
Disallow: /seo/
Disallow: /robot.html

「Disallowが拒否」「Allowが許可」という意味です。『*』は全てのという意味で、『Disallow: /』というのはサイト全体をクロール拒否する事を指します。

動的ページ(パラメータ付URL)の場合

動的ページなどでURLの末尾にパラメータが付くURLをクロール拒否する場合の記述は悩むところですが、Googleウェブマスターヘルプで投稿がありました。

robots.txtでパラメーター付きURLのクロールを拒否したい

【例】http://www.example.com/?cid=xxx

/?cid=と名の付くURLは全て拒否したい場合の記述方法です。

Yahooの回答
User-Agent: *
Disallow: /*?cid*
(最後の*は無くてもOK)

Googleはなぜか明確な回答を避け、論点をcanonicalへ転嫁しています。質問した方にとっては言っていることは分かるけどイヤイヤそうじゃなくてといった感じでしょうか。以前から気になっていましたが、参加しているGoogleスタッフの知識が乏しいんですかね。

robots.txtはsitemap.xmlの登録にも使える

通常sitemap.xmlの登録は管理者ツール(Googleウェブマスターツール、Yahooサイトエクスプローラ、Bing Webmaster Center)にて行いますが、2007年より検索エンジンはrobots.txtによる登録もサポートするようになりました。

sitemap.xml を作成しrobots.txtに下記の記述をする事で、検索エンジンはそのサイトのsitemapを認識します。

Sitemap: http://ドメイン/sitemap.xml

クロール拒否と同時に行う場合には両方の記述をします。

Sitemap: http://ドメイン/sitemap.xml

User-agent: Googlebot
Disallow: /seo/
Disallow: /robot.html

関連記事

タグ


公開日:2009年10月22日
最終更新日:2011年5月25日

コメント&トラックバック(4) |

トラックバック&コメント

この記事のトラックバックURL:

トラックバック

コメント

  1. 名無しゲーマー より:

    参考にさせてもらっております。

    yahooの場合、

    User-Agent: *
    Disallow: /*?cid*

    と記述すれば、?cidを含むurlをクロール禁止に出来るそうですが、クエスチョン部分に対するエスケープは不要なのでしょうか?

  2. パシ より:

    申し訳ございませんが、この件については私自身良く分かっていません。

  3. 名無しゲーマー より:

    管理人さま、回答ありがとうございます。
    では、googleからは正式に発表などがされていないのですね。
    使用は控えるべきなのでしょうか、、、。

  4. パシ より:

    申し訳ございませんが、Googleがこういったケースでの記述内容を発表したかどうかすら把握しておりません。
    お力になれずすみません><


コメントを投稿する

※スパムと判断したコメントは削除しています。




»
«