HTML, PHP ou htaccess: Rediriger ou Rafraîchir après un délai
Rediriger ou rafraichir une page revient presque au même, la différence est que rafraichir est comme une redirection vers la page en cours (c'est demander de nouveau au serveur la page actuelle). Il y a quelques détail techniques qui s'appliquent aux redirections, pas toutes les redirections sont pareilles. Quelques unes sont permanentes, d'autres sont temporaires, quelques unes renvoyent vers une page qui a le même contenu, d'autres non. C'est utile de bien comprendre ces types de redirection pour des questions de réferencement (ou SEO) car vouz devez expliquer au moteur de recherche pourquoi cette redirection a lieu. Alors avant de faire nos redirections nous alons parler un peu des codes de statut HTML.
Les types de redirection:
Les codes de statut HTML qui commencent par le chiffre 3 informent à propos d'une redirection. Les codes les plus importants sont le 301, qui signifie que la page a changé d'adresse de manière permanente et que le moteur de recherche doit metre à jour les liens vers cette page, et le 302, qui veut dire que la page a bougé de façon provisoire, la page a été trouvée (donc tout va bien) et il n'est pas nécessaire de faire une mise à jour. Avec une redirection 301 Google va aussi transférer le PageRank de la page vers sa redirection, j'imagine que les autres moteurs de recherche font quelque chose de semblable. C'est très utile quand votre site change d'adresse par exemple. Bon, faisons maintenant les redirections.
Les différentes techniques de redirection:
Il y a plusieurs techniques qui peuvent être utilisées pour faire une redirection, nous alons voir trois de ces techniques: la technique vieille-école avec une balise meta HTML, la technique du programmeur avec un script PHP et la technique du webmaster en utilisant le fichier htaccess ou httpd.conf. Chaque méthode a son avantage, regardons de plus près.
Redirection avec une balise meta HTML (ancien)
Insérez cette balise dans l'en tête de votre page, entre <head> et </head>.
<meta http-equiv="Refresh" content="5;url=http://www.exemple.com" />
Le chiffre après "content" est le nombre de secondes avant que la page soit redirigée vers l'adresse URL. Si "content" est 0 alors Google considère qu'il s'agit d'une redirection 301, autrement ce sera une 302. Si l'URL pointe vers la même page alors le contenu de la page sera rafraîchi, autrement ce sera une redirection. C'est une bonne technique pour rafraîchir une page car vous pouvez contrôler le délai pendant lequel la page reste affichée avant d'être rafraîchie.
Redirection avec PHP
Mettez ce script au début de la page, d'ailleurs vous pouvez ne mettre que ce script sur la page car la redirection sera traitée par le serveur et la page ne sera pas affichée au visiteur.
<?php
header('HTTP/1.1 301 Moved Permanently'); //optionnel
header('Location: http://www.exemple.com');
exit();
?>
Si vous ne mettez pas la première ligne optionnelle, ce sera une redirection 302. PHP n'offre pas une façon d'attendre un délai car la redirection se passe pendant que le serveur cherche la page à afficher. Pour cette raison d'ailleurs, vous ne devez jamais utiliser ce script pour rafraîchir la page puisqu'un script qui pointe vers la même page (sans délai) créerait une boucle sans fin.
Rediriger avec htaccess ou httpd.conf
Placez le code suivant dans le fichier .htaccess et mettez le dans la racine de votre site. Vous pouvez choisir d'inclure les codes de statut HTML ou de les omettre pour faire des redirections 302.
Redirect 301 /ancienne-page.html http://www.exemple.com/nouvelle-page.php
Vous pouvez aussi rediriger des dossiers entiers avec une seule ligne.
Redirect 301 /ancien-dossier/ http://www.exemple.com/nouveau-dossier/
Ou même des sites entiers.
Redirect 301 / http://www.exemple.com/
Si vous avez besoin d'un peu plus de contrôle lors de vos redirections utilisez le code suivant:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ancien-site.com$ [NC]
RewriteRule ^.*$ http://www.nouveau-site.net/$1 [R=301,L]
Le "RewriteCond" est la condition pour réecrire l'URL. Le [NC] veut dire "No case", c.a.d pas sensible à la casse. Juste avant l'URL vous pouvez choisir comment l'URL doit être redirigé:
"^"= "si c'est le site suivant"
"!^"= "si ce n'est pas le site suivant"
La "RewriteRule" indique comment la nouvelle addresse doit être construite. A la fin, le "$1" doit être utilisé si votre nouveau site est exactement pareil à votre ancien site. Dans ce cas l'addresse www. ancien-site.com /page1.html deviendra www. nouveau-site.com /page1.html. Si vous voulez que les visiteurs soient redirigés vers la première page de votre nouveau site quel que soit la page de l'ancien site qu'ils essayent de lire alors effacez le "$1".
A la fin le [R=301, L] veut dire qu'il s'agit d'une redirection 301 et que c'est la dernière commande.
Cette méthode est souvent employée pour rediriger l'addresse http:// www. url.tld vers http:// url.tld (ou l'inverse). Changez le code pour qu'il dise " si l'addresse demandée n'est pas url.tld$ alors redirigez vers url.tld$1". Si vous avez bien compris les explications vous savez déjà que c'est très facile à faire.
Dans un serveur dédié il est préférable de placer le code ci-dessus directement dans le fichier httpd.conf et d'omettre la première ligne “Options +FollowSymLinks”.
Voilà! C'est tout pour ce tutoriel. Vous savez probablement déjà quelle technique et quel code de statut que vous voulez utiliser mais juste pour récapituler:
301= redirection permanente qui met à jour les liens des moteurs de recherche et transfère le PageRank de Google.
302= indefini, redirection temporaire, la bonne page a été trouvée.
Balise meta HTML = permet d'avoir un délai.
Script PHP = redirection faite par le serveur.
Htaccess= redirection de dossiers et sites entiers est possible.
Merci d'avoir suivi ce tutoriel!


Ajouter un commentaire