WordPress réécriture d’URL

L’URL Rewriting (réécriture d’URL) est une technique utilisée pour optimiser le référencement des sites utilisant des pages dynamiques.

exemple : un site wordpress en local :

http://localhost/~michel/exempleWP/?page_id=2
devient :
http://localhost/~michel/exempleWP/page-d-exemple/

Ces URL dites « propres » (débarrassées de caractères spéciaux comme « ? » ou « & ») facilitent l’indexation des sites dynamiques, et donc leur référencement.

Les étapes pour la mise en place

  1. Vérifier que votre hébergeur permet l’utilisation de l’URL Rewriting.
  2. Identifier les pages dynamiques dont l’URL comporte des paramètres, et choisir un nouveau schéma d’URL « propre »
  3. Ecrire les règles de réécriture dans le fichier .htaccess
  4. Changer tous les liens vers chaque fichier dont l’URL a changé
  5. Mettre à jour votre site et vérifier que tout fonctionne

WordPress permet la réécriture d’URL   grâce à un fichier  .htaccess  et remplace une URL dynamique par une URL statique.

Explications détaillées, voir

http://www.scriptol.fr/wordpress/redirection.php

Dans le répertoire de  wordpress, on trouve un fichier .htaccess qui contient

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Exemple:Dans mon répertoire public_html/exempleWP/

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~michel/exempleWP/ 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~michel/wpExemple2/index.php [L]
</IfModule>

Pour le créer, il suffit d’ouvrir le tableau de bord, option permaliens

permaliens

Réglages les plus courants

http://localhost/~michel/exempleWP/?p=123
http://localhost/~michel/exempleWP/2013/12/08/exemple-article/
http://localhost/~michel/exempleWP/2013/12/exemple-article/
http://localhost/~michel/exempleWP/archives/123
http://localhost/~michel/exempleWP/exemple-article/
http://localhost/~michel/exempleWP

Si on sélectionne « nom de l’article », le système va créer le fichier .htaccess et l’installer (si il a le droit d’écrire)

S’il ne peut pas l’écrire, il l’affiche et c’est à vous de le recopier et le télécharger par ftp. Il affiche:

Si vous aviez les droits en écriture sur le fichier .htaccess, nous pourrions faire cela automatiquement. Ce n’est pas le cas, donc voici les règles de réécriture que vous devrez mettre dans votre fichier .htaccess. Cliquez sur le champ et appuyez sur Ctrl-a pour tout sélectionner.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /~michel/exempleWP/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . 
/~michel/exempleWP/index.php [L] 
</IfModule>