web-dev-qa-db-fra.com

L'implémentation des redirections 301 ne fonctionnera pas sans fichier existant. Cela importera-t-il à Google ou existe-t-il un meilleur moyen d'implémenter les redirections?

Je viens de publier une version entièrement révisée d'un site Web (site statique sur un site optimisé Wordpress) sans changer de domaine ni de serveur Web. Dans l'ancien site, la structure de l'URL était

  • example.com/product_category1.php
  • example.com/product1.php

et dans l'actuel c'est:

  • example.com/product_category1/
  • example.com/product_category1/product1/

alors maintenant c'est plus logique et sans les extensions .php.

Maintenant, si je fais une recherche Google, par exemple pour "catégorie de produit 1", example.com/product_category1.php est supérieur à example.com/product_category1. J'ai résolu ce problème en appliquant une redirection 301 à partir de l'interface graphique proposée par ma société d'hébergement Web. Alors maintenant example.com/product_category1.php redirige vers example.com/product_category1/. J'ai remarqué que je devais conserver le fichier product_category1.php dans le dossier public_html pour que la redirection se produise, sinon la seule redirection à suivre concerne la page 404.

J'aimerais que les example.com/product_category1.php et les autres .php URL étendues disparaissent des résultats de la recherche. Le feront-ils s'ils sont toujours redirigés, même s'ils existent toujours dans le dossier public_html? Existe-t-il un moyen de faire la redirection sans conserver les fichiers? Ou faut-il traiter cette question de manière complètement différente afin de maximiser le référencement et la visibilité des URL correctes dans le nouveau site Web?

5
otzmo

... une redirection 301 à partir de l'interface graphique proposée par ma société d'hébergement Web ... Je dois conserver le fichier product_category1.php dans le dossier public_html pour que la redirection se produise, sinon la seule redirection qui se produise concerne la page 404.

Il semble que la redirection ait été implémentée de manière incorrecte (ou plutôt, dans au mauvais endroit dans votre fichier .htaccess) par l'interface graphique d'hébergement. Vous ne devriez pas avoir besoin de conserver les anciens fichiers .php à partir desquels vous redirigez (bien que cela ne fasse aucune différence du point de vue du référencement - c'est redirigé).

L'utilisation d'un outil tiers (hébergement d'une interface utilisateur graphique/cPanel par exemple, par exemple) est un problème courant qui permet de mettre en œuvre des redirections lorsqu'un système existant est en place. WordPress lui-même place des directives dans votre fichier .htaccess (fichier de configuration Apache par répertoire) et l '"interface utilisateur graphique de l'hébergement" fait probablement la même chose lorsqu'elle implémente la redirection. Sans savoir exactement ce que font vos directives actuelles (ce que ne fait probablement pas votre "interface graphique d'hébergement"), il est difficile d'effectuer de manière fiable des modifications "automatiques".

Je suppose que les directives de redirection ont été placées après les directives existantes WordPress par "l'interface graphique de l'hébergement". Considérant qu’il faudrait les placer avant les directives WP existantes.

Si les directives de redirection sont placées après les directives WP, elles ne seront traitées que si le fichier existe réellement, car WP achemine tous les fichiers non existants et le traitement s’arrête là. Mais si le fichier n'existe pas, alors WP achemine l'URL et vous obtenez 404, car l'ancienne URL n'est pas une URL valide WP. Cela semble être ce qui se passe ici.

Si vous ajoutez le contenu de votre fichier /.htaccess à votre question, nous pouvons le vérifier.

Est-ce qu'ils vont [disparaître] s'ils sont toujours redirigés, même s'ils existent toujours dans le dossier public_html?

Oui. éventuellement les anciennes URL disparaîtront des SERP si elles sont redirigées. Du point de vue des moteurs de recherche et des utilisateurs finaux, le fait que le fichier d'origine existe ou non est indifférent. Il est redirigé, ils n'ont donc aucun moyen de savoir.

Existe-t-il un moyen de faire la redirection sans conserver les fichiers?

Oui, comme mentionné ci-dessus. Il semblerait que ce n’est qu’à cause d’un conflit avec les directives existantes que vous présentiez ce comportement apparemment bizarre. Sorti de son contexte, vous auriez un regard perplexe si vous disiez à quelqu'un que le fichier devait exister avant de pouvoir le rediriger!

Ou faut-il traiter cette question de manière complètement différente afin de maximiser le référencement et la visibilité des URL correctes dans le nouveau site Web?

Une redirection 301 est tout ce qui est requis. Cependant, il aurait dû être implémenté au tout début, dès que les URL ont changé, afin d'avoir le "référencement maximum".

3
MrWhite