SPIP 1.9.2c - redirection pour mettre a jour url indexées

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

arriflex
Nouveau WRInaute
 
Messages: 4
Inscription: Lun Mar 24, 2008 22:55

SPIP 1.9.2c - redirection pour mettre a jour url indexées

Message le Ven Mar 28, 2008 14:39

Bonjour à tous,

J'ai lu les messages du forum et les articles du site, mais je ne suis pas suffisamment calé pour pouvoir me débrouiller seul.

J'ai un site sous spip 1.9.2c, qui a connu plusieurs phases de réécritures d'url:
à la base des url du type:www.critikat.com/article.php3?id_article=603
puis une réécriture du type: www.critikat.com/article603.html
puis: www.critikat.com/Titre-de-l-article
et maintenant: www.critikat.com/Titre-de-l-article.html

Le problème, comme souvent soulevé dans ce forum, est qu'il reste indexé dans les moteurs de recherches (et google principalement) toutes les types d'url.

Je pense qu'il faut que je fasse une redirection mais je ne suis pas sûr que ça permettra à terme, que toutes les adresses soient mises à jour dans les indexes, et je ne sais pas trop comment écrire cette redirection.

Pourriez-vous m'aider ou me diriger vers une page que j'aurais raté qui expliquerait comment faire?

Merci beaucoup.

netsys
WRInaute accro
WRInaute accro
 
Messages: 1110
Inscription: Sam Juil 17, 2004 18:47

Message le Ven Mar 28, 2008 16:45

La meilleure solution selon moi est la redirection (301 evidemment ;-) ) pour indiquer aux moteurs que les pages ont déménagé.
Pour réaliser cela tu peux mettre un bout de code php, dans les squelettes des articles, des rubriques et des autres squelettes si nécessaire, comparant l'url appelée à l'url réécrite, comme par exemple

<B_article><BOUCLE_article(ARTICLES){id_article}><?php
// mon code de test comparant $_SERVER['REQUEST_URI'] à #URL_ARTICLE
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Il faut mettre le code php juste après <B_article><BOUCLE_article(ARTICLES){id_article}><?php ...
et mettre la balise DOCTYPE juste après la fin du php ?><!DOCTYPE ... pour éviter de se retrouver avec des espaces avant la balise DOCTYPE

arriflex
Nouveau WRInaute
 
Messages: 4
Inscription: Lun Mar 24, 2008 22:55

Message le Ven Mar 28, 2008 17:05

Merci beaucoup pour la réponse !

Justement, le problème est que google (je ne vais prendre que lui comme exemple) à plusieurs types d'url indexéeset je ne sais pas vraiment comment m'y prendre pour écrire la règle comparant _SERVER['REQUEST_URI'] à #URL_ARTICLE.

Le but est d'arriver à ce que toutes les url indexées soient du type : critikat.com/Titre-de-l-article.html

Ça ne dois pas être trop dur d'écrire la règle qui fera passer de
critikat.com/Titre-de-l-article à --> critikat.com/Titre-de-l-article.html (il n'y a qu'a ajouter le .html),

mais par contre pour passer de

critikat.com/article123.html ou critikat.com/article.php3?id_article=234 à --> critikat.com/Titre-de-l-article.html ça doit être plus costaud, vu qu'il ne suffit plus d'ajouter .html

Faut-il que je fasse 3 règles d'écriture séparées, une pour chaque cas?

Désolé, je débute dans ces questions-là... :?

netsys
WRInaute accro
WRInaute accro
 
Messages: 1110
Inscription: Sam Juil 17, 2004 18:47

Message le Ven Mar 28, 2008 18:56

Pour comparer $_SERVER['REQUEST_URI'] à #URL_ARTICLE, tu peux récupérer la page appelée comme cela en php :

$urlappelee = explode("?", $_SERVER['REQUEST_URI']);
$pageappelee = $urlappelee[0];
$pageappelee = substr($pageappelee, 1); // enleve le "/"

et ensuite

si $pageappelee != "#URL_ARTICLE" alors

header("Status: 301 Moved Permanently", false, 301);
header("Location: #URL_ARTICLE");
exit();

Quand Google accédera à ta page avec la mauvaise url, ca lui indiquera une redirection 301 vers la bonne url et il mettra ainsi progressivement à jour les pages du site dans son index.

MACHEFER
Nouveau WRInaute
 
Messages: 1
Inscription: Ven Oct 03, 2008 21:52

Message le Ven Oct 03, 2008 22:26

Bonjour.

Je rebondis sur cette aide car j'ai l'impression que le script renseigné ici est caduque. Il y a comme une erreur. Regardez ce que j'obtiens en exemple:


//si $_SERVER['REQUEST_URI'] vaut critikat.com/article.php3?id_article=603
$urlappelee = explode("?", $_SERVER['REQUEST_URI']);
//alors $urlappelee vaut Array

$pageappelee = $urlappelee[0];
//alors $urlappelee vaut critikat.com/article.php3

$pageappelee = substr($pageappelee, 1);
//alors $urlappelee vaut ritikat.com/article.php3


Ca ne va pas. Quelque chose cloche dans mon raisonnement... alors merci de m'expliquer ce qui ne va pas


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Sitemaps

  • Tester la validité d'un lien
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités