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

シェアする

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

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

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

スポンサーリンク

目次

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

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

検索ロボットが巡回し、膨大なブログデータを読み取るとブログに負荷がかかるから、ブログの表示に関係があるデータファイルを読み取れば効率が良いですよね。

ポイント

ロボットに巡回する範囲を命令をするのが、robots.txtファイルになります。

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

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

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

  • これでやっと検索から流入の見込みが出てくる

ブログを始めたばかりなら、まずインデックスさせないといけません。いつまでたっても検索結果に表示されない場合は、下記をチェックしてください。

  • ノーインデックスにしてないか
  • ロボットにクロールしないでとrobots.txtに書いてないか

見出し:インデックスしない状態…

クローラーは、HTMLと言われるブログの骨組みに書かれたデータを順に読み込み、検索のデータベースへ持ち帰りますが、クローラー用リンク(見出し:xmlサイトマップ)を準備すると効率よく巡回してくれます。

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

クローラーはHTMLから、テーマで設定したmeta情報・スクリプト・ブログの装飾を決めるCSSファイル・記事などにあるHTMLタグなども読み取ります。

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

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

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

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

見つかったらFetch as Googleで取得してレンダリングし、キチンと表示されているか確認してください。※404ページではないのに404ページと認識しているときもあったり。

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は、WordPessの管理画面系ファイル全般を置いているディレクトリ(階層化したファイル置き場)です。

WordPessの表示に圧倒的に関係あるのは、wp-contentがほとんど。あとはwp-includesフォルダ内のCSSとJS、その部分を巡回するような指定になってます。

ポイント

仮想的にrobots.txtのファイルに勝手に書いてくれて、効率よく巡回するため、管理画面の情報ファイル『wp-admin』は見なくても良いと、クロールの範囲を命令している。

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

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

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

引用元:robots.txt ファイルについて – ウェブマスター ツール ヘルプ

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

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

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

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

Allow: /wp-admin/admin-ajax.phpが付いている場合

ノーインデックスにしていて、インデックスすれば下記のような記載に変わります。

  • Disallow: /wp-admin/
    • 管理画面はクロールは来ないで
  • Allow: /wp-admin/admin-ajax.php
    • 管理画面のadmin-ajax.phpにはクロール来てね

admin-ajax.phpがブロックされているとサーチコンソールで指摘を受けたときの対処。

管理画面の表示に関する/wp-admin/内にあるadmin-ajax.phpをAllowクロールするように指定する書き方は、下記。

  • サーチコンソールで、指摘される人とされない人がいます。

私の環境では必要ないかったけど、プラグイン次第でしょう…現在はadmin-ajax.phpがブロックされていると、Googleさんに教えてもらいました。

入れているプラグインや環境がそれぞれ違うので、クローラーの調整は、あなたにあったものを選調整してください❦

またサイトマップの表示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は生成されているので安心。

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

robots.txtの編集できるならこのファイル設置できるけど、おそらく難しいかもしれません。サイトマップだけでも登録してると良いですね^^

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記載ではなく、自分がアップしたものが、採用されるといった感じ。

基本の形、Disallow: /wp-admin/ ここからあなたの状況によって必要事項を追記してください。

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
  • 拒否したディレクトリ以下のファイル・ディレクトリを、クロールするためにAllowを使う
ポイント

いきなりAllowを使うのは、ファイルを微妙に重くしているだけという認識

Disallowで拒否されたフォルダ内のフォルダ・ファイルをクロールさせたいとき、Allowを使ってください。

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

  • 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でブログを装飾してるファイル
  • 他はJSファイル
  • 画像のファイルのディレクトリなど

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、Js、画像など特に指摘はないですけど、この機会に、モバイルフレンドリーのテストしてみる事をおススメします。

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

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

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

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

その後ブログを始めた初心者的には難しいかも知れませんが、wp-includesフォルダ内にもCSS・Jsフォルダがあります。

wp-includes内のCSSとJS

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

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

他にhead内に埋め込まれたプラグインが出力するscript内にこのような記載があります。

/wp-includes/js/や、/wp-includes/css/ はブログの装飾に関係あるから、人とロボットの見解が違ってるときブロックしてるよぉと、サーチコンソールでご指導が入り、修正が必要になります。

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

こんな感じになります。

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

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

まとめ

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

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

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

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

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

まずい状態は下記です。

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

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

WordPressの管理画面

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

robot’s.txtファイルは、制御するもの。基本はクロールするので書き方は

必要に応じて、クロールしないフォルダ以下をクロールさせる

Disallowがあって、その下層にAllowがある感じ。

下記の4、5行目はおかしい。wp-includesは元々Allowクロールするのが前提だから❦

さいごに

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

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

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

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

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

関連記事(広告含む時あり)

シェアする

フォローする

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