robots.txtとは検索ロボットのクロール制御!WordPress初心者に設置場所・追記方法

シェアする

robots.txtファイル:検索ロボットにクロール制御の命令

色んなページを読んで、robots.txtを設置しよう!って見て来られ、それってどうやって作るの?何を書いたらいいの?本当にこれであってるか?と疑問だらけでたどり着いたことでしょう。初心者に疑問は付きモノですから。

robots.txtファイルで何を設定するのか、どうすれば良いのか。初心者の疑問が痛いほどわかるので、謎が解けるように書いてます。ちょっと知ってるあなたは時短で目次をつかってくださいね。

スポンサーリンク

目次

robots.txtファイルって、何?

はじめてブログやサイトをネットに公開したとき、サイト名がなかなか検索結果として表示させれません。あなたのブログをネット上に認識させ、検索の結果表示されるには、検索専用ロボットがブログを巡回して、データファイルを読み取って初めて公開されます。

このブログのデータファイルは、膨大なんですね。膨大なデータを巡回し読み取ると、あなたのブログに負荷がかかります。

一度にデータをたくさん読み込むから仕方ないでは済まさないで、ブログの表示に関係があるデータファイルを読み取れば効率が良い!『読み取る範囲を命令しよう!』とロボットに命令を与えるのが、robots.txtファイルになります。

検索ロボットは情報をクロールしてインデックスする

ネット上に公開し、検索結果に表示されるには、検索用ロボットに情報を読みとってもらいます。ロボットがブログを巡回し情報を読み込む行動をクロールするなど言い、クロールするロボットはクローラー

クローラーがブログを巡回して得た情報を検索データベースへ持ち帰って、検索結果に出せることをインデックスといって、ネット上に公開した状態です。

これでやっと検索から流入の見込みが出てくるから、ブログを始めたばかりだったら、まずインデックスさせないといけません。クローラーは、HTMLと言われるブログの骨組みに書かれたデータを順に読み込み、検索のデータベースへ持ち帰ります。

クローラーが読み込むデータから改善を指摘される場合がある

クローラーはブログの骨組みHTMLから、テーマで設定した情報・ブログの装飾を決めるCSSファイル、記事などなど読み取ります。これは新たにブログ(WordPress)を導入したあなたからすれば、このデータはホンの一部です。

ブログの表示に関わる最低限のファイルをクローラーに見せないと実際の表示と、クローラーのとらえ方が違ってきます。ブログの表示に関わる全てをクローラーが理解していないと、この表示はユーザーに優しくないから、改善しましょうと教えてくれる企業も。

それがグーグルです。グーグルは、グーグルbotと言う検索ロボットを沢山導入してるので、サーチコンソールで、ロボットが見たブログの見かた教えてくれます。

サーチコンソールのダッシュボードにある左サイド、Googleインデックスクロール。この2つはrobots.txtの命令に深く関係ある場合もあるので、インデックスやクロールエラーで指摘されたら確認が必要なので、登録だけでなく実際チェックしてくださいね。

サーチコンソール画面:Googlebotの動きをチェック

LINKSearch Consoleログイン

WordPressならxmlサイトマップを導入

クローラーはリンクをたどって、Web上をアチコチ蜘蛛のように這って、情報を検索データベースへ持ち帰るので、そう呼ばれます。クローラー用サイトマップを生成して、更新を BingやGoogleに更新を伝えるPINGを飛ばすプラグインがWordPressにもあります。

クローラーが這うサイトマップを表示

クローラーが這うXMLサイトマップのリンク

記事公開後いつインデックスするか不明なので、プラグインXMLサイトマップで設定し、ロボットに更新を伝えたり、上で軽く触れたサーチコンソールのクロールより『Fetch as Google』でアドレスを入れ、早々にインデックスさせる方法もあります。

管理画面のプラグインより、新規追加をクリックしてGoogle XML Sitemapsを入力したら有効化までさせてください。クローラーを制御するよりもサイトマップの登録が大事なので。

