Redirection 301 sur wordpress

Nouveau WRInaute
Bonjour à tous,

J'ai un souci avec un blog Wordpress 3.0 que je dois reprendre et optimiser niveau référencement.

Actuellement, aucun plugin SEO n'est installé et les permaliens ne sont pas configurés; j'ai donc des posts avec des URLs du type www.monsite.com/blog/?p=153.

Ce que je voudrais, c'est activer des permaliens propre pour mes articles avec des URLs réécrites du type www.monsite.com/blog/titre-de-mon-article et faire une redirection 301 de l'ancienne URL vers cette nouvelle.

J'ai essayé de configurer les permaliens dans l'admin: pas de soucis les nouvelles adresses sont bien prises en compte mais pas de redirection automatique depuis les anciennes ... j'ai essayé les plugins "All In One SEO" (que j'utilise régulièrement) et "Yoast Wordpress SEO" (découvert ici) mais aucun ne génère de redirection si l'on arrive avec l'ancienne adresse :(

A défaut d'une redirection 301 j'aimerais au moins avoir une balise canonical donnant l'adresse réécrite lorsque l'on est sur l'ancien format pour ne pas perdre les liens profonds déjà acquis ;)

A mon avis, je ne suis pas le premier à vouloir faire ça mais je n'ai rien trouvé de concluant sur le forum ou avec notre ami google :evil:
Vous avez des idées ?

Merci pour votre aide :)
 
Nouveau WRInaute
Merci pour ton aide Cedric, je me doutais bien que tu n'étais pas loin sur des questions Wordpress :wink:

J'avais regardé ce plugin "Redirection" en effet mais j'aurais aimé éviter de me reprendre les quelques 150 URLs d'articles déjà existantes (et je ne parle pas des autres: catégorie, tags, etc.). :?
Je trouve ça quand même surprenant qu'une fonctionnalité comme celle-ci ne soit pas inclue dans ces plugins SEO :?:
 
WRInaute accro
L'ancienne url c'est celle avec p? ou un ancien slug ?

Si c'est un vieux slug, la redirection se fait automatiquement dans WP
Si c'est celles avec les p?, il faut un rel canonical, puisque la redirection existe,

Si c'est d'une ancienne structure de permaliens à une nouvelle, tu dois pouvoir coder le changement de structure dans le htaccess avant le begin wordpress ou voir si ce plugin peut te permettre de le faire

http://wordpress.org/extend/plugins/slredirectplugin/
 
Nouveau WRInaute
Merci pour ton aide Marie-Aude ;)

Pour les anciennes URLs, il s'agit de celles avec le ?p mises en place par défaut à la création du blog.

Je vais regarder le plugin que tu donnes, merci :)
 
Nouveau WRInaute
Je double post car en fait j'ai fait le boulet ... :roll:

En prenant un article au hasard pour mon test de redirection, j'avais prit un article resté en "brouillon" sur lequel les redirections ne se faisaient pas !
Je confirme ce qu'a dit Marie-Aude: pour les URLS en ?p=xxx la redirection existe bien vers la page réécrite une fois la réécriture mise en place; il n'y a rien de plus à faire 8)

Désolé pour le dérangement.
 
WRInaute accro
Si, il faut s'assurer que la balise canonical est bien installée dans le header, pour que Google fasse bien le lien
 
Nouveau WRInaute
Marie-Aude a dit:
Si, il faut s'assurer que la balise canonical est bien installée dans le header, pour que Google fasse bien le lien
Même avec une redirection 301 ? Selon toi il faut quand même l'attribut canonical dans les metas de la page d'arrivée (nouvelle URL) pour que la redirection depuis l'ancienne page soit bien prise en compte dans Google :?:

Bah de toutes façons, Yoast la renseigne donc c'est pas un souci mais j'aurais pensé que la redirection 301 suffisait à Google :wink:
 
WRInaute accro
Tu n'as pas une redirection 301 tu as une réécriture.
Voilà le code de ton fichier .htaccess wordpress
Code:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
A pas redirection 301, et c'est normal, sinon ça tourne en rond, puisque la page affichée est bien la ?p=, avec une url réécrite
Donc si les url ont été indexées avant il y a DC et tu dois mettre la canonical
 
Nouveau WRInaute
Et pourtant j'ai bien une redirection 301 8)

Dans le doute, j'ai désactivé tous les plugins SEO, Redirection et autres sur le blog; et testé un wget sur une ancienne URL:
Code:
wget http://www.monsite.net/?p=51
--2011-03-02 23:05:57--  http://www.monsite.net/?p=51
Résolution de www.monsite.net... 94.23.5.X
Connexion vers www.monsite.net|94.23.5.X|:80... connecté
requête HTTP transmise, en attente de la réponse... 301 Moved Permanently
Emplacement: http://www.monsite.net/titre-de-mon-article/ [suivant]
--2011-03-02 23:05:58--  http://www.monsite.net/titre-de-mon-article/
Connexion vers www.monsite.net|94.23.5.X|:80... connecté.
requête HTTP transmise, en attente de la réponse... 200 OK

Au niveau du fichier .htaccess, je te confirme bien le contenu que tu as donné; celui de Wordpress par défaut :wink:

Je pense donc que Wordpress fait lui même cette redirection 301 dans le cas où il détecte qu'un permalien est défini et que l'URL saisie n'est pas celle réécrite utilisant le permalien.
Je ne me souvenais pas de ce mode de fonctionnement ... peut être une nouveauté de la 3.1 :?:

Enfin au final l'essentiel c'est que ça marche bien ! :)
 
Discussions similaires
Haut