Wie kann verhindert werden, dass eine PDF-Datei von Suchmaschinen indiziert wird?

27

Ich habe einen Link zum PDF-Dokument auf einer öffentlichen Webseite. Wie verhindere ich, dass Suchmaschinen diesen Link und dieses PDF-Dokument indizieren?

Die einzige Idee, an die ich dachte, ist die Verwendung von CAPTCHA. Ich frage mich jedoch, ob es magische Wörter gibt, die eine Suchmaschine anweisen, den Link und das PDF-Dokument nicht zu indizieren. Optionen mit PHP oder JavaScript sind ebenfalls in Ordnung.

Nur um es klar zu machen. Ich möchte PDF nicht verschlüsseln und mit einem Passwort schützen. Ich möchte es nur für Suchmaschinen unsichtbar machen, aber nicht für Benutzer.

unor
quelle

Antworten:

32

Um zu verhindern, dass Ihre PDF-Datei (oder eine andere als HTML-Datei) in den Suchergebnissen aufgeführt wird, können Sie nur den HTTP- X-Robots-TagAntwortheader verwenden, z.

X-Robots-Tag: noindex

Sie können dies tun, indem Sie das folgende Snippet zur .htaccess-Stammdatei oder httpd.conf-Datei der Site hinzufügen:

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

Damit dies funktioniert, müssen Sie in der Lage sein, die HTTP-Header der betreffenden Datei zu ändern. Dies ist beispielsweise auf GitHub-Seiten möglicherweise nicht möglich .

Beachten Sie auch , dass der robots.txt nicht nicht Ihre Seite verhindert , dass in den Suchergebnissen aufgeführt werden.

Dadurch wird der Bot daran gehindert, Ihre Seite zu crawlen. Wenn jedoch ein Dritter von seiner Website aus auf Ihre PDF-Datei verweist , wird Ihre Seite weiterhin aufgelistet.

Wenn Sie den Bot daran hindern, Ihre Seite mit robots.txt zu crawlen , hat er keine Chance, das X-Robots-Tag: noindexAntwort-Tag zu sehen. Verbieten Sie daher niemals eine Seite in robots.txt, wenn Sie den X-Robots-TagHeader verwenden. Weitere Informationen finden Sie bei Google Developers: Robots Meta Tag .

Pacerier
quelle
Ich verfolge nicht, wie robots.txt mit einem Eintrag für die Seite verhindern würde, dass das X-Robots-Tag respektiert / befolgt wird, wenn die Seite mit diesem X-Robots-Tag in der Zukunft angefordert würde.
Don Cheadle
1
Ich dachte, wenn die Seite angefordert wird ("Google"), würde sie den X-Robots-Tag-Header sehen und weiß dann nicht, dass sie indiziert wird ... aber es sieht so aus, als ob der X-Robots-Tag nur für Crawler nützlich ist die wissen dann nicht, es zu indizieren developers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle
Da Sie die Regex-fähige FilesDirektive verwenden, sollten Sie FilesMatchstattdessen die hier vorgeschlagene verwenden. Stackoverflow.com/q/14792381/1262357
Gruber
14

Es gibt mehrere Möglichkeiten, dies zu tun (das Kombinieren ist offensichtlich ein sicherer Weg, dies zu erreichen):

1) Verwenden Sie robots.txt , um die Dateien von Suchmaschinen-Crawlern zu blockieren:

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

2) Verwenden Sie rel="nofollow"auf Links zu diesen PDFs

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

3) Verwenden Sie den x-robots-tag: noindexHTTP-Header, um zu verhindern, dass Crawler sie indizieren. Fügen Sie diesen Code in Ihre .htaccess- Datei ein:

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>
John Conde
quelle
2
Counterintuitively, beide mit x-robots-tagund robots.txtist zugleich nicht eine gute Idee , und dazu führt , kann der Inhalt sowieso indiziert werden. Wenn Sie beides robots.txtund verwenden x-robots-tag: noindex, wird der Crawler niemals crawlen oder das sehen, x-robots-tagweil er das zuerst beachtet robots.txt. robots.txtverhindert nicht, dass Ressourcen indiziert, sondern nur gecrawlt werden. Daher ist es die beste Lösung, den x-robots-tagHeader zu verwenden und den Suchmaschinen das Crawlen und Auffinden des Headers zu ermöglichen, indem Sie ihn in robots.txtRuhe lassen.
Maximillian Laumeister
1

Sie können die robots.txt- Datei verwenden. Sie können hier mehr lesen .

Enoyhs
quelle
3
Die Verwendung von robots.txt verhindert nicht die Indizierung . Es verhindert nur das Crawlen . Siehe Paceriers Antwort für die richtige Lösung.
Toxalot
1

Wir sind uns nicht sicher, ob diese Schwelle für irgendjemanden von Nutzen sein könnte, haben aber kürzlich ein Problem festgestellt, dass unsere GSA-Box vor Ort keine PDF-Dateien indizieren kann.

Der Google-Support hat mit dem Problem gearbeitet, und die Antwort lautet, dass es damit zusammenhängt, dass für dieses PDF-Dokument eine benutzerdefinierte Eigenschaft festgelegt wurde (Datei -> Dokumenteigenschaften -> Benutzerdefiniert (Registerkarte)).

name: robots
value: noindex

was verhinderte, dass es von der GSA ordnungsgemäß indiziert wurde.

Wenn Sie Zugriff auf das Dokument haben und dessen Eigenschaften ändern können, funktioniert dies möglicherweise ... zumindest für GSA.

ChiTec
quelle
1

Wenn nginx-basierte Entwicklungsinstanzen in den Google-Suchergebnissen angezeigt werden, können Sie auf schnelle und einfache Weise verhindern, dass Suchmaschinen Ihre Website crawlen. Fügen Sie die folgende Zeile zum Speicherortblock Ihrer virtualhost-Konfigurationsdatei für den Block hinzu, den Sie vor dem Crawlen schützen möchten.

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
James M
quelle
-2

Sie können eine robots.txt-Datei verwenden. Suchmaschinen, die diese Datei berücksichtigen, indizieren die PDF- Datei nicht . Verwenden Sie einfach den Befehl, um die Indizierung einer Datei zu deaktivieren, und legen Sie fest, welchen Ordner oder welche PDF-Datei die Suchmaschinen nicht indizieren sollen.

Rudolf Olah
quelle
4
Die Verwendung von robots.txt verhindert nicht die Indizierung . Es verhindert nur das Crawlen . Siehe Paceriers Antwort für die richtige Lösung. Ich habe kürzlich gelesen, dass in der robots.txt-Datei eine noindex-Direktive verwendet wird (anstatt sie zu verbieten), aber sie ist undokumentiert und nicht standardgemäß. Und jetzt kann ich nicht finden, wo ich es gelesen habe.
Toxalot
Wir haben eine Frage dazu: Wie funktioniert "Noindex:" in robots.txt?
Stephen Ostermiller