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 | 指定したファイルまたはディレクトリに対するクロールを拒絶します。 |
sitemap | sitemap.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サイトをクロールして学習材料として使おうとすることを拒否する方法を発表しました。
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は活用しておくに越したことはないでしょう。