サイト最適化の為のrobots.txtの書き方と効果的な活用方法

あなたは今、自分のサイトの内部対策に取り組んでいる真っ最中だろう。

robots.txtはその内部対策の1つであり、適切に設定する事でより強固なSEO対策を実現する事ができる。

この記事では、robots.txtとは一体何なのか?という初歩の部分から、robots.txtを利用するべきシーン、そして実際の設定方法について詳しくお伝えする。

この記事を読めば、初めての方でもrobots.txtに対する正しい理解が得られるはずだ。


robots.txtとは

robots.txtは「サイト内の指定したページに対して、検索エンジンがクロールを行わない様に命令できる」機能だ。

サイト内検索結果ページや自動生成ページ等、検索エンジンに表示される必要のないページへのクロールを制御する事で、あなたのサイトをより最適化する事ができ、場合によっては大きなSEO改善効果に繋がるケースがある。

と言っても「クロールを制御する」という操作は、対象ページを誤ってしまうと大きな事故に繋がる。次章では「どんなページにrobots.txtを設定するべきなのか?」を見ていこう。

※クロールとは、「クロウラーと呼ばれるロボットが世界中のWebページを巡回し、サイト情報を収集する検索エンジンの働き」だ。検索エンジンの仕組みをご存知ではない方は、検索エンジンの仕組みで解説しているのでまずはこちらを確認してほしい。


robots.txtで指定するべきページ

Googleは以下のように、robots.txtを使ってクローラーを排除するべきページを具体的に指定している。

・robots.txtを使用して、検索結果ページや、検索エンジンからアクセスしたユーザーにとってあまり価値のない他の自動生成ページをクロールしないように制御します。

・広告が検索エンジンの掲載順位に影響を与えないように、適切な対処をします。たとえばGoogleのAdSense広告のリンクは、robots.txtファイルでクロールをブロックします。

参照:『ウェブマスター向けガイドライン

これを簡単に言い換えると、robots.txtでクロールをブロックするべきページは以下の2つということになる。

  • 検索エンジンのユーザーにとって価値のないページ
  • 広告リンク先のページ

一つずつご説明する。

検索エンジンユーザーにとって価値のないページ

価値のないページの代表として挙げられるのが、プログラムによる自動生成コンテンツだ。

Googleでは具体的に以下の様に定義されている。

・自動化されたツールで翻訳されたテキストが人間によるチェックや管理を経ず公開されたもの
マルコフ連鎖などの自動化されたプロセスを通じて生成されたテキスト
・自動化された類義語生成や難読化の手法を使用して生成されたテキスト
・Atom/RSS フィードや検索結果からの無断複製によって生成されたテキスト
・複数のウェブページからのコンテンツに十分な付加価値を加えることなくそれらをつなぎ合わせたり組み合わせたりしたもの

参照:『自動的に生成されたコンテンツ

この内容を見てもいまいちイメージが湧きづらいと思うが、大切なことは、自動生成ページという言葉に惑わされずに、「ユーザーにとって価値のないページに対するクロールはrobots.txtでブロックする」と理解することだ。

そして、現状、自動生成ページのほとんどがユーザーにとって価値のないページだから、「自動生成ページ=ブロック」という風潮になっているだけだ。

それでは、ユーザーにとって価値のないページとはどのようなページだろうか?簡単に言うと、それは『良質なサイトを作るためのアドバイス』の28の項目を“満たさない“もののことだ。

繰り返しになるが、ユーザーにとって価値のないページに対するクロールは全てブロックしよう。また、あなたのサイトの自動生成ページがユーザーにとって価値があるかないかを自分では判断しかねる場合もブロックしておく方が無難だ。

注:自動生成ページと重複コンテンツについて

「自動生成ページ」と「重複コンテンツ」を同一と考えている方が多いが、それぞれ別物であり対策方法も違う。例えば、Googleは重複コンテンツに対するクローラーの巡回をrobots.txtで禁止することはおすすめしないと言い切っている。(参照:『重複するコンテンツ』)簡単に言うと、自動生成ページはrobots.txtでクロールをブロックし、重複コンテンツはcanonicalの使用が推奨されている。詳しくはcanonicalの使い方を参考にしてほしい。

注:クロールバジェットについて

クロールバジェットは「クローラーがサイトに1度訪れた時に訪問するページ数」として様々なサイトで紹介されている概念だ。

多くのサイトでは、robots.txtを使うと「従来クロールバジェットの制約によりクロールがあまり行われていなかった価値の高いページに、より頻繁にクロールが行われるようになる事で、結果としてSEO効果が改善する」と言われていた。

しかし実は、この形でSEO効果が改善するケースはかなり限られている。

というのも、Googleは「ほとんどのWebサイト運営者はクロールバジェットについて気にする必要はない」と言っているからだ。「数千以下のURL数しか持たないサイトでは、ほとんどの場合クロールは効率的に行われている」というのがその背景だ。(参照:『Googlebotのクロールバジェットとは?』)

robots.txtでこの形のSEO対策が実現されるサイトは、以下の2パターンのみである事を知っておこう。

