SEOは既に「良質なコンテンツ」のみが検索上位を独占するようになりつつある。
そして、良質なコンテンツばかりになってくるとサイト内部がどれだけ最適化されているかが結果を分けるようになってくる。
robots.txtはその内部の最適化の施策一つで、適切に設定するとSEO効果を大きく改善することができる。
当記事では、robots.txtを正しく設定することでSEO効果が改善する具体的なメカニズムと、robots.txtの効果的な設定方法を詳しくご紹介する。robots.txtが初めてという方でも、疑問が全て解決すると思うので、是非参考にして欲しい。
1.robots.txtとは
「SEO内部対策で検索流入数を一日で30%増加させた時に行った20の事」でお伝えしたように、SEO内部対策には「クロール最適化」と「インデックス最適化」の2つがある。
robots.txtは、この2つのうち、クロール最適化の手段の一つで、ユーザーページや自動生成ページなど検索エンジンに表示される必要のないページへのクロールを制御し、重要なページのみを検索エンジンに認識してもらうことによってSEOを改善するためのものだ。
早速、robots.txtの設定方法のご紹介といきたいところだが、正しく行うためにはクロール最適化に対する深い理解が必要となる。そこでまずはクロール最適化についてお話しよう。
2.クロール最適化の定義とその効果
クロール最適化とは、以下のように定義することができる。
サイト内の重要なページに対するクロール頻度を増やすことによって、比較的短期間でSEOを大きく改善するための施策
これを徹底して行うと、検索流入数を驚くほど向上させることができる。
なぜクロール最適化を行うことでSEOを大きく改善することが出来るのかを理解するには、まずはクローラーとSEOの関係を知っておく必要がある。
2−1.クローラーの巡回頻度や効率はSEOにとって超重要!
クロールの巡回頻度と検索流入数には強い相関関係がある。
これから証拠となるデータをお見せする。これを見るとクロール最適化を行っていると少ないクロール頻度でも大きな結果を得られることも分かるので是非ご確認頂きたい。
参考サイトの選定条件
1. 同一のクロール最適化を行っており、かつ直近のクライアント様サイトを対象とする
2. 定期的に良質なコンテンツを更新しているサイトを対象とする
3. 自動生成された重複コンテンツの量が格段に多くなるためECサイトは対象外とする
※本来クローラーの巡回数を正確に計測するにはサーバーのモニタリングが必要だが、ツールの導入コストがかかったり、過度に専門的になってしまうのでここでは誰でも使うことができるウェブマスターツールで計測している。
※実際のアクセス数は、対策するキーワードの需要によって大きく変わる。
2−1−1.クロール頻度が60回/日の場合のデータ
平均のクロール頻度が60回/日を越えるタイミングでロングテールキーワードからの検索流入数が急激に増える。言い換えると、この水準まで達しなければロングテールキーワードでも上位に表示されない。
※上が検索流入数の図 / 下がクロール頻度の図
この段階で、このように検索流入の明らかな伸びがあれば、後は良質なコンテンツを継続して更新するだけでクローラーの巡回頻度が上がり、さらにSEO効果が上昇していく。
2−1−2.クロール頻度が100回/日の場合のデータ
クロール頻度が100回/日を越えてくるとSEOで月間10万アクセスほどの規模になることが分かる。
ここまでになれば検索数が、10000未満程度のミドルキーワードでも上位表示されるようになる。
2−1−3.クロール頻度が150回/日の場合のデータ
クロール頻度が150〜200回/日程度の規模になってくるとSEOで月間30万アクセスほどの規模になる。
この段階になると、数多くのビッグキーワードでも上位表示されるようになっている。
いかがだろうか?SEOにとってクローラーが非常に大きな役割を担っていることはご理解頂けただろう。
他にも、実際に「クロールの巡回頻度が8000回/日あったのが1週間で800回/日以下に落ちてしまい、ほとんどのキーワードで検索に引っかからなくなってしまった」というご相談を受けたり、”SEARCH MARKETING EXPO” 講師のMitul Candhiも「14日間クロールされていないページは検索流入数が減りクロールの頻度が多いページほど検索流入数が増える」と断言したりしている。
繰り返しになるが、SEOにおいてクローラーが非常に重要だということをしっかりと認識して欲しい。
2−2.robots.txt設定の前に抑えておくべきクローラーの特徴
それでは、SEOを攻略する上で絶対に知っておくべきクローラーの特徴をご紹介する。
2−2−1.クローラーは被リンクを経由して訪れる
ページに対するクローラーの流入経路は2つだけだ。
・XMLサイトマップを経由して訪れる
このうちでSEO効果に対して比率が高いのは前者のリンクを経由して訪れるものだ。つまり、同じドメイン内でも質の高い被リンクを多く獲得しているページほどクローラーが頻繁に回ってくるようになる。
また、クローラーは内部リンクからドメイン内の別のページの情報もチェックするようになっている。そのため、上位表示をさせたい重要なページに対して内部リンクを貼ると、そのページの検索順位を改善することができる。
さらに、そうした内部リンク施策で成果を最大化するためにはクロールバジェットを知っておく必要がある。
2−2−2.ドメイン毎にクロールバジェット(予算)がある
クローラーがサイトに回ってきた時に、どれぐらい深くサイトを回ってくれるかは、ドメインのクロールバジェットによって決められる。
以下の図を見て欲しい。
これは、クロールバジェットが3ページだった場合の各ページに対するクロール状況を示したものだ。
ご覧のように、何も考えずにサイトを構築していたらクローラーが回らないページが多数出てきてしまう。これが例えばサイトが成長してクロールバジェットが4ページになると、以下のようにクローラーが回らないページの下図は大幅に少なくなる。
それではクロールバジェットはどのように決められるのだろうか?
GoogleのMutt Cutts氏は以下のように言っている。
多くのリンクを獲得しているページはクロールされるのも早い。ページランクが低いページはクローラーもそれほど頻繁に回ってこない。言い換えると、クロールバジェットは(ドメインやページの)オーソリティによって決まる。
そして、オーソリティを上げるためには、良質なコンテンツを頻繁に更新することを何ヶ月も何年も続ける必要があるため非常に時間がかかる。(本来はどの企業もやるべきことだが、、、)
そこで、必要になるのがクロール最適化だ。
注:オーソリティはMOZのOpen Site Explorerで調べることができる。
2−2−3.クロール最適化におけるrobots.txtの役割
robots.txtは不要なページに対するクローラーのアクセスをブロックすることができる。
つまりSEO上クロールが不要なページにはクローラーが回らないようになるのでクロールバジェットが無駄に消費されないようになる。結果、クローラーを回す必要のあるページに、より多くのクローラーが回るようになるためサイト全体のSEOが改善される。
これがrobots.txtの役割だ。
3.robots.txtの設定方法
それでは、ここからようやく本題のrobots.txtの設定方法をご紹介する。
robots.txtの設定を間違えてしまうと、逆効果になってしまうので、それを防ぐためにも、ここまでの解説をしっかりと頭に入れた上で行おう。
3−1.robots.txtで指定するべきページとは?
Googleは以下のように、robots.txtを使ってクローラーを排除するべきページを具体的に指定している。
・robots.txtを使用して、検索結果ページや、検索エンジンからアクセスしたユーザーにとってあまり価値のない他の自動生成ページをクロールしないように生業します。
・広告が検索エンジンの掲載順位に影響を与えないように、適切な対処をします。たとえばGoogleのAdSense広告やDoubleClickのリンクは、robots.txtファイルでクロールをブロックします。
参照:『ウェブマスター向けガイドライン』
これを簡単に言い換えると、robots.txtでクロールをブロックするべきページは以下の2つということになる。
- 検索エンジンのユーザーにとって価値のないページ
- 広告リンク先のページ
一つずつご説明する。
3−1−1.robots.txtでブロックすべき自動生成ページとは?
自動生成ページとは、プログラムによって生成されたコンテンツのことだ。
Googleでは具体的に以下のように定義されている。
・自動化されたツールで翻訳されたテキストが人間によるチェックや管理を経ず公開されたもの
・マルコフ連鎖などの自動化されたプロセスを通じて生成されたテキスト
・自動化された類義語生成や難読化の手法を使用して生成されたテキスト
・Atom/RSS フィードや検索結果からの無断複製によって生成されたテキスト
・複数のウェブページからのコンテンツに十分な付加価値を加えることなくそれらをつなぎ合わせたり組み合わせたりしたもの参照:『自動的に生成されたコンテンツ』
しかし、これだと中々分かりづらいだろうから、誰にでも分かるように解説しよう。
大切なことは、自動生成ページという言葉に惑わされずに、「ユーザーにとって価値のないページに対するクロールはrobots.txtでブロックする」と理解することだ。そして、現状、自動生成ページのほとんどがユーザーにとって価値のないページだから、「自動生成ページ=ブロック」という風潮になっているだけだ。
それでは、ユーザーにとって価値のないページとはどのようなページだろうか?簡単に言うと、それは『良質なサイトを作るためのアドバイス』の28の項目を“満たさない“もののことだ。
繰り返しになるが、ユーザーにとって価値のないページに対するクロールは全てブロックしよう。また、あなたのサイトの自動生成ページがユーザーにとって価値があるかないかを自分では判断しかねる場合もブロックしておく方が無難だ。
両者を同一と考えている方が多いが、それぞれ別物であり対策方法も違う。例えば、Googleは重複コンテンツに対するクローラーの巡回をrobots.txtで禁止することはおすすめしないと言い切っている。(参照:『重複するコンテンツ』)簡単に言うと、自動生成ページはrobots.txtでクロールをブロックし、重複コンテンツはrobots meta tagでインデックス最適化を行うことが必要だ。インデックス最適化に関しては別記事を準備しているので楽しみにしていて欲しい。
3−1−2.広告リンク先ページのrobots.txtを確認しよう
前述の、「広告が検索エンジンの掲載順位に影響を与えないようにするための適切な対処」がこれに該当する。これは広告ASPを運用している会社やプレスリリースの配信会社が行うべきものであり、ほとんどのサイト運営者にとっては必要のないことなのだが念のために解説しておく。
Googleは単なる広告を良質なコンテンツとは考えておらず、広告にクロウラーが回り検索順位に影響を与えることを歓迎していない。
そのため、広告ページに対するリンクは、そのページ対する直リンクではなく以下のようになっていなければならない。※さらにサイトから広告ページに対するリンクには、「rel=”nofollow”」がついている必要がある。
Google Adsense 広告 や Double Click が発行するリンクはこのように自動的に、robots.txtでクロールをブロックしているリダイレクトページが挟まれるものになっている。
しかし、もしこのような仕組みになっていない広告ASPを使うと、最悪の場合、あなたのサイトも、広告ページもペナルティを受ける可能性がある。
残念ながら、このように適切な対処ができていない広告配信会社やプレスリリース配信会社は少なくないのが現状だ。もし、あなたがアフィリエイト広告の掲載、もしくは出稿を考えているなら事前に必ず確認しておこう。
3−2.robots.txtの書き方のルール
クローラーをブロックするべきページが分かったら早速robots.txtを作って行こう。書き方にはいくつかルールがあるのでしっかり抑えておこう。複雑に感じるかもしれないが、慣れてしまえばあっという間に設定できるようになるので安心して欲しい。
3−2−1.robots.txtの作成方法
robots.txtはテキストファイルで作成する。そして、ファイル名は「robots.txt」にしなければならない。
3−2−2.robots.txtの設置場所のルール
作成したrobots.txtは、FTPソフトを使って”http://example.com/robots.txt”のようにルートドメインにアップする。例えば、”http://example.com/blog/robots.txt”のように、ルートドメイン以外の場所に設置しても効果はないので注意しよう。
以下の図は、robots.txtの設置場所に関しての違いを示したものなので参考にして欲しい。
※通常はルートドメインにアップしておけば問題ない
3−2−3.robots.txtの書き方のルール
robots.txtの基本の形は以下の通りだ。
Disallow:
Sitemap:http://example.com/sitemap.xml
※Sitemapの前は一行空ける
それぞれの要素を一つずつ説明する。(※参考までにGoogleのrobots.txtも見ておこう。)
User-Agent:
これは、どのクローラーの動きを制御するかを指定するものだ。「*」は全てのクローラーに指示することを表す。例えば、「User-Agent:Googlebot-image」と記入すると、画像用クローラーのみに指示することができる。Googleのクローラーの種類に関しては、『Googleクローラ』を参照しよう。基本は「*」で大丈夫だ。
Disallow:
これは、クローラーのアクセスを制御するファイルを指定するものだ。書き方にはいくつかのルールがあるのでご紹介する。
Disallow 行ではブロックするページを指定します。特定の URL またはパターンを入力できます。エントリはスラッシュ(/)で始める必要があります。
- サイト全体をブロックするには、スラッシュを使用します。
Disallow: /- 特定のディレクトリとその中身をすべてブロックするには、ディレクトリ名の後にスラッシュを入力します。
Disallow: /junk-directory/- 特定のページをブロックするには、そのページを指定します。
Disallow: /private_file.html- Google 画像検索から特定の画像を削除するには、次の記述を追加します:
User-agent: Googlebot-Image
Disallow: /images/dogs.jpg- Google 画像検索からサイトのすべての画像を削除するには、次のように記述します:
User-agent: Googlebot-Image
Disallow: /- 特定の種類のファイル(例: .gif ファイル)をブロックするには、次のように記述します:
User-agent: Googlebot
Disallow: /*.gif$- 疑問符(?)を含むすべての URL へのアクセスをブロックするには、次のように記述します(具体的には、ドメイン名の後に文字列と疑問符が続き、その後に文字列が続く URL):
User-agent: Googlebot
Disallow: /*?- URL の末尾に一致させるには、$ を使用します。たとえば、.xls で終わるすべての URL をブロックするには、次のように記述します:
User-agent: Googlebot
Disallow: /*.xls$
Allow:
基本的には使わないが、もしクロールを制御しているディレクトリ下の特定のページだけはクローラーが回るようにしたい場合に使う。例えば、「http://example.com/sample」はブロックするが「http://example.com/sample/important.html」はクロールを許可したいという場合だ。
その場合は以下のように記述すれば良い。(AllowはDisallowよりも優先される。)
Allow:/sample/important.html
Sitemap:
robots.txtにSitemap:を明記することはGoogleがサポートしている。記述しておくとSitemapを積極的に読むようになってくれるので必ず記載しておこう。
3−2−4.サーバーに設置する前に確認しよう
robots.txtをサーバーに上げる前には、対象となるページだけが制御されるかどうかを必ず確認しよう。Googleのウェブマスターツールでrobots.txtのテストツールが提供されている。ウェブマスターツールにアクセスして、[クロール]の[ブロックされたURL]をクリックしよう。
すると、下図のような画面になる。
指示通りに入力して、テストを押すと入力したページがブロックされているかどうか、ブロックされるべきでないページがブロックされていないかどうかを確認することができる。
確認後に問題ないようだったらアップロードしよう。
4.robots.txtに関してよくある6つの疑問
ここでは、robots.txtに関してよく耳にする6つの疑問に対して回答を用意させて頂いた。ぜひ参考にして欲しい。
4−1.robots.txtは絶対に必要か
サイト内の全てのページにクローラーを巡回させたい場合はrobots.txtはなくても良い。しかし、Matt Cuttsはその場合でも、robots.txtがあった方が1%程度は有利だと答えている。もし不安なら「3−2−3.robots.txtの書き方のルール」の基本のファイルをアップしておこう。
4−2.第三者がrobots.txtを見るのを防ぐことは可能か
robots.txtファイルはルートドメインに設置するため見ようと思えば誰でも見ることができてしまう。もし、ユーザーに決して知られてはいけないディレクトリやファイルがあるなら、それはrobots.txt内に書くべきではない。絶対に見られてはいけないページは、サーバー側からパスワードを設定するなどして対処しよう。
4−3.robots.txtの記述にミスがあった場合はどうなるか
クローラーはある程度の融通が効くので、小さなミス程度では大きな悪影響は起きにくい。しかし、Disallowで指定するディレクトリのスペルなどに間違いがあれば、当然、効果は現れないので気付いたらすぐに修正するようにしよう。
4−4.robots.txtで指定したページは検索結果から消えるか
クロールをブロックすると検索順位は下がる傾向にある。しかし例えば、質の高い被リンクが多くついているようなページをrobots.txtでクロールブロックしても、そのページはほとんどの場合検索結果から消えることはない。もし、確実に検索結果から消したい場合は「noindex robots meta tag」タグを使おう。また、noindex robots meta tag と robots.txtは重複させてはいけないということも抑えておこう。
4−5.robots.txtを設定してから効果が現れるまでの期間は
robots.txtを編集したら、すぐに効果が現れるのではなく、まずGoogleがキャッシュをクリアするタイミングを待たなければいけない。それには通常丸1日かかる。また、Googleのクロールとインデックスの仕組みは複雑なので、効果が現れるまでの期間を明言することはできない。
4−6.robots.txtとrobots meta tagの違いは
robots.txtはクロール最適化のために行うものだ。一方、robots meta tagは一つ一つのページのインデックスを最適化するために行うものだ。例えば、重複コンテンツ問題の解決はインデックス最適化で行うものだ。インデックス最適化に関しては近いうちに別記事を準備しているので、少々お待ち頂きたい。クロールやインデックスの解説に関しては、『Googleの検索順位決定の仕組み』を確認しよう。
5.まとめ
弊社は、このバズ部や、ほとんどのクライアント様サイトを見ている中で、SEOはこの数ヶ月で非常に大きく変わったことを実感している。どう変わったかと言うと、本当に検索ユーザーの役に立つコンテンツのみが検索上位に表示されるようになりつつあるということだ。
今後、SEOはますますコンテンツの質の高め合いになっていくことだろう。
そして、もし、コンテンツの質が同程度と判断された場合は、しっかりと内部対策(クロール最適化とインデックス最適化)されているかどうかという小さな差が検索順位を左右するようになるだろう。
その中でも、robots.txtはSEO内部対策のほんの一つに過ぎないが覚えておくと必ずプラスになる。
Appreciation to my father who told me concerning this
webpage, this webpage is really awesome.
とてもわかりやすい記事をありがとうございます。
ひとつ疑問に思ったのですが、弊社のブログには「パスワード保護」をした記事がありますが、そのような「パスワード保護」した記事へのクローラーのブロックはすべきですか?
Googleから見ると、記事内容がない状態なので、価値のないページと判断されそうで怖いです。
クローラーのブロックをお勧めします。
「パスワード保護」とは、WordPressの投稿ページの「公開」にある機能のことだと理解しました。
おっしゃる通り、確かに「パスワード保護」の記事はコンテンツとして評価の対象にはならないでしょう。
そして、この価値の低い記事につられてサイト自体の評価が下がる可能性は考えられます。
初コメント失礼いたします。
クロール頻度と検索エンジンからの流入に比例関係があるという内容でしたが、当方のサイトでは、現時点で1日平均200クロールされていますがアクセスは、良くて一桁台、最悪0です。
記事数、インデックス数は100以上です。
この事はどのように考えたら良いのでしょうか?
コメントありがとうございます。
ブログサイトの記事更新の頻度は高く、クローラーが常に巡回してるがアクセス数は少ない、ということはあります。
その場合、たいていは理由は1つで、“コンテンツの質”です。
「SEOコンテンツの作り方」の記事をお読みいただけますと「質とは何か?」がご理解いただけるかと思います。