Les sites publiant de l’information de type « nouvelles » peuvent prétendre à être indexés par le site google actualités. Pour cela il faut qu’ils répondent à quelques caractéristiques précises qui sont énoncées ici par google. L’une de ces caractéristiques est que l’url de l’article doit comporter un nombre unique composé d’au moins 3 caractères.
Un article traitant du même sujet avait été publié par James il y a quelques années. Le présent article en propose une réactualisation utilisant les pipelines de SPIP.
Le résultat recherché
Avec les url arborescentes de SPIP, on a presque le type d’url qu’il faudrait pour que l’indexation par google actus soit effective :
http://www.regards.fr/environnement/il-y-a-du-gaz-dans-l-eau
Il manquerait seulement une terminaison en « ,123 » au titre de l’article, comme ceci :
http://www.regards.fr/environnement/il-y-a-du-gaz-dans-l-eau,123
L’objectif est donc :
1. calculer un nombre unique de 3 chiffres minimum pour chaque article du site
2. repérer où et comment l’url arborescente d’un article est calculée
3. ajouter à l’url d’un article le nombre précédemment calculé
1. Calculer un nombre unique d’au moins 3 chiffres
On se base bien évidemment sur le numéro de l’article. Pour les sites ayant déjà un peu vécu, le nombre d’articles publié est supérieur à 100, on peut donc afficher le id_article
à la suite du titre de tous les articles nouveaux et le tour est joué. Mais pour les sites plus jeunes, et dans tous les cas pour les articles dont l’id_article
est inférieur à 100, il faut ajouter une série de zéros avant le id_article
.
Pour cela c’est la fonction php str_pad
qui va être utilisée de la manière suivante dans notre fonction SPIP :
str_pad($objet['id_objet'], 3, "0", STR_PAD_LEFT)
Ce qui signifie : « prend l’id (de l’article), et jusqu’à arriver à 3 chiffres, complète-le avec des 0, sur sa gauche ».
2. Le pipeline utilisé pour la construction des url
Pour le cas des url arborescentes, il s’agit du pipeline arbo_creer_chaine_url
qui permet de créer une chaine texte correspondant à une url.
On va donc se brancher sur ce pipeline SPIP pour ajouter le nombre à 3 chiffres minimum précédemment obtenu.
3. La fonction qui ajoute le nombre à l’url
Sur le site programmer.spip.org il est rappelé que l’on peut utiliser les pipelines aussi bien dans un plugin que hors plugin (dans les options du site).
Bien qu’il soit souvent préférable, pour des questions d’organisation, de rangement et de maintenance, de déclarer ses pipelines dans un plugin, il est plus rapide d’ajouter quelques lignes dans le fichier mes_options.php
du site.
Tout d’abord le branchement du pipeline vers notre nouvelle fonction :
$GLOBALS['spip_pipeline']['arbo_creer_chaine_url'] .= "||googlenews_arbo_creer_chaine_url";
Puis la fonction elle-même :
function googlenews_arbo_creer_chaine_url($x) {
$objet = $x['objet'];
if ($objet['type'] == 'article') {
$x['data'] .= "," . str_pad($objet['id_objet'], 3, "0", STR_PAD_LEFT);
}
return $x;
}
Ce qui pourrait donner le fichier mes_options suivant :
<?php
/***
* Ajoute une virgule et un nombre de 3 chiffres
* a la suite d'une url
* @param $x
* @return string
*/
$GLOBALS['spip_pipeline']['arbo_creer_chaine_url'] .= "||googlenews_arbo_creer_chaine_url";
function googlenews_arbo_creer_chaine_url($x) {
$objet = $x['objet'];
if ($objet['type'] == 'article') {
$x['data'] .= "," . str_pad($objet['id_objet'], 3, "0", STR_PAD_LEFT);
}
return $x;
}
?>
Utilisation
Désormais, si vous avez fait le choix des urls arborescentes pour votre site SPIP et que la fonction « google news » est en place, toutes les urls d’articles se terminent par « ,123 ».
Et pour notre site, même l’article N°001 fonctionne : http://www.regards.fr/societe/bourges-tant-que-l-ete-suit-le,001 ! Et l’article dont on parlait au début aussi, mais avec un nombre un peu plus important : http://www.regards.fr/environnement/il-y-a-du-gaz-dans-l-eau,5036.
Il ne reste plus qu’à se signaler auprès de google actus, et d’attendre que l’indexation se fasse.
Nota : pour que la nouvelle déclaration de pipeline soit prise en compte, il faut vider le cache de SPIP. Les URLs avaient peut-être déjà été calculées auparavant. Pour forcer un recalcul, vous pouvez lancer par exemple &var_mode=urls
sur une page listant toutes les urls d’articles (comme sur le plan du site).
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |