noindexとは
htmlのメタタグのことです。
これをページに設定することで、Googleの検索エンジンにインデックスされなくなります。
noindexを設定した目的
テスト環境に構築したアプリケーションを、Google検索で表示させないようにするためにnoindexを設定しました。
今回作成したアプリは、AWS上にテスト環境を構築し、特にアクセス制限などもかけていません。
そのため、テスト環境を誰でも利用、閲覧できる状態です。
本番環境と間違えてテスト環境を使ってしまうことを防ぐため、テスト環境にnoindexを設定する必要がありました。
実際にやったこと
今回作成したアプリケーションはRailsを用いています。
Railsでは"application.html.haml"の内容が全てのビューファイルに反映されるため、このファイルにnoindexを設定することにしました。
具体的には以下のような感じです。
!!!
%html
%head
- if ENV['NOINDEX'] == 'YES'
%meta{:name => "robots",:content => "noindex"}
~以下略~
テスト環境に環境変数"NOINDEX"を設定することで、環境変数のによって条件分岐するようにしました。
ページのソースを見てみると、ちゃんとnoindexが設定されているようです。
これでいいのか?
環境毎にnoindexの設定を分けるには、今回用いた方法が一番楽で簡単だと思いました。
しかし、同様の方法を用いている記事や実例が調べても出てこなかったので、セキュリティや保守性などに不味い点でもあるのか?と疑っております。
今回紹介した方法が、世界中のエンジニアの盲点をついた大発見であることを祈ります。