・数千ページ以上のページを持つ大規模サイト
・URLパラメータを使用してページを自動生成するサイト

広告リンク先ページのrobots.txtを確認しよう

前述の、「広告が検索エンジンの掲載順位に影響を与えないようにするための適切な対処」がこれに該当する。これは広告ASPを運用している会社やプレスリリースの配信会社が行うべきものであり、ほとんどのサイト運営者にとっては行う必要がないことなのだが念のために解説しておく。

Googleは単なる広告を良質なコンテンツとは考えておらず、広告にクロウラーが回り検索順位に影響を与えることを歓迎していない。

そのため、広告ページに対するリンクは、そのページ対する直リンクではなく以下のようになっていなければならない。※さらにサイトから広告ページに対するリンクには、「rel=”nofollow”」がついている必要がある。

広告に対するrobots.txt

Google Adsense 広告や広告ASPが発行するリンクはこのように自動的に、robots.txtでクロールをブロックしているリダイレクトページが挟まれるものになっている。

しかし、もしこのような仕組みになっていない広告ASPを使うと、最悪の場合、あなたのサイトも、広告ページもペナルティを受ける可能性がある。

もしあなたがアフィリエイト広告の掲載、もしくは出稿を考えているなら事前に必ず確認する事をお勧めする。


robots.txtの作成方法

クローラーをブロックするべきページが分かったら早速robots.txtを作って行こう。

以下、robots.txtの書き方のルールを解説していく。

robots.txt作成における前提

前提としてrobots.txtはテキストファイルで作成する。またファイル名は「robots.txt」としなければならない。

これから説明する書き方を参考にテキストファイル中身を作成後、FTPソフトを使ってサイトにアップロードを行う事で実装完了となる。

robots.txtの書き方

robots.txtの基本の型は以下の通りだ。

User-Agent:*
Disallow:

Sitemap:http://example.com/sitemap.xml

また、各項目の簡単な役割説明は以下となる。

命令説明
User-agent命令を与えるクローラーを「ユーザーエージェント」を使って指定する
Disallowクロールをブロックするディレクトリやページを記入する
Allowクロールを許可するディレクトリやページを記入する(基本的に使用しない)
Sitemapsitemap.xmlのURLを記入する事で、sitemapの場所をクローラーに知らせる

では実際に、各項目の詳しい書き方を見ていこう。

User-Agent

この項目は「どのクローラーの動きを制御するか」を指定するものだ。
基本的には、全てのクローラーへの指示を表す「*」と記入しておけば問題ない。

より細かい設定を行いたい場合は、以下のサイトを参考にしよう。

Googleのクローラー一覧:「Googleのクローラ(ユーザーエージェント)
その他クローラー一覧:「クローラ(ロボット)のユーザーエージェント(UA)一覧

Disallow

この項目は、クローラーのアクセスを制御するページを指定するものだ。

パターンが多いので順番に紹介していく。

  • サイト全体のブロック:スラッシュのみ

Disallow: /

  • 特定のディレクトリとその中身を全てブロック:ディレクトリ名の後にスラッシュを入力

Disallow: /junk-directory/

  • 特定のページをブロック:ブロックしたいページを指定

Disallow: /private_file.html

  • 特定のファイル形式(例:.gifファイル)をブロック:以下の記法で指定

