大失敗。robots.txtにはセキュリティ上余計な情報(管理画面URL)を入力しないほうが良いと思った事
自分がアホだと思った大失敗 robots.text設定編
robots.textとは、グーグルなどの検索ロボットに、正しいサイトの情報を伝える為のファイルです。
つまり、検索エンジンのロボットに対して、正しく隅々までクローラーにインデックスしてもらう事により、検索エンジンに登録されない、インデックス漏れが出ないようにするための対策です。
WEB業界の人なら知っているとは思いますが、robots.txtには下記の項目を入力します
ユーザーエージェント(ブラウザやOSなど)
許可するディレクトリ
許可しないディレクトリ
サイトマップのアドレス
主に重要なのはサイトマップを作成してそのアドレスをクローラーにお知らせするということですね。
robots.txtに「本当に秘密の事は書いてはダメ」だと気付く
「robots.txtの書き方」でググって、順番に入力した後で、さてサイトに設置しよう・・と作業している時に、自分のアホさに気が付きました・・
外からこのファイル丸見えじゃね??
私の失敗は、インデックスされたくない・・とセキュリティ対策として「許可しないディレクトリ」にブログの管理画面のURLを入力してしまった事です。
管理画面のアドレスをグーグルさんにインデックスされてしまうと、検索したら「管理画面」が出てきて、サイバー攻撃にあったら大変!だから管理画面のディレクトリは、クローラーを許さないに入れて・・
そしてrobots.txtを設置完了!・・・・その時に、あれ!と自分のアホさに気が付いた分けです。
robots.txtはルート直下に置く事が決まっているファイル・・・つまり、robots.txtのアドレスを知っている人間には簡単に観る事ができるファイルなんですね。
まさに頭隠して尻隠さず状態・・・
私は検索エンジン・ロボットに管理画面のアドレスを知られたくない・・と思うあまり、「書かなくてもいい不必要な情報」を書いてしまっていたんです。
検索エンジンに、登録しないようにする為には、インデックスされたくないページ自体の<head>直下にmetaタグ noindexを入れれば良いだけです。
<meta name="robots" content="noindex">
管理画面やindexされたくないページにも、一旦検索エンジンのクロールを許しますが、ページ側でインデックスをしないでと伝えるだけでOKなんですね。わざわざこのページが管理画面ですなんて伝える必要はなかった訳です
クローラーに対して、秘密にしておいて・・とお願いしたつもりが、人には秘密の場所を大声で教えてしまっておりました・・
さらに、大きなミスに気が付く・
自分のミスに気が付いた私は、他の管理しているサイトのrobots.txtを再確認してみたのですが・・・
管理画面のアドレスも記載しているし、不許可ディレクトリをすべて・・と間違った設定をしていた事が判明
知らない間に、自分の首を絞めていたようです・・・
Disallow: / #←これではすべてのフォルダのクローリングを「許可しない」になってる
robots.txtにはユーザーエージェントとサイトマップだけで良いと私は判断
robots.txtの書き方・・を検索すると、下記のように 許可・不許可の設定方法が掲載されていますが・・
allow:/
Disallow:/dir/
私のように、間違って記載していると大きなミスになってしまう・そして気が付きにくい部分なので、ユーザーエージェントとサイトマップの2つのみで良いと判断しました。
と言うわけで、このサイトのrobots.txtは下記のようになっています
User-Agent: * Sitemap: https://netshop-business.link//sitemap.xml
未来の自分・・・への格言
WEBの設定する場合は、対 クローラー と 対 人間 の両方の事を考えながら設定する必要がある。
どちらか一方に対して効果があっても、もう一方には逆効果と言うこともあり得る。