2009-02-23 9 views
2

Je suis sur le point de remplacer un site de commerce électronique actuel par un tout nouveau site. Auparavant, l'URL d'un produit était la suivante: www.example.com/ProductDetails.aspx?ProductID=123Dois-je effectuer une redirection 301 dans Global.asax ou sur ma page d'erreur 404

Maintenant, c'est comme ceci: www.example.com/fr-fr/product/123/The- plus-produit-dans-le-monde

Ma question est: La redirection 301 permanente doit-elle être faite dans l'événement Application_BeginRequest de Global.asax ou dans la PageLoad de ma page d'erreur 404? N'est-il pas trop tard pour faire un 301 quand la 404 se charge?

Répondre

1

Vous voudrez le faire avant que le navigateur (ou bot) n'obtienne l'erreur 404. De cette façon, vous vous assurez que les moteurs de recherche vont réindexer correctement vos pages de produits et tout classement de page qui leur est associé.

+0

Ai-je besoin de définir à la fois le Response.Status et le Response.StatusCode, ou ce dernier est-il suffisant? – MartinHN

+0

Et dois-je rediriger l'utilisateur vers ma nouvelle URL? – MartinHN

+0

Je définirais les deux, mais je pense que le code d'état est tout ce qui est nécessaire. Et oui, rediriger vers la nouvelle URL pour que les moteurs de recherche sachent où la page a été déplacée. –

0

Vous devez le placer dans l'événement Application_BeginRequest et vérifier l'URL demandée.

Vous pourriez aussi le mettre dans l'événement Application_Error et vérifier un 404 mais je pense que cela consomme plus de ressources et sera plus lent.

0

Je l'ai fait dans la page 404, mais c'est un hack - vous pouvez changer le code de réponse. Application_BeginRequest est beaucoup plus logique. Vous souhaitez rediriger vos anciens liens vers l'indexation de recherche.

Questions connexes