Disallow: /*.gif$

  • 特定の文字列(例:?)を含む全てのURLをブロック:以下の記法で指定

Disallow: /*?

より豊富な実例はGoogleが提供するこちらのページ内で解説されている。(robots.txtファイルを作成する)

Allow

この項目はクロールを許可するページを指定するものため、使う事は少ない。

使うケースとしては「クロールを制御しているディレクトリ下の特定のページだけはクローラーが回るようにしたい場合」だ。

例えば「http://example.com/sample」下の全ページをブロックするが、例外として「http://example.com/sample/important.html」のみクロールを許可したいという場合は、以下のように記述する。(AllowはDisallowよりも優先される。)

Disallow:/sample/
Allow:/sample/important.html

Sitemap

この項目にサイトマップのURLを記載する事で、クローラーがサイトマップにアクセスしやすくなる。

サイトのクローラビリティに繋がるので必ず記載しておこう。(記載は以下のように絶対パスで行う。)

Sitemap : https://samplle.com/sitemap.xml


robots.txtのテスト方法

robots.txtをサーバーに上げる前には、対象となるページだけが制御されるかどうかを必ず確認しよう。

Googleサーチコンソール内から、robots.txtのテスト用ツール「robots.txtテスター」が利用できる。

アクセスすると、以下の様な画面が開く。

画面上部に「robots.txt」の中身を入力し、下部にテストしたいURLを入力後「テスト」をクリックするとテスト結果が表示される。

誤って重要なページのクロール制御を行ってしまうと大問題になりかねない。必ずアップロード前にテストを行っておこう。


robots.txtのアップロード

テストが完了したら、FTPソフトを使って完成したrobots.txtをサイトにアップロードしよう。

場所は”http://example.com/robots.txt”の様にルートドメインにアップする。(”http://example.com/blog/robots.txt”のように、ルートドメイン以外の場所に設置しても効果はないので注意しよう)


robots.txtの注意点

最後に、robots.txtに関する注意点を解説して終わりにする。

ユーザーはrobots.txtで設定したページにアクセスできる

robots.txtはあくまで検索エンジンのクロールを制御する為のものであり、ユーザーのアクセスを制限するものではない。絶対に見られたくないページは、認証によりアクセスを制限しよう。

アドレスバーにURLを入力すれば、robots.txtの内容が見られる

アドレスバーにrobots.txtのURLを入力すると、誰でもrobots.txtの内容を見ることができる。(例:http://example.com/robots.txt)この前提を念頭に置き、robots.txtを使用しよう。

インデックス済サイトはrobots.txtで指定しても検索結果に残り続ける

robots.txtでクロールをブロックしてもインデックスは残り続けるので、このままでは既にインデックス済のページが検索結果から消える事はない。

もし、確実に検索結果から消したい場合は「noindex」タグを使おう。また、「noindex」と「robots.txt」は重複させてはいけないということも抑えておこう。

robots.txtを無視するクローラーも存在する

Googleなどの主要な検索エンジンは問題ないが、クローラーの中にはrobots.txtのブロックを無視してクロールを行うものが存在する。そのようなクローラーは.htaccessなど別の方法を使ってブロックしよう。

robots.txtの記述内容が反映されるまでにタイムラグがある

robots.txtを編集したら、すぐに効果が現れるのではなく、まずGoogleがキャッシュをクリアするタイミングを待たなければいけない為タイムラグが存在する。

加えて、Googleのクロールとインデックスの仕組みは複雑なので、効果が現れるまでの期間を明言することはできない。


おわりに

いかがだっただろうか。

robots.txtはサイト内部対策のほんの一つにすぎないが、あなたが作った良質なコンテンツを検索エンジンに正しく評価してもらう上では必要不可欠な機能だ。

あなたのサイトをより最適化する為にも、早速robots.txtを利用する事をお勧めする。また他の内部対策一覧はSEO内部対策で行うべき20の事で紹介しているので、ぜひ参考にしてみてほしい。

無料EBook:バズ部式マーケティング
広告費を1/10にして売上を倍増させる全手法

広告に頼り切ったマーケティングの打開策としてコンテンツマーケティングについて調べているけれど、よく分からないと悩んでいませんか?

本書は弊社やクライアント様がコンテンツマーケティングに取り組み

  • ・SEOのみで月間100万PV集めた方法
  • ・平均6.92%のコンバージョン率が出た新規顧客獲得法
  • ・CPLやCPAを大幅に改善した方法とそのからくり

など、コンテンツマーケティングの効果と、具体的な施策内容を全94ページに渡って詳細に解説しているものです。

ぜひ、貴社のWEBマーケティングにもご活用ください。

EBookをダウンロード

バズ部主催「コンテンツマーケティング実践会議 2019」に参加しませんか?

「コンテンツマーケティング実践会議2019」は、私たちバズ部のメンバーも心から「彼らの話を聞きたい!」と思える最強の講師を集めた、バズ部主催のイベントです。

経営コンサルタント・作家の神田昌典氏、「沈黙のWEBマーケティング」の松尾茂起氏、株式会社ベイジの枌谷力氏など10名のプロフェッショナルが登壇します。

とてつもないデータを公開してくれる講師、自社のマーケティングのことを包み隠さず公開する講師、そして意見の対立を生むバトルセッションなどなど...

他ではお話ししていない実践的な内容をお届けするので、今年の登壇者の本気度をぜひ当日見に来てください!

登壇者・タイムテーブルを見る

コメントはこちらから

  1. Appreciation to my father who told me concerning this
    webpage, this webpage is really awesome.

  2. とてもわかりやすい記事をありがとうございます。
    ひとつ疑問に思ったのですが、弊社のブログには「パスワード保護」をした記事がありますが、そのような「パスワード保護」した記事へのクローラーのブロックはすべきですか?

    Googleから見ると、記事内容がない状態なので、価値のないページと判断されそうで怖いです。

    1. クローラーのブロックをお勧めします。
      「パスワード保護」とは、WordPressの投稿ページの「公開」にある機能のことだと理解しました。

      おっしゃる通り、確かに「パスワード保護」の記事はコンテンツとして評価の対象にはならないでしょう。
      そして、この価値の低い記事につられてサイト自体の評価が下がる可能性は考えられます。

  3. 初コメント失礼いたします。

    クロール頻度と検索エンジンからの流入に比例関係があるという内容でしたが、当方のサイトでは、現時点で1日平均200クロールされていますがアクセスは、良くて一桁台、最悪0です。

    記事数、インデックス数は100以上です。

    この事はどのように考えたら良いのでしょうか?

    1. コメントありがとうございます。

      ブログサイトの記事更新の頻度は高く、クローラーが常に巡回してるがアクセス数は少ない、ということはあります。
      その場合、たいていは理由は1つで、“コンテンツの質”です。
      SEOコンテンツの作り方」の記事をお読みいただけますと「質とは何か?」がご理解いただけるかと思います。

コメントは停止中です。