web-dev-qa-db-fra.com

Désactiver l'indexation d'images spécifiques ou en fonction de la taille

Je travaille sur un projet pour lequel je dois désactiver certaines images de l'indexation de Google ou les désactiver en fonction de leur taille. Je n'ai aucune idée autre que d'ajouter ce code dans le fichier robots.txt:

User-agent: Googlebot-Image
Disallow: /

Comme ma plate-forme est WordPress, toutes les images sont dans le dossier Upload. Donc, je ne peux pas désactiver basé sur le dossier non plus.

1
musthafa

Ce que vous pouvez faire, c'est générer vos images dans un langage de programmation avec des en-têtes pour arrêter l'indexation, puis utiliser des rewriterules pour référencer cette image.

Par exemple. Mettez ceci dans votre .htaccess:

RewriteRule ^(.*)\.jpeg$ /background.php?FILE=$1 [L]

Ensuite, créez le fichier background.php avec ce modèle:

<?php
$jpeg=imagecreatefromjpeg('/server-path/to/imagefolder/'.$_GET['FILE'].'.jpeg');
imagejpeg($jpeg,NULL,100);
imagedestroy($jpeg);
header('X-Robots-Tag: noindex, noimageindex',true);
header('Content-type: image/jpeg',true);     
exit();
?>

Placez .htaccess et background.php dans le dossier racine du document. Maintenant, lorsque vous effectuez une requête sur tout ce qui se termine par .jpeg à partir de la racine de votre document, le système essaie de trouver le fichier jpeg dans le dossier/server-path/to/imagefolder, puis le programme ajoute un en-tête supplémentaire aux moteurs de recherche directs. indexer ce fichier spécifique.

Si vous voulez quelque chose de très simple, divisez vos images en différents dossiers et indiquez le dossier à ne pas indexer dans le fichier robots.txt.

2
Mike