マイクロ office ★excel2016 価格 http://www.msofisu.com

microsoft オフィス ★office365 価格 個人

robots.txtの書き方と効果的な活用法

robots.txtの書き方と効果的な活用法

robots.txtの書き方と効果的な活用法

SEOは既に「良質なコンテンツ」のみが検索上位を独占するようになりつつある。

そして、良質なコンテンツばかりになってくるとサイト内部がどれだけ最適化されているかが結果を分けるようになってくる。

robots.txtはその内部の最適化の施策一つで、適切に設定するとSEO効果を大きく改善することができる。

当記事では、robots.txtを正しく設定することでSEO効果が改善する具体的なメカニズムと、robots.txtの効果的な設定方法を詳しくご紹介する。robots.txtが初めてという方でも、疑問が全て解決すると思うので、是非参考にして欲しい。

robots.txtは「ロボッツ・テキスト」、または「ロボット・テキスト」と読みます。 robotではなく、robotsです。

robots.txtサーチエンジンのクローラ(スパイダー)の、ファイルとディレクトリへのアクセスを制御するために使われます。

「secretsというディレクトリにあるファイルにはすべてアクセスさせたくない」とか、「himitsu.htmlというファイルだけはアクセスさせたくない」という使い方ができます。

「アクセスさせたくない」というのは、「インデックスさせたくない」すなわち「検索結果に表示させたくない」ということです。

「なぜ、検索結果に表示させたくないの?」と疑問に思うかもしれません。

さまざまなケースがあります。

たとえば、URLを自分が教えた限られた人にだけ見せたい場合です。 もしURLを知っている人が、どこかにそのURLを貼り付けたとしたら、クローラがたどってインデックスしてしまいます。

