Come impedire che un file PDF venga indicizzato dai motori di ricerca?


27

Ho un collegamento a un documento PDF su una pagina Web pubblica. Come posso impedire ai motori di ricerca di indicizzare questo link e questo documento PDF?

L'unica idea a cui ho pensato è usare CAPTCHA. Tuttavia, mi chiedo se ci sono parole magiche che dicono a un motore di ricerca di non indicizzare il link e il documento PDF? Anche le opzioni che utilizzano PHP o JavaScript vanno bene.

Giusto per chiarire. Non voglio crittografare PDF e proteggerlo con password. Voglio solo renderlo invisibile per i motori di ricerca, ma non per gli utenti.

Risposte:


32

Per evitare che il tuo file PDF (o qualsiasi altro file non HTML) venga elencato nei risultati di ricerca, l'unico modo è utilizzare l' X-Robots-Tagintestazione della risposta HTTP , ad esempio:

X-Robots-Tag: noindex

Puoi farlo aggiungendo il seguente frammento al file .htaccess radice del sito o al file httpd.conf:

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

Si noti che affinché funzioni sopra, è necessario essere in grado di modificare le intestazioni HTTP del file in questione. Pertanto, potresti non essere in grado di farlo, ad esempio, nelle pagine GitHub .

Si noti inoltre che il file robots.txt non senza impedire la vostra pagina vengano elencati nei risultati di ricerca.

Ciò che fa è impedire al bot di eseguire la scansione della tua pagina, ma se una terza parte si collega al tuo file PDF dal loro sito Web, la tua pagina verrà comunque elencata.

Se impedisci al bot di eseguire la scansione della tua pagina utilizzando robots.txt , non avrà la possibilità di vedere il X-Robots-Tag: noindextag di risposta. Pertanto, mai e poi mai vietare una pagina in robots.txt se si utilizza l' X-Robots-Tagintestazione. Ulteriori informazioni sono disponibili su Google Developers: Robots Meta Tag .


Non seguo il modo in cui robots.txt con una voce per la pagina impedirebbe che l'X-Robots-Tag venga rispettato / rispettato se la pagina con quell'X-Robots-Tag verrà richiesta in futuro.
Don Cheadle il

1
Pensavo che quando la pagina fosse richiesta, ("Google") vedesse l'intestazione X-Robots-Tag e quindi sapesse di non indicizzarla ... ma sembra che l'X-Robots-Tag sia utile solo per i crawler che poi sanno di non indicizzarlo developers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle il

Dato che stai usando la Filesdirettiva abilitata regex , dovresti prendere in considerazione invece l'uso FilesMatch, come suggerito qui stackoverflow.com/q/14792381/1262357
Gruber

15

Esistono diversi modi per farlo (combinarli è ovviamente un modo sicuro per farlo):

1) Usa robots.txt per bloccare i file dai crawler dei motori di ricerca:

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

2) Utilizzare rel="nofollow"su collegamenti a tali PDF

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

3) Utilizzare l' x-robots-tag: noindexintestazione HTTP per impedire ai crawler di indicizzarli. Inserisci questo codice nel tuo file .htaccess :

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>

2
Controintuitivamente, l'utilizzo di entrambi x-robots-tage robots.txtallo stesso tempo non è una buona idea e può causare comunque l'indicizzazione del contenuto. Se si utilizzano entrambi robots.txte x-robots-tag: noindex, il crawler non eseguirà mai la scansione o la visualizzazione x-robots-tagperché onora per primo il robots.txt. robots.txtnon impedisce l'indicizzazione delle risorse, ma solo la ricerca per indicizzazione, quindi la soluzione migliore è utilizzare l' x-robots-tagintestazione, ma consentire ai motori di ricerca di eseguire la ricerca per indicizzazione e di trovare quell'intestazione lasciandolo robots.txtsolo.
Maximillian Laumeister,

1

È possibile utilizzare il file robots.txt . Puoi leggere di più qui .


3
L'uso di robots.txt non impedisce l' indicizzazione . Impedisce solo la scansione . Vedi la risposta di Pacerier per la soluzione corretta.
Toxalot,

1

Non siamo sicuri che questo davanzale possa apportare un valore a chiunque, ma recentemente abbiamo riscontrato un problema che la nostra scatola GSA on-premise non è disposta a indicizzare il file PDF.

Il supporto di Google ha risolto il problema e la loro risposta è che è correlato al fatto che questo documento PDF ha un set di proprietà personalizzato (File -> Proprietà del documento -> Personalizzato (scheda))

name: robots
value: noindex

che gli ha impedito di essere correttamente indicizzato da GSA.

Se hai accesso al documento e puoi modificarne le proprietà, questo potrebbe funzionare ... a noleggio per GSA.


1

Se le istanze di sviluppo basate su nginx vengono visualizzate nei risultati di ricerca di Google, esiste un modo rapido e semplice per impedire ai motori di ricerca di eseguire la scansione del tuo sito. Aggiungi la seguente riga al blocco posizione del file di configurazione del tuo host virtuale per il blocco che desideri impedire la scansione.

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

-2

È possibile utilizzare un file robots.txt. I motori di ricerca che rispettano quel file non indicizzeranno il PDF. Basta usare il comando per impedire l'indicizzazione di un file e designare quale cartella o file PDF non si desidera che i motori di ricerca indicizzino.


4
L'uso di robots.txt non impedisce l' indicizzazione . Impedisce solo la scansione . Vedi la risposta di Pacerier per la soluzione corretta. Ho letto recentemente sull'uso di una direttiva noindex (piuttosto che non consentire) all'interno del file robots.txt, ma non è documentato e non standard. E ora non riesco a trovare dove l'ho letto.
Toxalot,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.