LINKWordPressプラグイン、Google XML Sitemapsの設定方法

WordPressを導入した時点でrobots.txtは仮想で導入されてたはずです。サブドメインでは確認済み。※もし導入されてなくても、このプラグインで生成されるように設定も可能。

robots.txtファイルに、書いてる内容とは

ネット上の情報を読み取るクローラーに、巡回するしないを決めるrobots.txtファイルにデフォルトでは、どのように書いているのか見てみましょう♪

WordPressをインストールしたとき、インデックスをする状態

インデックスする

検索エンジンでの表示インデックスしてる状態

この状態で、デフォルトのrobots.txtファイル内容は下記。

“User agent”は、私たちがネットでアクセスするのをとりもってくれるプログラムって事で、『ネット上にいるクローラー』っと言う意味になります。

  • User-agent: *
    • 【クローラのロボット:全てに】
    • すべてのクローラー対象
  • Disallow: /wp-admin/
    • 【来ないでね:/wp-admin/】
    • Disallowは、クローラーに巡回するな!って意味。
    • wp-adminは、ワードプレスの管理者情報

※全てのクローラが従うとは限らないかったり、解釈が違ったりしロボットが全て理解しかねる可能性もあって、『質の良くないクローラーが居る』ようです。

クローラによって構文解釈が異なる

信頼できるウェブクローラは robots.txt ファイルのディレクティブに従いますが、各クローラでディレクティブの解釈が異なる可能性があります。各種のロボットに対応する適切な構文を知る必要があります。ロボットによっては、一部の指示を理解しない可能性があります。
引用ページ元:robots.txt ファイルについて – ウェブマスター ツール ヘルプ

インデックスしない状態のデフォルトのrobots.txtファイル内容

インデックスしない状態です。と言う記載は

これは、サブドメインなどでテスト環境用などのとき、検索結果に表示(インデックス)したくないとき用です。リンク先にも書いてる通り、後はhead内にノーインデックスを入れると安心ですね。

head内にメタタグを入れた例

次に、インデックスするように変更すれば、下記のように変わります。その他の環境でもこうなったりも。

これで、公開されます。イミは基本的に管理画面の表示に関することをAllowクロールしてね。と言ってます。ただ上で触れたサーチコンソールで、指摘される場合も実際あります。

あなたが使っているプラグインなどによって、そもそも皆環境が違いますので、自分のクローラーの制御は、あなたにあったものを選ぶ必要があるんです。そのためにサーチコンソールのクロールの項目で指摘があればチェックして欲しいです^^

Allow: /wp-admin/admin-ajax.phpについては、私の環境ではインデックスされたら、必要ないと思って詳しいトコロはときどき調査してます。

環境がそれぞれ違っているので、自身で確認してもらいたい所です❦

robots.txtファイルの初期設定!管理画面は巡回しない設定

wp-adminを巡回しないようにしているのは、基本的に管理画面を表示する必要性がないから、このプラグインを導入したときrobots.txtファイルにその内容が書かれています。

wp-adminは、WordPessの管理画面系ファイル全般を置いているディレクトリ(階層化したファイル置き場)です。WordPessの表示に圧倒的に関係あるのは、wp-contentにあるディレクトリです。その部分を巡回するような指定になってます。

巡回を基本と考えた書き方ですね。どの部分を巡回させないのか、巡回させないディレクトリ(階層)以下でクロールしてほしい状態のとき、初めて巡回してね。と意味する言葉を追記する必要があります。

クローラーに命令して動きを制御するのがrobots.txtファイル
ポイント

仮想的にrobots.txtのファイルに勝手に書いてくれて、効率よく自分のページを読み取ってもらう為に、管理画面の情報ファイル『wp-admin』は見なくても良いから、クロールの範囲を指定し命令している。

