robots.txtでのnoindexをGoogleが完全にサポート終了、2019年9月1日から

[レベル: 上級]

robots.txt の noindex 構文のサポートを終了することを Google は告知しました。
REP のインターネット標準化にともなう決定です。

機能していたが未サポートだった robots.txt の noindex

クローラのクロールを拒否するために robots.txt では Disallow 構文を用います。

User-agent: *
Disallow: /dontcrawl.html

Google では、クロールではなくインデックスを拒否するために Noindex 構文が使えていました。

User-agent: Googlebot
Noindex: /dontindex.html

HTML の head セクションで使える noindex robots meta タグと同じ働きをします。

しかし、robots.txt での noindex を Google は正式にはサポートしていませんでした。
実質的には機能していたのですが、いつなんどきサポートをやめるかもしれないとも再三伝えています。

Web担当者Forum の連載コラムで何度か取り上げているので、興味がある方はそちらを参照してください。

Noindex のサポートを完全に停止するのは次のような理由によります。

  • 利用しているサイトが極めて少ない――全 robots.txt の 0.001%
  • 間違った使い方でサイトに害を与えている――ゲイリー調べ

REP標準化とこうした理由を考慮した結果、robots.txt での Noindex は完全に無効になります。
2019 年 9 月 1 日からの予定です。

なお、次の 2 つの構文もREP 標準には含まれません。

  • crawl-delay
  • nofollow

crawl-delay は Google はもともとサポートしていませんでしたが、Bing がサポートしていましたね(robots.txt の nofollow は初めて聞いた)。
Bing が crawl-delay のサポートを今後どうするかは知りませんが、いずれにしても Google は crawl-delay(と nofollow)を robots.txt ではサポートしません。

REP 標準にないので、多くのクローラもサポートしないでしょう。

インデックス拒否の手段

インデックスを拒否するために次の手段を Google は推奨しています。

  • noindex タグ
  • 404 または 410 の HTTP ステータスコード
  • パスワード保護
  • robots.txt の Disallow
  • Search Console の URL 削除ツール

クロールさせるけどインデックスさせないという要望があるなら、いちばん上の noindex タグを実装します。
HTML なら noindex robots meta タグになります。
meta タグを書き込めない PDF や画像など HTML 以外のファイルは X-Robots-Tag の noindex を HTTP ヘッダーで返します。

REP が標準化されても “通常は” 特に対処する必要はないと僕は昨日伝えました。

通常ではない状況の 1 つが、robots.txt での noindex の利用でした。
正式サポートしていないしいつ効果がなくなるかもしれないと、何年も Google は言い続けてきました。
サポート打ち切りに関しては Google に不平を言うことはできないでしょう。