Как предотвратить индексацию файла PDF поисковыми системами?

27

У меня есть ссылка на документ PDF на общедоступной веб-странице. Как запретить поисковым системам индексировать эту ссылку и документ PDF?

Единственная идея, о которой я подумал, - это использовать CAPTCHA. Однако мне интересно, есть ли какие-нибудь волшебные слова, которые говорят поисковой системе не индексировать ссылку и документ PDF? Варианты с использованием PHP или JavaScript тоже подойдут.

Просто чтобы было понятно. Я не хочу шифровать PDF и защищать его паролем. Я просто хочу сделать его невидимым для поисковых систем, но не для пользователей.

ОООНР
источник

Ответы:

32

Чтобы ваш файл PDF (или любой другой файл, кроме HTML) не отображался в результатах поиска, единственным способом является использование X-Robots-Tagзаголовка ответа HTTP , например:

X-Robots-Tag: noindex

Это можно сделать, добавив следующий фрагмент в корневой файл .htaccess сайта или файл httpd.conf:

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

Обратите внимание, что для того, чтобы описанное выше работало, вы должны иметь возможность изменять заголовки HTTP рассматриваемого файла. Таким образом, вы не сможете сделать это, например, на страницах GitHub .

Также обратите внимание , что robots.txt никак не предотвратить страницу от быть перечислены в результатах поиска.

Что он делает, это запрещает роботу сканировать вашу страницу, но если третьи лица ссылаются на ваш файл PDF со своего веб-сайта, ваша страница все равно будет в списке.

Если вы не позволите боту сканировать вашу страницу с помощью robots.txt , у него не будет возможности увидеть X-Robots-Tag: noindexтег ответа. Поэтому никогда не запрещайте страницу в robots.txt, если вы используете X-Robots-Tagзаголовок. Более подробную информацию можно найти в Google Developers: Robots Meta Tag .

Pacerier
источник
Я не слежу за тем, как robots.txt с записью для страницы будет препятствовать соблюдению / соблюдению X-Robots-Tag, если в будущем будет запрошена страница с этим X-Robots-Tag.
Дон Чидл
1
Я думал, что при запросе страницы она ("Google") увидит заголовок X-Robots-Tag, а затем не будет индексировать его ... но похоже, что X-Robots-Tag полезен только для сканеров которые потом не знают, чтобы проиндексировать его developers.google.com/webmasters/control-crawl-index/docs/…
Дон Чидл
Поскольку вы используете Filesдирективу regex enabled , вам следует вместо FilesMatchэтого использовать вместо этого, как это предлагается здесь stackoverflow.com/q/14792381/1262357
Грубер,
15

Есть несколько способов сделать это (объединение их, очевидно, является верным способом сделать это):

1) Используйте robots.txt, чтобы заблокировать файлы из поисковых роботов поисковых систем:

User-agent: *
Disallow: /pdfs/ # Block the /pdfs/directory.
Disallow: *.pdf  # Block pdf files. Non-standard but works for major search engines.

2) Используйте rel="nofollow"ссылки на эти PDF-файлы

<a href="something.pdf" rel="nofollow">Download PDF</a>

3) Используйте x-robots-tag: noindexзаголовок HTTP, чтобы сканеры не могли их проиндексировать. Поместите этот код в ваш файл .htaccess :

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>
Джон Конде
источник
2
Парадоксально, но , используя как x-robots-tagи robots.txtв то же время это не очень хорошая идея , и может привести содержание индексироваться в любом случае. Если вы используете оба robots.txtи x-robots-tag: noindex, сканер никогда не будет сканировать или видеть, x-robots-tagпотому что он сначала соблюдает robots.txt. robots.txtне препятствует индексированию ресурсов, а только сканируется, поэтому наилучшим решением является использование x-robots-tagзаголовка, но при этом поисковые системы могут сканировать и находить этот заголовок, оставляя вас в robots.txtпокое.
Максимилиан Ломейстер
1

Вы можете использовать файл robots.txt . Вы можете прочитать больше здесь .

enoyhs
источник
3
Использование robots.txt не мешает индексации . Это только предотвращает ползание . См. Ответ Pacerier для правильного решения.
Токсалот
1

Не уверен, что этот подоконник может принести кому-то какую-то ценность, но недавно мы столкнулись с проблемой, из-за которой наш локальный блок GSA не хочет индексировать PDF-файл.

Служба поддержки Google работала над этой проблемой, и ее ответ заключается в том, что это связано с тем фактом, что этот документ PDF имеет настраиваемый набор свойств (Файл -> Свойства документа -> Пользовательский (вкладка)).

name: robots
value: noindex

что препятствовало тому, чтобы это было должным образом проиндексировано GSA.

Если у вас есть доступ к документу и вы можете изменить его свойства, это может сработать ... на правах аренды для GSA.

ChiTec
источник
1

Если в результатах поиска Google появляются экземпляры разработки на основе nginx, существует быстрый и простой способ запретить поисковым системам сканировать ваш сайт. Добавьте следующую строку в блок местоположения вашего файла конфигурации виртуального хоста для блока, который вы хотите предотвратить сканирование.

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
Джеймс М
источник
-2

Вы можете использовать файл robots.txt. Поисковые системы, использующие этот файл, не будут индексировать PDF. Просто используйте команду для запрета индексации файла и укажите, какую папку или файл PDF вы не хотите, чтобы поисковые системы индексировали.

Рудольф Олах
источник
4
Использование robots.txt не мешает индексации . Это только предотвращает ползание . См. Ответ Pacerier для правильного решения. Я недавно читал об использовании директивы noindex (а не запрещать) внутри файла robots.txt, но это недокументировано и нестандартно. И теперь я не могу найти, где я это читаю.
Токсалот
У нас есть вопрос по этому поводу: как работает «Noindex:» в robots.txt?
Стивен Остермиллер