PDFを検索にヒットしないようにするには?
ひとりで頑張るSEO担当者さんの悩みに答える本連載。今回の質問は「PDF(で掲載している価格表)を検索にヒットしないようにするには?」です。この回答は「robots.txt か X-Robots-Tagでインデックスを避けましょう」です。
PDFで提供している価格表の扱い
今回の質問は、ペンネーム「丸子」さんが寄せてくださいました。「丸子」さんのウェブサイトでは価格表をPDFで提供していますが、過去の価格表までもが検索にヒットしてしまうため、それをヒットしないようにする方法を知りたいという質問内容でした。
「丸子」さんの会社では、「kakaku_202403.pdf」や「kakaku_202404.pdf」のようにいつの価格かわかるファイル名にし、ウェブページからリンクしているのは最新の価格表だけということですが、検索には過去の価格表もヒットしてしまいます。
それをヒットしないようにする方法として最も確実なのは、過去の価格表をウェブサーバーから削除することです。そうすれば、いまインデックスされていて検索可能になっているファイルもすぐにインデックスから消えて、検索にヒットしなくなります。
ただ、過去の価格表もサーバ上にあった方がいい事情が、「丸子」さんの会社におありなのだと思います。であれば、検索エンジンがクロールまたはインデックスしないように制御する方法を考えなくてはなりません。PDFを検索対象から除く方法は2種類あります。robots.txt を使う方法と、X-Robots-Tag を使う方法です。
robots.txt を使った検索避け
robots.txt を使った検索避けでは、検索ロボットに「この条件の場所にはアクセスしないでね」と指令を出します。プレーンテキストのファイルに検索ロボット用の条件を記入するのですが、書き方の例を2つ挙げます。
PDFファイルを置く場所の単位でアクセスを禁じる方法
1つ目の例は、指定したディレクトリへのアクセスを禁じる記述です。仮に、ルート直下に「pdf」というディレクトリがあるとして、そのディレクトリに対するすべてのロボットによるアクセスを禁じる記述例は以下の通りです。
User-agent: *
Disallow: /pdf/
正規表現を使ってPDFファイルへのアクセスを禁じる方法
ウェブサーバー上のどこであれ、PDFファイルへのアクセスを禁じる方法もあります。その例が以下です。
User-agent: *
Disallow: *.pdf$
この記述では、正規表現を使って「.pdf」で終わるURLへのアクセスを禁じています。この2例のどちらかを使えば、そのうち検索結果から消えます。
なお上記の例で作ったテキストファイルは、ファイル名を「robots.txt」として、ウェブサーバーのルートディレクトリにアップロードすると機能します。
X-Robots-Tagを使った検索避け
「httpd.conf」や「.htaccess」を編集できる場合には、「X-Robots-Tag」を使うこともできます。検索結果から消えるのはこちらのほうが早いです。やり方は、「httpd.conf」や「.htaccess」に以下の記述を付け足します。
<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex"
</FilesMatch>
上記の記述は、ウェブサーバー内の「.pdf」で終わるURLにロボットがアクセスしたとき、「このファイルはインデックスしないでね」という指令を出すものです。
まとめ
今回紹介した3つの方法はどれも、ロボットのアクセスを禁じる(robots.txt)か、インデックスを禁じる(X-Robots-Tag)だけで、人間のアクセスには影響しません。価格表のURLを知っている人であれば、従来通り過去のファイルにもアクセスできます。試してみてください。
P.S.
本コーナーでは、読者の質問にお答えしています。誰にも聞けずに困っていること、現場で感じるふとした疑問など、どしどし質問をお寄せください。
ソーシャルもやってます!