http://example.com/ と https://example.com/ を運用していて SSLのサイトだけを検索に引っ掛けたくないが、コンテンツが全て同じなので、どのようにrobots.txtを書いていいかわからないというケースありませんでしょうか?
単純に robots.txt に disallow: / するとsslではないサイトも全てブロック対象になります。
そこで方法としては robots_ssl.txt を準備してsslのポート443でのアクセスがあった時のみ robots.txt へのアクセスを robots_ssl.txt へ rewiteします。
nginxでのrewriteの方法を下記に記しておきます。
if ($server_port ~ "^443$"){ set $rule_0 1$rule_0; } if ($rule_0 = "1"){ rewrite ^/robots.txt$ /robots_ssl.txt; }
http://example.com/robots.txt → robots.txtを参照
https://example.com/robots.txt → robots_ssl.txtを参照
という動作になります。
robots_ssl.txt はすべてをブロックする内容。下記のような内容にすれば大丈夫でしょう。
robots_ssl.txt
User-agent: * Disallow: /
robots.txt
User-agent: * Allow: /
とはいってもcanonicalを設定するのがベストかと思います。