SEO

robots.txtとは?意味とSEO効果、書き方について解説

「robots.txt」ファイルは、検索エンジンのクローラーを制御します。うまく活用することで結果的にサイトの検索順位向上、アクセス数増大に繋がる可能性があるものなので、SEO対策を考える方はぜひ知っておきましょう。

robots.txtとは?

robots.txtは、ウェブサイトのルートディレクトリに配置されるテキストファイルで、検索エンジンのクローラーに対してウェブサイト上のどのページをクロールしインデックスしても良いか、あるいは避けるべきかを指示できるものです。

このファイルは、「Robots Exclusion Protocol」または「Robots Exclusion Standard」とも呼ばれるプロトコルに基づいています。

クローラーは通常、新たなウェブサイトを訪問するときや、既存のウェブサイトで更新をチェックするときに最初にrobots.txtを探します。このファイルが存在する場合、クローラーはその指示に従い、特定のページやディレクトリ内のページについて、クロールすべきか、避けるかを決定します。

robots.txtファイルの書き方

「robots.txt」ファイルは、以下の3つの指定ができます。

User-agentどの検索エンジンのクローラーに対して指示をするのかを決めます。
Disallow指定したファイルまたはディレクトリに対するクロールを拒絶します。
sitemapsitemap.xmlファイルの場所をクローラーに対して示します。

例えば、すべてのクローラに対してウェブサイト全体のクロールを許可するための「robots.txt」は次のようになります。

User-agent: *
Disallow:

逆に、すべてのクローラに対してウェブサイト全体のクロールを禁止するための「robots.txt」は次のようになります。

User-agent: * 
Disallow: /

robots.txtファイルの設置

「robots.txt」ファイルは、ウェブサイトのルートディレクトリに配置します。
多くのサイトはエックスサーバー、conoha WING、さくら、ロリポップなどのレンタルサーバーを用いていることでしょう。その場合、レンタルサーバーの管理画面でファイル管理メニューを使うか、FTPサーバーでアクセスしてファイルを設置します。

ルートディレクトリというのは、index.htmlファイルあるいはindex.phpファイルが置かれているディレクトリです。

WordPressであれば、次の場所にあります。wp-contentの上位階層はレンタルサーバーにより異なります。

/wp-content/themes/テーマ名/

SEOのためのrobots.txtの活用方法

SEOのためにrobots.txtを活用する意味と効果についてご紹介します。

品質の低いページをインデックス対象外にする

サイト全体の評価に対しては、各ページの平均点も影響を及ぼすと考えています。つまり、品質の低いページはサイト全体の評価に悪影響を及ぼします。品質の低いページをクロールの対象外とすることで、評価が下がるのを回避することができます。

例えば以下のようなページはクロール対象外とすることを検討します。

  • お知らせの類
  • 評価して欲しい内容とは異なる趣味のブログ

重複コンテンツの回避

サイト内に重複するページがあると、評価が分散してしまい悪影響です。この場合、ページを統合するか、canonicalタグを用いるか、一方をクロール対象外とすることで重複コンテンツとなることを回避します。

クロールバジェットの確保

それほど大きなサイトでなければクロールバジェットは気にすることもありませんが、大規模なサイトの場合、評価を集中させたいディレクトリ以外はクロール対象外とすることも検討します。

XMLサイトマップ(sitemap.xml)の場所を示す

XMLサイトマップは、サイトの構造、ページをクローラーに示すためのものです。そのファイルの場所をクローラーに示すことで、確実にXMLサイトマップを認識してもらうことができます。

robots.txtの代替手段

品質の低いページを検索対象外とすることでサイト評価への悪影響を避けることについては、noindexとする代替手段があります。

noindexは、HTMLファイル内に記述するものであり、Wordpressであればプラグインを使うなどしてノーコードで簡単に設定することも可能です。

ただし、noindexは検索エンジンがそのページをクロールして初めて認識できるものであるため、クロールバジェットの確保の役割とはなりません。クロールバジェットの確保を目的とする場合はrobots.txtを活用しましょう。

Googleに対してサイトマップの場所を示すのは、Googleサーチコンソールを用いる方法があります。

ChatGPTのクロールを拒否

SEOと直接的には関係ありませんが、ChatGPTを開発・運営するOpenAI社が、ChatGPTがWebサイトをクロールして学習材料として使おうとすることを拒否する方法を発表しました。

GPTBot

ChatGPTのクロールについてサイト全体を拒否

ChatGPTのクロールについて、サイト全体を拒否する場合は、robots.txtに次のように書きます。

User-agent: GPTBot
Disallow: /

ChatGPTのクロールについてディレクトリ単位で拒否

次の記述をすれば、/about/のディレクトリは受け入れて、/articles/のディレクトリは拒否します。

User-agent: GPTBot
Allow: /about/
Disallow: /articles/

ChatGPTのクロールについて特定のディレクトリのみ拒否

特定のディクレトリのみ受け入れる場合は、おそらく次のように書けば大丈夫です。この例だと、/about/のみ受け入れることになると思います。

User-agent: GPTBot
Disallow: /
Allow: /about/

ちなみに当サイトはこのようにしています。
BringFlowerのことは把握してもらいたい一方で、記事の内容を他の人に積極的に真似てもらいたいかというと、SEO対策を考える上で、そんなことはないからです。

まとめ

日本において検索エンジンはGoogleのシェアが圧倒的に高い状況ですが、MicrosoftのBingも無視はできません。様々な検索エンジンに対してクロール対象を示すという意味でも、robots.txtは活用しておくに越したことはないでしょう。

著者のイメージ画像

株式会社BringFlower
稲田 高洋(Takahiro Inada)

2003年から大手総合電機メーカーでUXデザインプロセスの研究、実践。UXデザイン専門家の育成プログラム開発。SEOにおいても重要なW3Cが定めるWeb標準仕様策定にウェブアクセシビリティの専門家として関わる。2010~2018年に人間中心設計専門家を保有、数年間ウェブアクセシビリティ基盤委員も務める。その後、不動産会社向けにSaaSを提供する企業の事業開発部で複数サービスを企画、ローンチ。CMSを提供し1000以上のサイトを分析。顧客サポート、サイト運営にも関わる。
2022年3月にBringFlowerを開業し、SEOコンサル、デザイン、ウェブ制作を一手に受ける。グッドデザイン賞4件、ドイツユニバーサルデザイン賞2件、米国IDEA賞1件の受賞歴あり。