web-dev-qa-db-fra.com

Les références aux liens laids seront-elles automatiquement redirigées vers leur jolie URL, permalien?

Nous avons actuellement un site avec des milliers de pages avec des dizaines de milliers d'URL renvoyant vers d'autres pages. Tous les liens actuels utilisent la forme "laide" de leur URL - .... com /? P = IDNUMBER.

Dans une initiative de référencement, nous recréons la structure d'URL. Alors, ma question est la suivante: est-il possible de laisser les liens internes "laids"?

Dans Wordpress, un lien vers ... com /? P = 500 sera-t-il automatiquement redirigé vers sa nouvelle jolie URL, ou s'agit-il d'un lien brisé?

3
user658182

Changer la structure de permalien est définitivement un gros problème pour un site existant. Afin de tester les différentes manières dont la modification de la structure de permalien pourrait casser le site, je recommande vivement de mettre en place un environnement de test.

Alors, ma question est la suivante: est-il possible de laisser les liens internes "laids"?

Du point de vue du référencement, je ne sais pas si laisser les urls laids importera. Ce serait fastidieux, mais si vous avez un accès ssh, vous pouvez utiliser wp-cli pour rechercher et remplacer les URL de la base de données:

wp search-replace 'example.com?p=123' 'example.com/post-slug'

Vous pouvez également créer un script bash pour le faire pour chaque URL.

Dans Wordpress, un lien vers ... com /? P = 500 sera-t-il automatiquement redirigé vers sa nouvelle jolie URL, ou s'agit-il d'un lien brisé?

Les liens ne seront pas cassés. D'un point de vue technique, WordPress effectue un 302 redirect .

Donc oui, le site fonctionnera toujours, mais vous indiquez que cela est associé à une initiative de référencement.

Les choses de SEO ont plus à faire avec les différents index que les moteurs de recherche (Google, Bing, etc.) ont de votre site. Notez qu'une redirection 302 implique que le lien a été "déplacé temporairement". Puisque vous voulez déplacer tous les "jus" de référencement existants de l'ancienne URL vers la nouvelle, vous devez indiquer aux moteurs de recherche que "Ce contenu existe et a en permanence déplacé". Pour cela, vous souhaitez utiliser une 301 redirect .

Il y a plusieurs façons de faire ça.

Plugins WordPress

Il y a quelques plugins de redirection que j'aime bien:

Mais n'hésitez pas à chercher et explorer. L'inconvénient principal est que vous avez tant d'URL à saisir et que le faire pour chaque URL sera probablement fastidieux.

Redirections au niveau du serveur

Vous pouvez également créer des redirections 301 au niveau du serveur.

Si vous utilisez Apache, vous pouvez utiliser son moteur mod_rewrite dans un fichier .htaccess.

Nginx a son propre module de réécriture } _. Je pense que cette blog post est un peu plus facile à digérer que la documentation.

Obtenir une liste des URL

Dans tous les cas, l’un des défis consiste généralement à obtenir une liste complète des publications, leurs identifiants et le slug associé.

Puisque la structure permalien actuelle inclut l'identifiant de publication et que la nouvelle structure contient le slug de publication, il est très facile d'obtenir la liste "avant et après" avec wp-cli. Je l'ai déjà utilisé pour générer la liste de messages:

wp post list --fields=ID,post_name --format=csv > posts.csv

Cela nous donnera un fichier appelé posts.csv rempli avec l'identifiant et le slug de tous les posts:

488,a-new-post-slug
495,another-new-post-slug
504,so-many-post-slugs
# ...

À partir de là, vous pouvez effectuer des transformations par lots à l'aide de Vim, Sed ou même d'un tableur, car il s'agit d'un fichier csv.

J'espère que cela vous aidera dans votre planification et votre exécution!

2
passionsplay

La réponse simple est oui". Wordpress a une "URL canonique" pour chaque page possible et il y redirigera s'il y a des accès depuis une autre URL. Si votre identifiant de page est "1" et que le slug est "à propos de", example.com/?p=1 générera une demande que wordpress identifiera comme étant une requête pour la page à propos, mais ne servira pas la page, mais sera redirigé vers example.com/about en premier.

Qu'est-ce que l'URL canonique elle-même change en fonction de la structure de permalien?.

Cela dit, j’allouerais encore un peu de temps pour modifier les URL du contenu à un moment donné, même pour une simple amélioration esthétique, mais aussi parce que le fait de s’appuyer sur un numéro "magique" interne pour identifier le contenu n’est en général pas une bonne idée et si pour une raison quelconque, vous devrez restructurer la base de données (exportation avec l'exportateur wordpress). Les liens ne mèneront au mieux à rien.

1
Mark Kaplun