web-dev-qa-db-fra.com

Empêche les robots d'explorer d'anciens liens avec des extensions

Je suis récemment passé à MVC3, qui est sans extension pour les URL, mais Google et Bing ont une multitude de liens qu'ils explorent et qui n'existent plus.

J'essaie donc de savoir s'il existe un moyen de formater le fichier robots.txt (ou par un autre moyen) pour indiquer à Google/Bing que tout lien se terminant par une extension n'est pas un lien valide ... Est-ce possible? ?

Sur les pages qui m'inquiètent qu'un utilisateur ait enregistré comme fav, j'affiche une page 404 qui répertorie les liens à prendre une fois redirigés vers la nouvelle page (j'ai décidé de ne pas simplement les rediriger car je ne veux pas maintenir ces pour toujours). Pour Google/Bing, j'ai la balise canonique dans l'en-tête.

User-agent: *
Allow: /
Disallow: /*.*

EDIT: Je viens d’ajouter la 3ème ligne (dans le texte ci-dessus) et il APPARTE de faire ce que je veux. Autoriser un chemin, mais refuser un fichier. Quelqu'un peut-il confirmer cela?

2
Jared

Premièrement, la directive "Allow" dans votre fichier robots.txt ne fait rien car les robots spideront tout par défaut.

Bloquer les robots de *.* est probablement correct dans certaines situations, mais souvenez-vous que vous bloquez tous URL contenant simplement un point. Une méthode plus fiable peut bloquer des extensions individuelles (s'il n'y en a pas trop), par exemple *.html et *.php sur des lignes séparées.

La méthode préférée pour passer à de nouvelles pages est une redirection 301, qui devrait toujours être utilisée sauf en cas de difficulté technique. (Bien qu'il s'agisse de redirections "permanentes", vous n'avez pas besoin de les conserver pour toujours: quelques mois suffisent.) C'est également préférable pour les utilisateurs, car ils bénéficient d'une expérience transparente.

4
DisgruntledGoat