またサイトマップの表示robots.txtに住所的な、Sitemap: http://ドメイン/sitemap.xmlを置きたいと思う気持ちもわかるので、次を見てみましょう。

自分のrobots.txtの内容を確認する方法

自分のブログのrobots.txtファイルは、どのように書かれているか、知りたくなってきたでしょうから、確認方法を書きますね。URLの後ろに、

を付けてアドレスバーに入れてください。例)http://domain.com/robots.txt

これでご自身のrobots.txtは、どんなクローラーにどんな指示を出してるのかを知ることができます。

全てのクローラー、グーグルやbing、ヤフーなど全てのクローラーに!管理画面は巡回しないで!って意味。こんな感じでしたら、モバイルフレンドリーにも違反してないので安心です。

それにサイトマップの住所を付けた場合

  • Sitemap: http://bibabosi-rizumu.com/sitemap.xml
    • 【サイトマップ:この場所にあります】
    • XML Sitemapなどで既に登録している場合は、記名みたいなモノ
    • サイトマップに登録してない場合は、サイトマップの登録

プラグインを導入して、設定をすませいればXML Sitemapは生成されているので安心。

サイトマップに登録してない場合、上記をあなたのアドレスに変えて追記すれば良いです。

ちょっとあとにある見出しrobots.txtファイルをサーバーへアップする方法

ずっと後述の見出しrobots.txtファイルに追記するときの書き方をどうぞ

※無料ブログの場合は、個人でサーバーを借りてないので、設置が出来ません。下記ページのOnline Generators/Services(オンラインジェネレータ/サービス)あたりか、FC2のサイトマップなどに登録するなど…ですかね^^

LINKSitemapGenerators.wiki|Google Code Archive – Long-term storage for Google Code Project Hosting

ブログを始めたばかり!インデックスされるのが遅いとき

プラグインを導入していても初めてブログを公開したら、書いた記事タイトルを検索してもひたすらインデックスされない気がします…。

作ったばかりのブログは、上述のXMLサイトマップでクローラー専用リンクを作っても、新しいのでなかなか来ません。

サーチコンソールのダッシュボードを見てもクロールにこないと、心配でちゃんとクロールくるのかなぁ…って。来るだろうけど、アガいてみたくなる気持ちもわかります!

サーチコンソールでサイトマップの登録をテストしてrobots.txtに書く

プラグインでサイトマップを追加したけど、クローラーが来るか不明で心配なときに試してください。2日もしないうちにインデックスされ、安心できる方法です。

サーチコンソールのクロールをクリックして、サイトマップを選択、サイトマップ追加/テストとあるので、クリック。

サーチコンソール:サイトマップ追加

サイトマップの追加テストが出てくるので、テストして送信すれば2重で安心!

サイトマップの送信

あなたのURLの後ろに、http://domain.com/sitemap.xmlとなるように上の文字を記入して問題なければテスト完了!

これでrobots.txtファイルに書き込み、http://domain.com/sitemap.xmlにアクセスしたら、クローラーが巡回するサイトマップが出来上がっているが確認できます!

クローラーが這うサイトマップの表示

でもこれはテストなので、住所にあたるサイトマップとユーザーエージェントやDisallow・Allowの項目を記載してアップすれば、表示されますよ。

LINKサイトマップを作成、送信する|Search Console ヘルプ

robots.txtの書き方と意味、アップ方法、モバイルフレンドリーで何が変わったかなど、書いていきますね。

robots.txtファイルをサーバーへアップする方法

robots.txtファイルがサーバーで見当たらない理由は、仮想環境で出来上がるファイルだと、Xmlサイトマップのプラグインを導入したところにも書いてます(後述)。WordPressをインストールしたとき、実は(私の環境では)生成されてるんです。

FTPソフトでアップする場合と、robots.txtファイルが存在してる場合サーバーのFTPに直接入って編集する方法の2種類、見てみましょう。

robots.txtをFTPソフトでアップする

