2010-10-02 22 views
2
plan du site

je dois avoir le contrôle sur ce que les URL sont autorisés à indexer. Pour ce faire, je souhaite autoriser Google à indexer uniquement les URL répertoriées dans mes sitemap (s), et interdire à Google d'indexer quoi que ce soit d'autre.Comment peut robots.txt interdire toutes les URL, à l'exception des URL qui sont

Easiest façon de résoudre c'est s'il y a un moyen de configurer robots.txt pour tout désavouer:

User-agent: *

Disallow:/

Et en même temps autoriser chaque URL répertoriée dans:

Sitemaps: sitemap1.xml

Sitemaps: sitemap2.xml

peuvent robots.txt être configurés pour le faire? Ou existe-t-il d'autres solutions de contournement?

Répondre

2

Ce n'est pas une réponse liée robots.txt, il est lié au protocole robots dans son ensemble et j'ai utilisé cette technique très souvent dans le passé, et cela fonctionne comme un charme.

Pour autant que je comprends votre site est dynamique, alors pourquoi ne pas faire usage de la robots meta tag? Comme l'a dit x0n, un fichier de 30 Mo créera probablement des problèmes à la fois pour vous et pour les robots d'exploration, et ajouter de nouvelles lignes à des fichiers de 30 Mo est un casse-tête d'E/S. Votre meilleur pari, à mon avis, de toute façon, est d'injecter dans les pages que vous ne voulez pas quelque chose comme indexé:

<META NAME="ROBOTS" CONTENT="NOINDEX" /> 

La page serait encore rampé, mais il ne sera pas indexé. Vous pouvez toujours soumettre les sitemaps à travers une référence de sitemap dans le fichier robots.txt, vous n'avez pas à faire attention à ne pas inclure dans les sitemaps qui sont dérobées avec une balise meta, et il est pris en charge par tous les principaux moteurs de recherche, aussi loin que je me souvienne de Baidu.

+0

agréable et simple. Merci beaucoup, ça va me coûter beaucoup d'heures pour mettre en œuvre comme je le veux, donc je ferais mieux de commencer :)) – Joakim

0

En vous connectant à http://www.google.com/webmasters/ vous pouvez soumettre sitemaps directement au moteur de recherche de Google.

+0

Google encore pages d'index qui ne sont pas dans le SiteMap. C'est ce que je veux empêcher. En outre (en note), pour les moteurs de recherche comme Baidu.com il n'y a pas de place pour soumettre votre sitemap. Ils ne trouvent que des sitemaps répertoriés dans votre fichier robots.txt – Joakim

+1

et vous devez générer automatiquement votre fichier robots.txt à partir de vos sitemaps. Il n'y a pas de relation entre les deux technologies. – x0n

+0

Que se passe-t-il si mes robots.txt contiennent 1 000 000 entrées, est-ce que cela va causer des problèmes? – Joakim

1

Vous devez ajouter une entrée Allow pour chaque élément dans le plan du site. C'est fastidieux, mais il est facile de faire quelque chose par programmation avec quelque chose qui se lit dans le sitemap, ou si le sitemap est créé de manière progarmmatique, puis de le baser sur le même code.

Notez que Allow est une extension du protocole robots.txt, et non supporté par tous les moteurs de recherche, bien qu'il soit supporté par google.

+0

J'ai un fichier robots.txt dynamique qui imprime le contenu de la base de données, donc c'est une solution possible à laquelle j'ai pensé.Mais que faire si cette liste de permettre (ou interdire) est de 100 000 entrées, ou 1 000 000 entrées d'ailleurs. Cela causera-t-il des problèmes si le fichier robots.txt est extrêmement énorme? – Joakim

+1

Honnêtement, je ne sais pas. Que ce soit le cas ou non, je chercherais à structurer les associations d'URI de sorte que quelques instructions Disallow soient tout ce dont vous avez besoin dans le fichier robots.txt. Ou bien simplement leur permettre d'être indexés de toute façon (si indexé n'est pas activement mauvais pour une raison quelconque, alors c'est normalement bon, même si ce n'est pas une priorité pour vous). –

+0

Il est difficile d'expliquer ce problème dans de tels détails dans un champ de commentaire comme celui-ci. Voici un cours intensif en quelques phrases; Dans mon cas, nous avons un domaine par client qui partage le même site Web. Le contenu appartenant au domaine A est séparé dans le sitemap du domaine A. Mais Google ne se soucie pas de cela et trouve des pages/contenu qui appartient au domaine B et "attache" cela au domaine A. Donc ... le résultat de ceci est que dans les résultats de recherche google nous obtenons des résultats à la même page sur plusieurs domaines. C'est ce que nous devons empêcher. – Joakim