robots.txtでクロール拒否する方法
SEO対策においてrobots.txt(ロボットテキスト)は主に検索エンジンのクローラーを制御するために使用します。
robots.txtにインデックスを許可する記述をすることで、SEO対策効果があると言われていた時期がありますが、クローラーはインデックスすることが仕事ですので、わざわざ許可を与える必要はありません。
robots.txtで検索エンジンのクロールを拒否
- テキストエディタ(メモ帳など)でrobots.txtという名前のファイルを作成します。
- 作成した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
関連記事
- metaタグ
- Googleウェブマスターツール、Yahooサイトエクスプローラー、Bing Webmaster Centerの使い方
- Yahooの検索結果に表示されるタイトルが変わった
- nofollow属性
- WordPressのおすすめプラグイン
タグ
robots.txt、クローラー、検索エンジン公開日:2009年10月22日
最終更新日:2011年5月25日
トラックバック&コメント
トラックバック
コメント
コメントを投稿する
※スパムと判断したコメントは削除しています。
更新速度やページの増加速度でペナルティを受けるの? »
« .htaccessでリダイレクトとIPアドレスでアクセス拒否





参考にさせてもらっております。
yahooの場合、
User-Agent: *
Disallow: /*?cid*
と記述すれば、?cidを含むurlをクロール禁止に出来るそうですが、クエスチョン部分に対するエスケープは不要なのでしょうか?
申し訳ございませんが、この件については私自身良く分かっていません。
管理人さま、回答ありがとうございます。
では、googleからは正式に発表などがされていないのですね。
使用は控えるべきなのでしょうか、、、。
申し訳ございませんが、Googleがこういったケースでの記述内容を発表したかどうかすら把握しておりません。
お力になれずすみません><