テキストの名前はrobots.txtで、ファイル名robots、拡張子が.txt。Windowsのメモ帳を使っても問題ありません。“robots.txt”ファイルが準備できたら、サーバーのWordPressの入ったフォルダ内にアップロードします。

robots.txtファイルをアップする場所

robots.txtファイルをサーバー側のどのディレクトリ階層にアップするか、初心者が悩む所。

ロリポップの独自ドメインdomain.comの場合のパスは

  • /domain.com/robots.txt

    robots.txtをサーバーにアップする方法。FTPソフトにて。

    左側がPCで編集して保存したrobots.txtファイル。右側のサーバーにアップ!

エックスサーバーの場合WordPressが入った階層は

  • /domain.com/public_html/robots.txt

    エックスサーバーのrobots.txtファイルをアップするパス

サブディレクトリの場合は

  • ロリポップ:/domain.com/subdomain/robots.txt
  • エックスサーバー:/domain.com/subdomain/public_html/robots.txt

と言う具合でWordPressを導入しているディレクトリへアップロードしてください。

サーバー側に、robots.txtのファイルがない人。または、書き換えたい人は、このようにサーバーにアップします。FTPソフト持ってない方は、FFFTPの初期設定をみながらインストール設定してくださいねっ。

ポイント

WordPressの入ったフォルダとは、wp-admin・wp-content・wp-includesフォルダと同じディレクトリ:階層にアップすればOK!

文字化けするとき、Sitemap: http://????.com/sitemap.xml

日本語ドメインを使っていてrobots.txtファイルのドメインにほんご.comが文字化けしてしまうときは、文字コードの問題です。

例えばロリポップでアップロードするとASCIIで保存され、エックスサーバーではShift_JISでアップされます。ドメインを日本語にしている場合は、???.comになるのは、文字コードがASCIIの場合です。

ASCIIは英数字のみを扱うシンプルな文字コードで、Shift_JISに変更すれば日本語も表示されるので試してくださいね。※UTF-8でサーバーに上げもエラーは出ません。実験済み❦

LINK文字コードUTF-8のbomとは何!?WordPressのエラー防止対策はUTF-8Nって話

robots.txt ファイルをブログディレクトリに置いても良い?

XML Sitemapの基本的な設定画面

XML Sitemapの基本的な設定画面を見ると

サイトマップの URL を仮想 robots.txt ファイルに追加
WordPress が生成した仮想 robots.txt ファイルを使用しています。実際の robots.txt ファイルをブログディレクトリに置かないでください。

robots.txtファイルをWordPressに置いちゃダメって書いてます。実際何度も試した結果。

ポイント
  • robots.txtファイルをWordPressに置いても良い!

ブログにこのファイルを置くと、優先度が高くなるだけでした。元のプラグインが生成したrobots.txt記載ではなく、自分がアップしたものが、採用されるといった感じ。

robots.txtはルートディレクトリに置くって聞くけど、ルートディレクトリroot directoryって何?

よくみかけて3か月以上、意味がわからなかった事がルートディレクトリroot directory。いったい何なの?ってなります。サーバーの違いや色んなルートがある中で、ルートの場所まで変化してるようにも感じたものです。

アップする場所に書いたとおり、WordPressが入った階層がサーバーによって違うから、ややこしいだけです。要はこのばあい、ドメインの根っこの部分って事です。domain.com/robots.txt と、ブログの入った階層直下ってこと。

WordPress:ブログルートの階層はココ

なぞは解けたけど、確認として。

  • robots.txtは、ドメイン直下(public_html直下)に入れちゃえばOK!

見出し:robots.txtファイルをアップする場所がブログのルートディレクトリです。

ブログの名前の1つ下層のことを “サブディレクトリ” って言います。
Disallow: / サブディレクトリ/その下のサブディレクトリ/

  • サブディレクトリのWordPressが入ったwp-adminがある階層
  • サブドメインも同じ
    • サブドメインのwp-adminがある階層にrobots.txtを入れればOK!

