前回のREPに続き、Google Webmaster Central Blogで案内されたrobots.txtのサポートされていない仕様についてご紹介します。2019年9月1日よりサポートしなくなるディレクティブに関する代替案といいますか…別のやり方を教えてくれています。
インデックスさせない手法を案内
Googleではrobots.txtを正式な仕様にするためのインターネットドラフト作成にあたって、今まで曖昧だったディレクティブ要件を明確にしました。その結果、robots.txtの仕様にサポートされていないディレクティブを2019年9月1日に全て廃止するとのことです。
REPの読み込み方法をオープンソース化しながら、robots.txtを利用する際のルールについて分析しました。特にフォーカスしたのは、インターネットドラフトによりサポートされていないルール、例えばcrawl-delay、nofollow、noindex等です。こういったルールがGoogleから今まで全く文書化されなかったことからも分かるように、それらのルールとGooglebotとの関係性は非常に薄いです。より深く掘り下げて見ていくと、こういったルール(crawl-delay、nofollow、noindex等)の利用頻度や活用自体が全てのrobots.txtのうちの0.001%程度、つまり他のほとんどのルールと比べても矛盾が生じたり、認識されていないことが確認できました。こういった認識の違いや細かなルールの違いが、結果としてウェブマスターが意図しているであろうGoogle検索結果から外れてしまい、自身のWebサイトの存在価値を下げることにもつながります。
健全なクロール環境を維持し、将来のオープンソースリリースの可能性に備え、Googleがサポートしていない未公開のルール(noindex等)の取り扱いコードに関しては、全て2019年9月1日をもって廃止します。robots.txtを使ってnoindexやindexを行っていた人には、クロールを制御する代替案が多くありますので、そちらをご利用ください:
- metaタグを使ってnoindexを返す:Googleにクロールはさせるが、インデックスから削除したい場合はHTTPレスポンスヘッダー(X-Robots-Tag)でnoindexを返すか、HTMLタグ(<meta>)でnoindexを返すようにしてください。
- 404および410HTTPステータスコードを返す:どちらのステータスコードもページが存在しないことを意味します。クロールされた後、このステータスコードが処理されると対象のページはインデックスから削除されます。
- パスワードで保護する:購読またはペイウォールコンテンツ(会員にならないと読めない記事ページ)のマークアップがされている場合を除き、ログイン後のページはインデックスから削除されます。
- robots.txtでdisallowを設定する:検索エンジンはクロールできたページしかインデックスできないため、ページがクロールできないようにブロックすると、通常そのコンテンツをインデックスすることができません。他ページのリンクからURLを発見しインデックスすることもありますが、その場合でもコンテンツを表示させることはせず、そういったページは次第にインデックスからなくなります。
- Search ConsoleのURL削除ツールを使う:Googleの検索結果から一時的にURLを削除するための迅速で簡単な方法です。
引用)Webmaster Central Blogより意訳
つまり、簡単に言うと「もうnoindexはrobots.txtでサポートしないから違うやり方でnoindexして」という話ですね。併せてrobots.txtに関する以下の内容もご参考ください。
今後も仕様変更あり?
とりあえず今回は明確にnoindexについて触れられていましたが、今後の公式要件定義に向けてGoogleによるマイナーチェンジは続きそうですね。まぁ、特別な要件が無い限り、通常のサイト運用者はそこまで細かくrobots.txtの仕様が気にならないでしょう。
今後は、都度Googleから発表されるのか、それとも上記の「Robots.txtの仕様|Google Developers」部分が更新されるのか分かりませんが、しばらくは注視しておいた方が良いでしょう。