Manual:robots.txt/ja

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Robots.txt and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Tiếng Việt • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎العربية • ‎中文 • ‎日本語

robots.txtファイルはRobots Exclusion Standardに含まれ、search engine optimization検索エンジン最適化)を補助します。インターネットボットにサイトの索引付けの方法を指示します。robots.txtファイルは必ずドメインのwebルートに置きます。

索引付けをすべて回避

ご利用のサイトで一切のボットに索引付けをさせないためには、以下のコードを使います:

User-agent: *
Disallow: /

特定のスパイダーのみブロックする場合は、アスタリスク(記号「*」)にスパイダーのユーザーエージェント名を代入します。

ページ以外の索引付けを防止

MediaWikiが生成するページには実在の人間しか利用しないものが多くあります: 古いリビジョンや差分ファイルは記事内のコンテンツを複製しがちです。編集ページとおおかたの特別ページは動的に生成される結果、実在の人間の編集者のみが使用でき、サーバには比較的、負荷が高めです。指示がない限り、スパイダーはそのようなページでも数千回索引付けを試み、ウェブサーバに高い負荷をかけてしまいます。

短縮URLあり

もしウィキペディアに似た形式の短縮URLを採用していると、記事ではないページにスパイダーの索引付けを防止するのは難しくありません。記事は/wiki/Some_title経由でアクセスし、その他は/w/index.php?title=Some_title&someoption=blah可能だとした場合:

User-agent: *
Disallow: /w/

ただし、ご注意! 次の行を間違えて追加してしまうと:

Disallow: /w

/wikiディレクトリへのアクセスをブロックしてしまい、検索エンジンに無視されてしまいます!

またこの解決策だとCSSもJavaScriptあるいは画像ファイルもブロックしてしまい、Google他の検索エンジンがウィキ記事のプリビューをレンダリングできません。 それを回避するにはブロックの対象を/wディレクトリ全体ではなく、index.phpにのみ限定します:

User-agent: *
Disallow: /w/index.php?

こうすると、/w/load.php経由でCSSやJavaScriptが検索されるため検索対象からの脱落を回避できます。 また、 Wikimedia系のプロジェクトでも同じ結果が出ます:

User-agent: *
Allow: /w/load.php?
Disallow: /w/

短縮URLなし

短縮URLManual:Short URLを使用しない場合、ロボットの制約方法は少し難しくなります。CGIとしてPHPを走らせていて、URLを短縮していない場合、記事へのアクセスは/index.php?title=Some_title経由で検索できます:

User-agent: *
Disallow: /index.php?diff=
Disallow: /index.php?oldid=
Disallow: /index.php?title=Help
Disallow: /index.php?title=Image
Disallow: /index.php?title=MediaWiki
Disallow: /index.php?title=Special:
Disallow: /index.php?title=Template
Disallow: /skins/

PHPをApacheモジュールとして走らせてもURLを短縮していないと、記事は/index.php/Some_title経由で検索できます:

User-agent: *
Disallow: /index.php?
Disallow: /index.php/Help
Disallow: /index.php/MediaWiki
Disallow: /index.php/Special:
Disallow: /index.php/Template
Disallow: /skins/

名前空間の行末にコロン (:)がない場合、トークページが制限されます。

英語以外のウィキでは、上記の各行にそれぞれ翻訳を添える必要があるかもしれません。

外装に属する画像を表示するには、/skins/の制限を採用しないという選択をします。 /skins/ディレクトリにアクセスできないと、Google等プリビュー画像を提供する検索エンジンにおいては記事の画像が表示されません。

他の方法として

Disallow: /*&

このようにワイルドカード拡張を適用すると、Googlebot等のロボットがrobots.txt標準に受け入れることから、ちょうど前出の /w/ 解決策同様、ロボットに検出させたくないもののほとんどを対象外にします。 ただしこの方法でもCSS検索をブロックしてしまうことから同様の制限を受け、検索エンジンがプリビュー画像を正しく表示できなくなります。 その会費策としてAllow: /load.phpという1行を追加することは可能ですが、この原稿の執筆時点ではテストが済んでいません。

インターネットアーカイバに生のページを索引化を許可

インターネットアーカイブraw pages加工していないページを索引付けさせて、ページの生のウィキテキストを永遠に記録しようと考えることでしょう。この方法だと、ウィキがアクセス不能に陥った場合も別のウィキに簡単にコンテンツを載せることができます。その場合の処理は:

# Allow the Internet Archiver to index action=raw and thereby store the raw wikitext of pages
User-agent: ia_archiver
Allow: /*&action=raw

問題点

レートの管理

ボットがスパイダーできる範囲は、パスのみ指定できます。平文のページ領域のみ許可するだけでも、1秒間に2、3ページを読み込むスパイダーが20万ページを処理しようとすると、大きな足かせになります。

ボットによってはカスタムの仕様があります。例えばInktomiの場合、ヒット数の最小遅延時間を秒単位で指定できる「Crawl-delay」行に反応します(既定は15秒。)

悪意があるボット

カスタム作成のボットの中には、あまり賢くない処理や、完全に悪意のあるものが含まれ、robots.txtにまったく従わないものです(あるいはパスの制限に従ってもスパイダーが非常に速いせいでサイトが減速してしまいます)。特定のユーザエージェントのストリングまたは違反者の個々のIPをブロックする必要があるかもしれません。

繰り返し操作しなくても、request throttlingでそのようなボットを停止させる方法が、より一般的です。

代替策あるいは補完的な戦略として、spider trapを配備します。

スパイダリング vs 索引付け

robots.txtは(悪意のある)ボットのURLのダウンロードを止めても、索引付けを阻止することはできません。つまりそれらを指し示す外部リンクが存在する限り、Google等の検索エンジンの結果に表示される可能性があります。(さらに悪いことに、ボットはページをダウンロードしないため、noindexメタタグを与えても効果はありません。)単ページのwikiページを検索結果に表示させないためには、__NOINDEX__ マジックワードがより安全な選択肢になるかもしれません。

ロボットの方針Manual:Robot policy ファイル: robots.txtManual:Robots.txt
属性: nofollowManual:NofollownoindexManual:Noindex
環境設定: $wgArticleRobotPoliciesManual:$wgArticleRobotPolicies$wgDefaultRobotPolicyManual:$wgDefaultRobotPolicy$wgExemptFromUserRobotsControlManual:$wgExemptFromUserRobotsControl$wgNamespaceRobotPoliciesManual:$wgNamespaceRobotPolicies

Warning: Display title "Manual:robots.txt/ja" overrides earlier display title "Manual:robots.txt".