このエントリーでは、noarchiveを使って検索結果にキャッシュを表示しない方法をお伝えします。
検索結果でキャッシュを表示したくない方はぜひご覧ください。
検索結果のキャッシュとは?
検索エンジンはページをインデックスする際、キャッシュページも保存します。キャッシュページは検索結果から見ることができます。以下の画像のように検索結果に表示されるURL横の▼をクリックすれば、「キャッシュ」が表示されます。
キャッシュを取得した日も確認できます。このページは12日前にキャッシュされています。
Googlebotがページをクロールすれば、キャッシュの更新日時もアップデートされます。でもキャッシュページはリアルタイムに反映されるわけではありません。
例を挙げると、記事を修正した場合、実際のページに修正は反映されますが、キャッシュページはクローラが訪問されるまで更新されません。
ページを頻繁に修正するページだと、実際のページとキャッシュページが異なることがよくあります。
個人のブログであれば問題が発生することはあまりないのですが、ニュースメディアや、頻繁に価格が変更されるECサイトの商品ページの場合、実際のページとキャッシュページでコンテンツが異なると問題が起こる場合もあります。
そんなときにnoarchiveを使います。
noarchiveとは?
noarchiveを指定すると、検索結果にキャッシュページが表示されなくなります。
ニュースサイトの場合、事実誤認や誤字脱字で修正をすることがあるので、キャッシュが残っているとトラブルが発生することがあります。
例えば、アメリカのニュースサイトのNYTimesはnoarchiveを使い、検索結果にキャッシュを残さない設定をしています。NYTimesの検索結果を見ていきましょう。以下の画像のように、キャッシュが表示されません。
noarchiveを使う理由
noarchiveを使う理由は、検索結果にキャッシュを表示しないためです。
先程お話したように、メディアサイトや頻繁に価格が変更されるECサイトなどで使われることが多いですね。
noarchiveを使うと以下のようなメリットがあります。
- 検索エンジンにキャッシュされたページを表示しない
- Internet Archiveや魚拓にキャッシュが保存されない
noarchiveの実装方法
noarchiveを実装するには2通りの方法があります。
キャッシュさせたくないページに、次のどちらかの方法でnoarchiveを指定すればOKです。
- noarchiveメタタグ・・・HTMLページ
- X-Robots-Tag・・・HTMLページ、HTMLページ以外 (PDFなど)
HTMLページであれば、noarchiveメタタグ・X-Robots-Tagのどちらでも構いません。
HTMLページ以外 (PDFなど)の場合は、X-Robots-Tagを使ってください。
noarchiveメタタグ
noarchiveメタタグを使う場合、キャッシュしたくないページのhead内に以下のように記述してください。
<meta name="robots" content="noarchive">
name属性に”robots”とすれば、すべてのクローラに適用されます。
特定のクローラだけを対象にするのであれば、name属性を特定のクローラの名前に変更します。例えば、name属性に”googlebot”と記述すると、googlebotだけを指定することも可能です。
<meta name="googlebot" content="noarchive">
参考 Google がサポートしている meta タグと属性
X-Robots-Tag
X-Robots-Tagを使う場合も、キャッシュしたくないページにnoarchiveを指定します。検索結果にキャッシュのリンクは表示されなくなります。
<Files *.html> Header set X-Robots-Tag "noarchive" </Files>
PDFページの場合、メタタグを埋め込むことはできないので、 X-Robots-Tagを使ってください。以下のように指定すると、サイト内のPDFページがすべて検索結果にキャッシュされなくなります。
<Files ~ "\.pdf$"> Header set X-Robots-Tag "noarchive" </Files>
参考 Robots meta タグ、data-nosnippet、X-Robots-Tag の設定
noarchiveを設定するとSEOにデメリットは出るのか?
noarchiveを設定することでSEOにデメリットが出ることはありません。
Googleのジョン・ミューラーさんのツイートをご覧ください。
pages can rank without an accessible cache, that can happen & isn’t a sign that something’s broken.
— ? John ? (@JohnMu) 2016年6月20日
さいごに
以上、noarchiveを使って検索結果のキャッシュを非表示にする方法をお伝えしました。
検索結果にキャッシュを表示したくないのであればnoarchiveを使ってください。
ナレッジ