[レベル: 上級]
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 の連載コラムで何度か取り上げているので、興味がある方はそちらを参照してください。
- robots.txtに隠し機能の「Noindex」命令構文が存在した
- robots.txtのnoindexをグーグルが公式サポートしない理由
- robots.txtではnoindexを指定できる(グーグルは公式にサポートしてないけどね)
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 に不平を言うことはできないでしょう。