実際に、僕が以前に無料レポートスタンドに登録した無料レポートの入手URLがインデックスされていて、検索結果に表示されてます。 メールアドレスを収集するのが目的なのに、誰でも自由にダウンロードできてしまっては意味がないです。(??;

他の例として、有料リンクを掲載する場合があります。

Googleは有料リンクを全面的に禁止しているわけではありません。 PageRankを売ったりする無差別なリンク販売を禁止しているのです。

robots.txtでブロックしたページ経由でリダイレクトしてリンクさせれば、まったく問題ありません。

以下は、Googleのウェブマスター向けヘルプ センターからの引用です。

すべての有料リンクが Googleガイドラインに違反するわけではありません。リンクの売買も、検索結果の操作でなく宣伝を目的として行われる限り、ウェブ上での通常の経済活動となります。広告として購入したリンクでは、そのことを明示する必要があります。この処理は次のような方法で行うことができます。
  • rel=”nofollow” 属性を <a> タグに追加する
  • robots.txt ファイルによって検索エンジンからブロックされる中間ページにリンクをリダイレクトする

アフィリエイトリンクを隠すために短縮URLを使うアフィリエイターがいます。 短縮URLを記述したファイルを、検索エンジンにインデックスさせたくないときにも、robots.txtは使えます。

さて、前置きが長くなりました。

robots.txtの書き方を説明します。

簡単です。

robots.txtは、エディタ(Windowsに付属のメモ帳)で作成するシンプルなテキストファイルです。

記述する項目は、次の3つです。

  1. アクセスを制御するクローラのタイプ
  2. アクセスを許可するのか拒否するのか
  3. アクセスを制御するディレクトリ・ファイル

下は、robots.txtのサンプルです。

User-Agent: * Disallow: /

最初の「User-Agent」は、クローラの指定です。 「*(アスタリスクワイルドカード)」は、すべてのクローラを表します。

Googleのクローラは「googlebot」、Yahoo!のクローラは「Slurp」、MSN Live Searchのクローラは「msnbot」で指定できます。

「Disallow」は、「アクセス拒否」を表します。 アクセスを許可するときは、「Allow」ですが、Disallowの記述がなければアクセスするので、わざわざAllowを指定する必要はありません。

Disallow(Allow)の後に続くのは、アクセスを制御するディレクトリまたはファイルです。

例の「/(スラッシュ)」は「ルートディレクトリ」を表します。

「ルートディレクトリ」とは、いちばん上の階層のフォルダです。 ディレクトリを指定すると、その中にあるすべてのファイルと、サブディレクトリがあるときはサブディレクトリの中のすべてのファイルがアクセス制御対象になります。

「/secrets/」とすると、ルートディレクトリの中にある「secrets」というディレクトリの中のファイルをアクセス制御できます。

「/onlyyou/himitsu.html」とすると、ルートディレクトリの中にある「onlyyou」というサブディレクトリの中の「himitsu.html」というファイルへのアクセスを制御できます。

以上を踏まえて、サンプルのrobots.txtを解釈してみましょう。

User-Agent: * Disallow: /

「すべてのクローラ(User-Agent: *)は、ルートディレクトリ配下の全てのファイル(/)に、アクセスしてはいけません(Disallow)」という意味になります。

つまり、インデックスの完全拒否ですね。

別のサンプルです。

User-Agent: * Disallow: /secrets/

すべてのクローラは、「secrets」フォルダのすべてのファイルにアクセスしてはいけません、という命令になります。

「secrets」フォルダはURLで表すと、「http://www.eccube.org/secrets/」になります。

http://www.eccube.org/secrets/noaccess/」にアクセスさせたくなければ、

User-Agent: * Disallow: /secrets/noaccess/

になります。

ルートディレクトリの直下にある「secrets」フォルダの中の「ihateyahoo.html」ファイルを、Yahoo!の検索結果にだけ表示させたくなければ、次のようになります。

User-Agent: Slurp Disallow: /secrets/ihateyahoo.html

目的の記述をテキストエディタで書いたら、「robots.txt」という名前で保存します。

作成したrobots.txtファイルを、ルートディレクトリ(ドメインのいちばん上の階層のフォルダ、URLの「/」で表記される)にアップロードします。 ※ルートディレクトリにファイルをアップロードできない無料ブログでは、robots.txtは利用できません。

クローラは、アクセスしたときにいちばん最初にそのドメインrobots.txtを探して、見つかれば記述内容に従うように設計されています。

ただ、robots.txtに従わない行儀の悪いロボットも存在しますのでご注意を。 msnbotなんかは、たまに無視します。(??メ

アクセス制御の手段としては、nofollow属性や、METAタグの「noindex」属性も利用できます。

しかし、nofollow属性の付いたリンクは、リンク先ページクローラがたどってインデックスすることが確認されています。

インデックスを拒否するMETAタグの記述は、次のようになります。

<meta name=”robots” content=”noindex” />

※HTML4の場合は、最後の「/」は不要。nofollowと共に使われることが多い。

「robots」はすべてのクローラを表します。 Yahoo!だけに拒否したかったら、「slurp」を指定します。

ただMETAタグでの指定も、たまに無視されます。 MSN Live Seachはもちろんのこと(笑)、たまにGoogleでさえも。

ネットには、robots.txtを簡単に作成できるツールが無料で公開されているので探してみてもいいでしょう。

Googleウェブマスターツールには、robots.txtファイルを作成できる機能が追加されています。

でも、そんなツールに頼らなくても、robots.txtは簡単に作成できます。

アクセス拒否(インデックス拒否)したいデータがないのならば、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万アクセスほどの規模になることが分かる。

クロール頻度平均100以上

ここまでになれば検索数が、10000未満程度のミドルキーワードでも上位表示されるようになる。

2−1−3.クロール頻度が150回/日の場合のデータ

クロール頻度が150〜200回/日程度の規模になってくるとSEOで月間30万アクセスほどの規模になる。

クロール平均150から200

この段階になると、数多くのビッグキーワードでも上位表示されるようになっている。

いかがだろうか?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ページになると、以下のようにクローラーが回らないページの下図は大幅に少なくなる。

クローラーバジェット4ページ

それではクロールバジェットはどのように決められるのだろうか?

GoogleMutt Cutts氏は以下のように言っている。

多くのリンクを獲得しているページはクロールされるのも早い。ページランクが低いページはクローラーもそれほど頻繁に回ってこない。言い換えると、クロールバジェットは(ドメインやページの)オーソリティによって決まる。 参照:”Matt Cutts Interviewed by Eric Enge

そして、オーソリティを上げるためには、良質なコンテンツを頻繁に更新することを何ヶ月も何年も続ける必要があるため非常に時間がかかる。(本来はどの企業もやるべきことだが、、、)

そこで、必要になるのがクロール最適化だ。

注:オーソリティは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を使用して、検索結果ページや、検索エンジンからアクセスしたユーザーにとってあまり価値のない他の自動生成ページをクロールしないように生業します。 ・広告が検索エンジンの掲載順位に影響を与えないように、適切な対処をします。たとえばGoogleAdSense広告や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”」がついている必要がある。

広告に対するrobots.txt

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の設置場所に関しての違いを示したものなので参考にして欲しい。

※通常はルートドメインにアップしておけば問題ない

robots.txt設置場所

3−2−3.robots.txtの書き方のルール

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

User-Agent:* 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$
参照:『robots.txtファイルを使用してページをブロックまたは削除する

Allow:

基本的には使わないが、もしクロールを制御しているディレクトリ下の特定のページだけはクローラーが回るようにしたい場合に使う。例えば、「http://example.com/sample」はブロックするが「http://example.com/sample/important.html」はクロールを許可したいという場合だ。

その場合は以下のように記述すれば良い。(AllowはDisallowよりも優先される。)

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

Sitemap:

robots.txtにSitemap:を明記することはGoogleがサポートしている。記述しておくとSitemapを積極的に読むようになってくれるので必ず記載しておこう。

3−2−4.サーバーに設置する前に確認しよう

robots.txtをサーバーに上げる前には、対象となるページだけが制御されるかどうかを必ず確認しよう。Googleのウェブマスターツールでrobots.txtのテストツールが提供されている。ウェブマスターツールにアクセスして、[クロール]の[ブロックされたURL]をクリックしよう。

すると、下図のような画面になる。

robots.txtのテスト

指示通りに入力して、テストを押すと入力したページがブロックされているかどうか、ブロックされるべきでないページがブロックされていないかどうかを確認することができる。

robots.txt確認結果

確認後に問題ないようだったらアップロードしよう。

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.txtSEO内部対策のほんの一つに過ぎないが覚えておくと必ずプラスになる。