リニューアルでなく、新規にドメインを取得しWebサイトを立ち上げる場合、先んじてクローラーにドメインを適切に浸透させる必要がある。
その場合、ステータスコードは503や302ではなく、200を使用することが望ましいとされている。
以下、その設定の例である。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/coming-soon.html$
RewriteCond %{REMOTE_ADDR} !^<除外するIPアドレス>$
RewriteCond %{HTTP:X-Forwarded-For} !^<除外するIPアドレス>$
RewriteRule ^(.*)$ /coming-soon.html [L]
</IfModule>
IPアドレスはPHPでは以下のコードで取得できる。
REMOTE_ADDRにIPアドレスが表示されれば「%{REMOTE_ADDR}」、
X-Forwarded-ForにIPアドレスが表示されればリバースプロキシを通しているため、そのIPアドレスを「%{HTTP:X-Forwarded-For}」で指定する。
if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) && $_SERVER['HTTP_X_FORWARDED_FOR'] !== '' ) {
echo 'X-Forwarded-For: ' . $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
echo 'REMOTE_ADDR: ' . $_SERVER['REMOTE_ADDR'];
}
掲載するHTMLでは会社名のみテキストにし、準備中である旨の記載はテキストにせずに画像にすることで余計なテキストのクロールを避けておくのが無難である。
ちなみに、指定するIPアドレスについては以下に留意する。
- クライアントが IPv4 で接続 していれば、IPv4 アドレスが出力される
- クライアントやサーバーの設定次第では IPv6 アドレスが出ることもある
- HTTP_X_FORWARDED_FOR や HTTP_CLIENT_IP は偽装される可能性があるため、信頼できるプロキシ環境でのみ利用する
- IPv6 アドレスを IPv4 に変換しても、.htaccess のアクセス制御はそのまま適用されるわけではないため、出力されたものをそのまま使う