wp-adminwp-contentwp-includesのフォルダのある、またWordPressの重要ファイルwp-config.phpがある同じ階層がブログのルートディレクトリ。そこにアップすればOK!

ルートディレクトリについてわかりやすいのは、下記ページさんです。

参考レンタルサーバサービス(ホスティング、独自ドメイン) – リウコム・インターネット・サービス » Q.FTPルートディレクトリとはなんですか?

robots.txtファイルに追記するときの書き方

robots.txtファイルに追記する場合、基本的にクロールすることが前提なので、クロールを禁止しているディレクトリ(階層)以下をクロールする。と言う書き方をしてください。

クロールを禁止する書き方

  • Disallow: /
    この状態だとサイト全体クロールしないでって意味です。

【:】後の【/】忘れては反映されません。

  • Disallow: /wp-admin/
    • wp-admin内は、クロールしないで。

クロールを禁止されたディレクトリ以下クロールしたい場合

サーチコンソールのGoogleインデックスでブロックされたリソースから、クロールを禁止している階層より下のディレクトリだけをクロールさせたいとき追加する方法です。

たとえば、http://domain.com/wp-admin/admin-ajax.phpがブロックされているとしましょう。

管理画面を禁止しているから、wp-admin以下の階層admin-ajax.phpがブロックされます。

なので、禁止しているwp-adminフォルダ内のadmin-ajax.phpのみクロールする設定に変更すると、下記。

  • User-agent: *
    • すべてのクローラーに
  • Disallow: /wp-admin/
    • wp-admin管理画面は、クロールしない
  • Allow: /wp-admin/admin-ajax.php/
    • 「wp-admin」の下層「admin-ajax.php」だけは(Allow)クロールしてね♪
  • ほかの階層は、全てクロールする設定。

となるわけです。あなたにあったものを、サーチコンソールを確認して、指定してください。

直接サーバーのFTPに書き込む方法

サーバーに入る権限があれば、サーバーのFTPを直接編集しても楽に済ませることができます。()内はエックスサーバーでの内容で書いてます。

  • サーバーのFTP(WebFTP)に入り、ドメイン(public_html)フォルダ内にある「robots.txt」のファイルを選択して念のためクリックしてダウンロード
  • ファイルに入り直接編集してまちがいないか、確認。
  • 保存する(編集をクリックしたら保存できる)。
  • さらにその内容をダウンロードしてバックアップをとる。

サーバーのFTPに直接記載内容を書き換える方法

階層はwp-adminと同じディレクトリ。

ロリポップでのパスは、domain.com/robots.txt

そこで編集したい内容を直接書き込んでください。ロリポップFTPの使い方(編集方法)は下記をどうぞ。文字コードも気にしなくていいので楽なのでオススメです。

LINKロリポップFTP!ファイル編集やアップロード・ダウンロード・ファイル転送ができて便利な使い方

モバイルフレンドリーの結果にも注意

モバイルフレンドリーで、2015年4月より新たにスマホ検索結果に影響しますよ♪っと付け加えられましたが、下記記載は絶対出しておきましょう♪って事なんです。

  • スタイルシート:CSSでブログを装飾してるファイル
  • 他はJScriptファイル
  • 画像のファイルのディレクトリなど

CSS、JSが含まれているのは、下記のフォルダ内。

  • wp-includes
  • wp-content

wp-includesファイルにあるCSS、JSも見ない:Disallow指定していたら、グーグルさんから警告が来たりしてたようでした。最低限:CSS、JSのフォルダは見てねっ:Allow指定するなど早急に対処しないとダメですねっ。

参考CSSとJSファイルをブロックしているサイトに警告メッセージをGoogleが一斉送信 | 海外SEO情報ブログ2015/8/2追記

