※ 2019年9月1日をもって、robots.txt内でnoindexディレクティブへのサポートは終了です。従ってnoindexはページhead内のmetaで記載するようにしてください。詳しくは「robots.txtのディレクティブとその代替について」参照。
当ブログにお問い合わせいただいたのですが、お問い合わせくださった方のご入力メールアドレスに不備があったようで、私からの回答メールが戻ってきてしまう状態でして…。ですので、(ちょうど面白い事案だったのでせっかくですのでご紹介も兼ねて)ここに記載することでご回答とさせていただければと思います。
お問い合わせ内容
私が「noindexとrobots.txtの因果関係」において、robots.txt内でのnoindexディレクティブの記載について以下のように注意書きをしておりました。
この件に関しまして、そもそもrobots.txtにnoindexディレクティブの記載が出来ることを初めて知った上で、機能している、していないの根拠は何か?というお問い合わせでした。
つまり、noindexディレクティブは、metaタグとHTTPレスポンスヘッダーの2つの方法以外にrobots.txtでの記載も(今でも)出来るのか、という内容です。このことについて私の見解をご回答申し上げたいと思います。
回答内容として
まず私のブログでの記載に関しまして、結論から申し上げます。
もともと公式にrobots.txt内でのnoindexディレクティブはサポートされているわけではありませんでしたが、私も一旦記事で書いてしまったので、(2017年現在で今後どうなるかも分からないため)注意書きとして追記した次第です。これが正直なところでございます。
と言いますのも、Google Developersのrobots.txt仕様では、正式にサポートしている(というよりも明記している)ディレクティブは、以下3つです。
- disallow
- allow
- sitemap
ですので、noindexに関しては正式にはサポートはされていないという解釈をしました。別の言い方をすれば、(たとえ今サポートされていても)いつサポートされなくなったところで文句は言えない、という解釈です。
しかし、「robots.txt ファイルに誤りがある場合や、サポートされていないディレクティブを使用した場合はどうなりますか?」という質問に関しては、以下のように記載されており、robots.txtは柔軟に読み取ってくれることも示唆しています。
また、Search Engine Landでも同様のことを伝えています。
Noindex in robots.txt is not officially supported, but it may work to remove pages from the index. The problem I have with this method is that it still tells people where they shouldn’t look, and it may not work forever or with all search engines.
The reason I say this is a “maybe” is that it can work and could actually be combined with a disallow in robots.txt, unlike some other methods which don’t work if you disallow crawling (which I will talk about later in this article).
「robots.txtでのnoindexは公式サポートされていませんが、機能しています。ただいつどうなるか分からないし、全ての検索エンジンに適用されるとは限らない」という主旨のことが記載されています。
ですので、確実にnoindexを行いたい場合は、やはりページ単位でmetaに入れ込む手法か、HTTPリクエストでnoindexヘッダーを返すほうが正確かな、と考えています。
100%明確な回答になっているか分かりませんが、これが現段階での私の見解となりますので、K様どうぞ宜しくお願いします。