Puis-je bloquer les robots de recherche pour chaque site sur un serveur Web Apache?
J'ai un peu d'un serveur de test sur l'internet public copies en cours d'exécution de la production de code pour les quelques sites web. J'avais vraiment l'aimez pas, si la mise en scène des sites indexés.
Est-il une manière que je peux modifier mon httpd.conf sur le serveur de test pour bloquer les robots des moteurs de recherche?
La modification de la robots.txt ne serait pas vraiment depuis que j'ai utiliser des scripts pour copier la même base de code pour les deux serveurs. Aussi, je préfère ne pas changer l'hôte virtuel fichiers de conf, car il y a un tas de sites et je ne veux pas avoir à vous rappeler de le copier sur un certain paramètre si je fais un nouveau site.
source d'informationauteur Nick Messick
Vous devez vous connecter pour publier un commentaire.
Créer un robots.txt fichier avec le contenu suivant:
Mettre ce fichier quelque part sur votre serveur de test; votre répertoire racine est un grand endroit pour lui (par exemple,
/var/www/html/robots.txt
).Ajouter les éléments suivants à votre httpd.fichier conf:
La
SetHandler
directive n'est probablement pas nécessaire, mais cela peut être nécessaire si vous utilisez un gestionnaire mod_python, par exemple.Que robots.txt fichier sera servi pour tous les hôtes virtuels sur votre serveur, en remplaçant toute robots.txt le fichier que vous pourriez avoir pour hôtes individuels.
(Note: Ma réponse est essentiellement la même chose que ceejayoz la réponse est à dire que vous faites, mais j'ai dû passer quelques minutes à comprendre toutes les spécificités de l'obtenir pour fonctionner. J'ai décidé de mettre cette réponse ici, pour le bien des autres qui pourraient trébucher sur cette question.)
Vous pouvez utiliser le mod_rewrite d'Apache pour le faire. Supposons que votre hôte est réel http://www.example.com et votre mise en scène de l'hôte est staging.example.com. Créer un fichier nommé 'robots-staging.txt' et à condition de réécriture de la demande.
Cet exemple serait approprié pour la protection d'un seul site de test, un peu plus simple d'utilisation que ce que vous demandez, mais cela a fonctionné de manière fiable pour moi:
Vous pourriez essayer de rediriger les araignées pour un master robots.txt sur un autre serveur, mais
certaines araignées peuvent se dérober après qu'ils obtiennent rien d'autre qu'un "200 OK" ou "404 not found" code de retour de la requête HTTP, et ils ne peuvent pas lire l'URL redirigée.
Voici comment faire:
Pourriez-vous alias robots.txt sur la mise en scène des hôtes virtuels pour un restrictive robots.txt hébergé dans un autre endroit?
Pour vraiment arrêter de pages indexées, vous aurez besoin de cacher les sites derrière HTTP auth. Vous pouvez le faire dans votre globale de configuration d'Apache et d'utilisation simple .un fichier htpasswd.
Seul inconvénient est que vous devez maintenant tapez un nom d'utilisateur/mot de passe la première fois que vous accédez à toutes les pages sur le serveur de test.
En fonction de votre scénario de déploiement, vous devez chercher des moyens de déployer des robots.txt les fichiers de dev/stage/essai/prod (ou quelle que soit la combinaison que vous avez). En supposant que vous avez différente de la base de données des fichiers de configuration ou de la (ou tout ce qui est analogue) sur les différents serveurs, ce qui devrait suivre un processus similaire (vous ne ont des mots de passe différents pour vos bases de données, droit?)
Si vous n'avez pas une seule étape du processus de déploiement en place, c'est probablement une bonne motivation pour obtenir un... il y a des tonnes d'outils pour les différents environnements - Capistrano est assez bonne, et favorisés dans les Rails ou Django monde, mais n'est en aucun cas le seul.
À défaut de tout cela, vous pourriez probablement mettre en place un mondial directive Alias dans votre configuration d'Apache qui s'appliquerait à tous les hôtes virtuels et le point à un restrictive robots.txt
Essayer À l'aide d'Apache pour arrêter les mauvais robots. Vous pouvez obtenir le les agents utilisateurs en ligne ou simplement laisser les navigateurs, plutôt que d'essayer de bloquer tous les robots.