CSS、JavaScript、画像とか、robots.txtでDisallow→見ないで。っとしていたら?モバイル画面の表示が実際の見た目と違って伝わってしまってヨロシクないし、モバイルユーザーに対して優しくないと、レッテルを貼られかねません。

2015年以降のブログは、元の設定が昔と違うのでCSS、JavaScript、画像など特に指摘はないですけど、この機会に、モバイルフレンドリーのテストしてみる事をおススメします。

リソースをクロール可能な状態にしておいてください。robots.txt で、検索エンジンがページのレンダリングに不可欠なファイル(広告を含む)にアクセスできないようにすることは避けてください。ページのリソース(CSS、JavaScript、画像など)にアクセスできないページは、Googlebot が「モバイル ブラウザに表示して問題なく動作するページ」と認識しない場合があります。つまり、ページが「モバイル フレンドリー」と認識されず、モバイル ユーザーの検索結果に正しく表示されない可能性があるということです。

引用ページ元:モバイル フレンドリーにする際の注意事項 – ウェブマスター向けモバイルガイド

wp-includesにCSSとJsを追加した例

wp-includesは以前はクロールしなかったのでしょう。

その後ブログを始めた初心者的には難しいかも知れませんが、その中にもCSSとJsってものがあるのが分かります。

wp-includes内のCSSとJS

クローラーがブログを巡回(クロール)するとき、ブログには情報がたくさんつまった『head』からもブログ情報を読み取ります。

そこにこんなソースが見つかりました。

/wp-includes/js/からファイルを読み込む記載で、クローラーが不具合あると認めたとき、上述通りサーチコンソールでご指導が入ります。

CSSやJsファイルはブログの装飾に関係あるから、人とロボットの見解が違ってるときロボットにクロールして見せるよう修正が必要になります。

  • wp-adminは、クロールしない
  • wp-includesはクロールしない
    • wp-includesのCSSだけ:クロールする
    • wp-includesのJSは:クロール
  • その他はすべてクロールする

こんな感じになります。

  • 人とロボットの見解が違ってるときロボットにクロールして見せるよう修正

その辺書いてる下記リンクの目次『GoogleはJavaScriptやCSSを理解する』を参考にしてください。(過去記事ではないほう)

参考robots.txtを改善してGoogleにブログの構造を的確に伝えよう|naifix

まとめ

初心者はFTP内のディレクトリ(フォルダ)を見ても、どれが何のファイルか最初は分からないので、更新し続けているブログを見つける事をおススメします。

さいごにもう一度、あなたに合ったクロール状況を下記で教えてくれるので、そのときあなたが確認して改善が必要になったとき、robots.txtファイルを編集すれば良いんです^^

サーチコンソール画面:Googlebotの動きをチェック

Search Consoleログインして時々確認するところから始めましょう!

この状態なら、問題なし。クロールする範囲は増えても、分からずさわってクロールされない事のほうが、困りますからね。

まずい状態は下記です。

すべてのクローラーに、あなたのブログをクロールしないで!って意味。いつまで経ってもインデックスされません。

ダッシュボードの『設定』より、『表示設定』を開いて『検索エンジンでの表示』の『 検索エンジンがサイトをインデックスしないようにする』にチェックが入ってる状態です。

WordPressの管理画面

公開してインデックスされたいなら、チェックを外してくださいね^^

さいごに

何の知識もないので理解出来るまで、頭の中がぐちゃぐちゃになってしまうし色々勘違いし易い事が盛り沢山です。相当苦労して分かった結果。

  • インデックスされないとき
  • クロールエラーで記載が間違っていて対処しなくちゃダメなとき
  • クロールが来過ぎて、それでサーバーがストップする場合

3つを除いてそれ以外、このファイルを触らなくても平気❦と思いますよっ^^

それでは、かうたっくでした。

スポンサーリンクと関連記事

関連記事(スポンサーリンク含む時あり)

シェアする

フォローする

  • Follow Me →
スポンサーリンク
トップへ戻る