¿Cómo evitar que los motores de búsqueda indexen un archivo PDF?

27

Tengo un enlace a un documento PDF en una página web pública. ¿Cómo evito que los motores de búsqueda indexen este enlace y este documento PDF?

La única idea que pensé es usar CAPTCHA. Sin embargo, me pregunto si hay palabras mágicas que le digan a un motor de búsqueda que no indexe el enlace y el documento PDF. Las opciones que usan PHP o JavaScript también están bien.

Sólo para que quede claro. No quiero cifrar PDF y protegerlo con contraseña. Solo quiero que sea invisible para los motores de búsqueda, pero no para los usuarios.

unor
fuente

Respuestas:

32

Para evitar que su archivo PDF (o cualquier archivo que no sea HTML) aparezca en la lista de resultados de búsqueda, la única forma es usar el X-Robots-Tagencabezado de respuesta HTTP , por ejemplo:

X-Robots-Tag: noindex

Puede hacerlo agregando el siguiente fragmento al archivo raíz del sitio .htaccess o al archivo httpd.conf:

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

Tenga en cuenta que para que funcione lo anterior, debe poder modificar los encabezados HTTP del archivo en cuestión. Por lo tanto, es posible que no pueda hacer esto, por ejemplo, en las páginas de GitHub .

También tenga en cuenta que robots.txt no no evitar que su página de estar registrados en los resultados de búsqueda.

Lo que hace es evitar que el bot rastree su página, pero si un tercero vincula a su archivo PDF desde su sitio web, su página seguirá apareciendo en la lista.

Si evita que el bot rastree su página usando robots.txt , no tendrá la oportunidad de ver la X-Robots-Tag: noindexetiqueta de respuesta. Por lo tanto, nunca rechace una página en robots.txt si utiliza el X-Robots-Tagencabezado. Se puede encontrar más información en Google Developers: Robots Meta Tag .

Pacerier
fuente
No entiendo cómo robots.txt con una entrada para la página evitaría que se respete / obedezca la X-Robots-Tag si se solicita la página con esa X-Robots-Tag en el futuro.
Don Cheadle
1
Pensé que cuando se solicita la página, ("Google") vería el encabezado X-Robots-Tag, y luego sabía que no debía indexarla ... pero parece que la X-Robots-Tag solo es útil para los rastreadores que luego no deben indexarlo developers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle
Dado que está utilizando la Filesdirectiva habilitada para expresiones regulares , debería considerar usarla en su FilesMatchlugar, como se sugiere aquí stackoverflow.com/q/14792381/1262357
Gruber
15

Hay varias formas de hacer esto (combinarlas es obviamente una forma segura de lograr esto):

1) Use robots.txt para bloquear los archivos de los rastreadores de motores de búsqueda:

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

2) Usar rel="nofollow"en enlaces a esos PDF

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

3) Use el x-robots-tag: noindexencabezado HTTP para evitar que los rastreadores los indexen. Coloque este código en su archivo .htaccess :

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>
John Conde
fuente
2
Contraintuitivamente, usar ambos x-robots-tagy robots.txtal mismo tiempo no es una buena idea y puede hacer que el contenido se indexe de todos modos. Si usa ambos robots.txty x-robots-tag: noindex, el rastreador nunca se arrastrará ni verá el x-robots-tagporque honra primero al robots.txt. robots.txtno evita que los recursos se indexen, solo se rastree, por lo que la mejor solución es usar el x-robots-tagencabezado, pero permite que los motores de búsqueda rastreen y encuentren ese encabezado dejándolo robots.txtsolo.
Maximillian Laumeister
1

Puede usar el archivo robots.txt . Puedes leer más aquí .

enoyhs
fuente
3
El uso de robots.txt no impide la indexación . Solo evita el arrastre . Vea la respuesta de Pacerier para la solución correcta.
toxalot
1

No estoy seguro de si este alféizar podría aportar algo de valor a alguien, pero recientemente hemos encontrado un problema de que nuestra caja GSA local no está dispuesta a indexar el archivo PDF.

El Soporte de Google trabajó con el problema y su respuesta es que está relacionado con el hecho de que este documento PDF tiene un conjunto de propiedades personalizado (Archivo -> Propiedades del documento -> Personalizado (pestaña))

name: robots
value: noindex

lo que evitó que GSA lo indexara correctamente.

Si tiene acceso al documento y puede modificar sus propiedades, esto podría funcionar ... al menos para GSA.

ChiTec
fuente
1

Si las instancias de desarrollo con tecnología nginx se muestran en los resultados de búsqueda de Google, hay una manera rápida y fácil de evitar que los motores de búsqueda rastreen su sitio. Agregue la siguiente línea al bloque de ubicación de su archivo de configuración de virtualhost para el bloque que desea evitar el rastreo.

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

Puede usar un archivo robots.txt. Los motores de búsqueda que respetan ese archivo no indexarán el PDF. Simplemente use el comando para no permitir la indexación de un archivo y designe qué carpeta o archivo PDF no desea que indexen los motores de búsqueda.

Rudolf Olah
fuente
44
El uso de robots.txt no impide la indexación . Solo evita el arrastre . Vea la respuesta de Pacerier para la solución correcta. Leí recientemente sobre el uso de una directiva noindex (en lugar de no permitir) dentro del archivo robots.txt, pero no está documentada y no es estándar. Y ahora no puedo encontrar dónde lo leo.
toxalot
Tenemos una pregunta al respecto: ¿Cómo funciona "Noindex:" en robots.txt?
Stephen Ostermiller