1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PDFをGoogle検索結果に表示させない方法【noindex/nofollow/X-Robots-Tag】

Last updated at Posted at 2026-01-21

はじめに

PDFをGoogle検索結果に表示させたくない場面がありました🙈
調べてみると、Webページを検索結果から除外するnoindexという設定があることを知りました。

noindexnofollowの基本と、PDFなどHTML以外のリソースへの適用方法について調べたことをまとめます。

💡 この記事でわかること

  • noindex / nofollowとは何か
  • HTML以外のリソースでのインデックス制御方法

💬 用語

  • インデックス登録:Googleは、見つけたページ上のテキストや画像を解析し、その情報をGoogleインデックス(大規模なデータベース)に保存します
  • robots.txt :検索エンジンのクローラーに対して、サイトのどのURLにアクセスできるか、できないか伝えるものです
  • クロール:自動プログラムウェブ上で見つけたページからテキストや画像をダウンロードすること

noindexとは

noindexは、ページを検索結果に表示しないようにするための設定です。

Googlebotがページをクロール(アクセスして内容を読み取ること)して noindex を検出すると、他のサイトからリンクされているかどうかに関係なく、そのページをGoogle検索結果から完全に削除します。

HTMLページでのnoindex設定

HTMLページの場合は、<head> セクション内にmetaタグを配置します。

<meta name="robots" content="noindex">

⚠️ 注意点

noindexを有効にするには、robots.txtでページへのアクセスをブロックしてはいけません。
ブロックされていると、クローラーがnoindexを認識できず、他のページからリンクされていれば検索結果に表示され続ける可能性があります。

nofollowとは

nofollowは、ページのリンクを辿らないようにするための設定です。

サイト内にあるリンクとそのサイトを関連付けたくない場合、自サイトからリンク先のページへクロールさせないようにします。

HTMLでのnofollow設定

個別のリンクに設定する場合

<a rel="nofollow" href="https://example.com/page">リンク</a>

ページ全体のリンクに設定する場合

<meta name="robots" content="nofollow">

✍️ 補足

nofollowを設定しても、リンク先が完全にクロールされなくなるわけではありません。
他のサイトからのリンクなど、別の方法でクロールされる可能性があります。

関連するrel属性

2019年、nofollow に加えてより具体的な用途を示す属性が追加されました。

属性 用途
rel="sponsored" 広告や有料リンクを示す
rel="ugc" ユーザー生成コンテンツを示す
rel="nofollow" サイトと関連付けたくないリンク

noindex と nofollow の違い

noindex nofollow
対象 ページ自体 ページ内のリンク
効果 検索結果に表示させない リンクを辿らせない
影響範囲 自サイトのページ リンク先のページ
  • noindex: このページを検索結果に表示しない
  • nofollow: このページのリンクを辿らない

X-Robots-Tagとは

X-Robots-Tag は、HTTPレスポンスヘッダーで robots metaタグと同様の設定を指定することができる仕組みです。

PDF、動画、画像など、HTMLのmetaタグが使用できないリソースに対してインデックス制御をする場合に使用できます。

HTTP/1.1 200 OK
X-Robots-Tag: noindex, nofollow

✍️ 補足

X-Robots-Tag は正式な標準仕様には含まれていませんが、Googleなどの検索エンジンで使用されているデファクトスタンダードです。

実装例

DjangoでPDFを返す場合の実装例です。

from django import http

with open(pdf_path, 'rb') as pdf:
    response = http.HttpResponse(pdf.read(), content_type='application/pdf')
    response['Content-Disposition'] = 'inline; filename=some_file.pdf'
    response['X-Robots-Tag'] = 'noindex, nofollow'
    return response

✍️ 補足
noindex, nofollowの代わりにnoneと書くこともできます。どちらも同じ意味です。

動作確認

ブラウザの動作確認ツール(DevTools)のNetworkタブでレスポンスヘッダーにX-Robots-Tag: noindex, nofollow が設定されていることを確認できます。

まとめ

  • noindex は検索結果への表示をさせないようにする
  • nofollow はリンク先のサイトと関連付けないようにする
  • PDFなどHTML以外のリソースを検索結果から除外するには X-Robots-Tag HTTPヘッダーを使用する

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?