Jak zapobiec indeksowaniu pliku PDF przez wyszukiwarki?

27

Mam link do dokumentu PDF na publicznej stronie internetowej. Jak zapobiec indeksowaniu tego linku i dokumentu PDF przez wyszukiwarki?

Jedyny pomysł, o którym myślałem, to użycie CAPTCHA. Zastanawiam się jednak, czy są jakieś magiczne słowa, które mówią wyszukiwarce, by nie indeksowała linku i dokumentu PDF? Opcje korzystające z PHP lub JavaScript są również w porządku.

Żeby było jasne. Nie chcę szyfrować pliku PDF i chronić go hasłem. Chcę po prostu uczynić go niewidocznym dla wyszukiwarek, ale nie dla użytkowników.

unor
źródło

Odpowiedzi:

32

Aby zapobiec wyświetlaniu pliku PDF (lub dowolnego pliku innego niż HTML) w wynikach wyszukiwania, jedynym sposobem jest użycie X-Robots-Tagnagłówka odpowiedzi HTTP , np .:

X-Robots-Tag: noindex

Możesz to zrobić, dodając następujący fragment kodu do głównego pliku .htaccess lub pliku httpd.conf witryny:

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

Pamiętaj, że aby powyższe zadziałało, musisz mieć możliwość zmodyfikowania nagłówków HTTP danego pliku. Dlatego możesz nie być w stanie tego zrobić, na przykład na stronach GitHub .

Zauważ też, że plik robots.txt nie nie zapobiec swoją stronę przed wymienione w wynikach wyszukiwania.

To powstrzymuje bota przed zaindeksowaniem Twojej strony, ale jeśli strona trzecia odsyła do twojego pliku PDF z jego strony internetowej, twoja strona nadal będzie na liście.

Jeśli powstrzymasz bota przed indeksowaniem strony za pomocą robots.txt , nie będzie on miał szansy zobaczyć X-Robots-Tag: noindextagu odpowiedzi. Dlatego nigdy nie zabroń strony w pliku robots.txt, jeśli zastosujesz X-Robots-Tagnagłówek. Więcej informacji można znaleźć w Google Developers: Robots Meta Tag .

Pacerier
źródło
Nie śledzę, w jaki sposób plik robots.txt z wpisem na stronę uniemożliwiałby przestrzeganie / przestrzeganie znacznika X-Robots-Tag, gdyby strona z tym znacznikiem X-Robots była w przyszłości wymagana.
Don Cheadle,
1
Pomyślałem, że gdy strona zostanie poproszona, zobaczy („Google”) nagłówek X-Robots-Tag, a następnie będzie wiedział, że go nie indeksuje ... ale wygląda na to, że X-Robots-Tag jest użyteczny tylko dla robotów indeksujących które następnie nie indeksują developers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle
Ponieważ używasz Filesdyrektywy obsługującej wyrażenia regularne , powinieneś rozważyć użycie FilesMatchzamiast niej, jak sugerowano tutaj stackoverflow.com/q/14792381/1262357
Gruber
15

Można to zrobić na wiele sposobów (ich połączenie jest oczywiście pewnym sposobem na osiągnięcie tego):

1) Użyj pliku robots.txt, aby zablokować pliki przeszukiwaczy wyszukiwarek:

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

2) Użyj rel="nofollow"w linkach do tych plików PDF

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

3) Użyj x-robots-tag: noindexnagłówka HTTP, aby zapobiec indeksowaniu ich przez roboty. Umieść ten kod w pliku .htaccess :

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>
John Conde
źródło
2
Wbrew intuicji, używanie obu jednocześnie x-robots-tagi robots.txtnie jest dobrym pomysłem i może powodować indeksowanie treści. Jeśli użyjesz obu, robots.txti x-robots-tag: noindex, robot nigdy nie będzie się czołgał ani nie zobaczy tego, x-robots-tagponieważ najpierw honoruje robots.txt. robots.txtnie zapobiega indeksowaniu zasobów, a jedynie indeksowaniu, dlatego najlepszym rozwiązaniem jest użycie x-robots-tagnagłówka, a jednocześnie umożliwienie wyszukiwarkom przeszukiwania i znajdowania tego nagłówka, pozostawiając go robots.txtsamego.
Maximillian Laumeister,
1

Możesz użyć pliku robots.txt . Możesz przeczytać więcej tutaj .

enoyhs
źródło
3
Korzystanie z pliku robots.txt nie zapobiega indeksowaniu . To tylko zapobiega pełzaniu . Zobacz Pacerier odpowiedź „s do prawidłowego rozwiązania.
toxalot
1

Nie jestem pewien, czy ten parapet może przynieść jakąkolwiek wartość, ale ostatnio napotkaliśmy problem polegający na tym, że nasze okno GSA nie chce indeksować pliku PDF.

Pomoc Google pracowała nad problemem, a ich odpowiedź jest taka, że ​​jest on związany z faktem, że ten dokument PDF ma niestandardowy zestaw właściwości (Plik -> Właściwości dokumentu -> Niestandardowy (karta))

name: robots
value: noindex

co uniemożliwiło jej prawidłowe indeksowanie przez GSA.

Jeśli masz dostęp do dokumentu i możesz modyfikować jego właściwości, może to działać ... na wynajem dla GSA.

ChiTec
źródło
1

Jeśli instancje programistyczne obsługiwane przez Nginx pojawiają się w wynikach wyszukiwania Google, istnieje szybki i łatwy sposób, aby zapobiec indeksowaniu Twojej witryny przez wyszukiwarki. Dodaj następujący wiersz do bloku lokalizacji pliku konfiguracyjnego wirtualnego hosta dla bloku, który chcesz zapobiec przeszukiwaniu.

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
James M.
źródło
-2

Możesz użyć pliku robots.txt. Wyszukiwarki, które honorują ten plik, nie będą indeksować pliku PDF. Wystarczy użyć polecenia, aby zabronić indeksowania pliku i wskazać folder lub plik PDF, który nie ma być indeksowany przez wyszukiwarki.

Rudolf Olah
źródło
4
Korzystanie z pliku robots.txt nie zapobiega indeksowaniu . To tylko zapobiega pełzaniu . Zobacz Pacerier odpowiedź „s do prawidłowego rozwiązania. Ostatnio czytałem o używaniu dyrektywy noindex (zamiast zabraniać) w pliku robots.txt, ale jest to nieudokumentowane i niestandardowe. A teraz nie mogę znaleźć, gdzie to czytam.
toxalot
Mamy na to pytanie: Jak działa „Noindex:” w pliku robots.txt?
Stephen Ostermiller