Comment empêcher un fichier PDF d'être indexé par les moteurs de recherche?


27

J'ai un lien vers un document PDF sur une page Web publique. Comment empêcher les moteurs de recherche d'indexer ce lien et ce document PDF?

La seule idée à laquelle j'ai pensé est d'utiliser CAPTCHA. Cependant, je me demande s'il y a des mots magiques qui disent à un moteur de recherche de ne pas indexer le lien et le document PDF? Les options utilisant PHP ou JavaScript sont également très bien.

Juste pour clarifier. Je ne veux pas crypter le PDF et le protéger avec un mot de passe. Je veux juste le rendre invisible pour les moteurs de recherche, mais pas pour les utilisateurs.

Réponses:


32

Pour éviter que votre fichier PDF (ou tout fichier non HTML) soit répertorié dans les résultats de la recherche, la seule façon est d'utiliser l'en- X-Robots-Tagtête de réponse HTTP , par exemple:

X-Robots-Tag: noindex

Pour ce faire, ajoutez l'extrait de code suivant au fichier .htaccess racine du site ou au fichier httpd.conf:

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

Notez que pour que ce qui précède fonctionne, vous devez pouvoir modifier les en-têtes HTTP du fichier en question. Ainsi, vous ne pourrez peut-être pas le faire, par exemple, sur les pages GitHub .

Notez également que robots.txt n'empêche pas votre page d'être répertoriée dans les résultats de recherche.

Cela empêche le robot d'explorer votre page, mais si un tiers établit un lien vers votre fichier PDF depuis son site Web, votre page sera toujours répertoriée.

Si vous empêchez le robot d'explorer votre page à l'aide de robots.txt , il n'aura pas la chance de voir le X-Robots-Tag: noindextag de réponse. Par conséquent, ne jamais interdire une page dans robots.txt si vous utilisez l'en- X-Robots-Tagtête. Plus d'informations peuvent être trouvées sur Google Developers: Robots Meta Tag .


Je ne vois pas comment robots.txt avec une entrée pour la page empêcherait le respect du X-Robots-Tag d'être respecté si la page avec ce X-Robots-Tag était demandée à l'avenir.
Don Cheadle

1
Je pensais que lorsque la page est demandée, elle ("Google") verrait l'en-tête X-Robots-Tag, puis saurait ne pas l'indexer ... mais il semble que le X-Robots-Tag ne soit utile qu'aux robots d'exploration qui savent alors ne pas l'indexer developers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle

Puisque vous utilisez la Filesdirective regex enabled , vous devriez plutôt envisager de l'utiliser à la FilesMatchplace, comme suggéré ici stackoverflow.com/q/14792381/1262357
Gruber

15

Il existe plusieurs façons de le faire (les combiner est évidemment un moyen sûr d'y parvenir):

1) Utilisez robots.txt pour bloquer les fichiers des robots des moteurs de recherche:

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

2) Utiliser rel="nofollow"sur des liens vers ces PDF

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

3) Utilisez l' x-robots-tag: noindexen-tête HTTP pour empêcher les robots d'indexation de les indexer. Placez ce code dans votre fichier .htaccess :

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

2
Contre-intuitivement, l'utilisation des deux x-robots-taget robots.txten même temps n'est pas une bonne idée et peut entraîner l'indexation du contenu de toute façon. Si vous utilisez les deux robots.txtet x-robots-tag: noindex, le robot d'exploration ne pourra jamais explorer ou voir le x-robots-tagcar il honore d'abord le robots.txt. robots.txtn'empêche pas les ressources d'être indexées, seulement d'être analysées, donc la meilleure solution est d'utiliser l'en- x-robots-tagtête, tout en permettant aux moteurs de recherche d'explorer et de trouver cet en-tête en laissant le vôtre robots.txt.
Maximillian Laumeister

1

Vous pouvez utiliser le fichier robots.txt . Vous pouvez en lire plus ici .


3
L'utilisation de robots.txt n'empêche pas l' indexation . Il empêche seulement l' exploration . Voir la réponse de Pacerier pour une solution correcte.
toxalot

1

Je ne sais pas si ce seuil pourrait apporter de la valeur à quiconque, mais nous avons récemment rencontré un problème selon lequel notre boîte GSA sur site ne souhaite pas indexer le fichier PDF.

L'assistance Google a résolu le problème et leur réponse est liée au fait que ce document PDF possède un jeu de propriétés personnalisé (Fichier -> Propriétés du document -> Personnalisé (onglet))

name: robots
value: noindex

ce qui l'empêchait d'être correctement indexé par GSA.

Si vous avez accès au document et pouvez modifier ses propriétés, cela pourrait fonctionner ... au moment du bail pour GSA.


1

Si vos instances de développement propulsé par nginx apparaissent dans les résultats de recherche Google, il existe un moyen rapide et facile d'empêcher les moteurs de recherche d'explorer votre site. Ajoutez la ligne suivante au bloc d'emplacement de votre fichier de configuration d'hôte virtuel pour le bloc que vous souhaitez empêcher l'analyse.

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

-2

Vous pouvez utiliser un fichier robots.txt. Les moteurs de recherche qui honorent ce fichier n'indexeront pas le PDF. Utilisez simplement la commande pour interdire l'indexation d'un fichier et indiquez le dossier ou le fichier PDF que vous ne souhaitez pas que les moteurs de recherche indexent.


4
L'utilisation de robots.txt n'empêche pas l' indexation . Il empêche seulement l' exploration . Voir la réponse de Pacerier pour une solution correcte. J'ai lu récemment sur l'utilisation d'une directive noindex (plutôt que de l'interdire) dans le fichier robots.txt, mais elle n'est pas documentée et n'est pas standard. Et maintenant, je ne trouve pas où je l'ai lu.
toxalot

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.