SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 119 visiteurs en ce moment

Accueil > Statistiques et référencement > Réécriture d’URL > Optimiser les URLS pour google actus

Optimiser les URLS pour google actus

19 juin 2012 – par Cyril Marion, James, Matthieu Marcillaud – 28 commentaires

5 votes

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 :

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 :

Puis la fonction elle-même :

Ce qui pourrait donner le fichier mes_options suivant :

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 ».

Choix des url arboresentes dans SPIP
Choix du type d’url en SPIP 2.1 sur la page ?exec=config_fonctions

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).

Dernière modification de cette page le 14 janvier 2013

Retour en haut de la page

Vos commentaires

  • Le 22 octobre à 20:34, par bob55 En réponse à : Optimiser les URLS pour google actus

    Bonjour,
    J’ai fait une màj de spip 2.1 à spip 3.1, et la réécriture d’URL avec cette méthode qui ajoutait un nombre (id_article) à la fin des urls des articles, ne fonctionne plus :

    $GLOBALS[’spip_pipeline’][’propres_creer_chaine_url’] .= « |googlenews_propres_creer_chaine_url » ;
    function googlenews_propres_creer_chaine_url($x) {
    $objet = $x[’objet’] ;
    if ($objet[’type’] == ’article’) {
    $x[’data’] .= $objet[’id_objet’] ; // ajoute id_article à la fin de chaque article
    }
    return $x ;
    }

    Ce code est dans config/mes_options.php. Savez-vous s’il y a des changements avec spip 3.1 et 3.2 ?

    • Le 23 octobre à 00:20, par bob55 En réponse à : Optimiser les URLS pour google actus

      En fait finalement en regardant mieux les autres commentaires, j’ai doublé le | avant googlenews_propres_creer_chaine_url et j’ai effacé le cache, et ça a marché aussi sous spip 3.1.16. Merci.

    Répondre à ce message

  • Le 16 octobre 2012 à 15:12, par Bruno En réponse à : Optimiser les URLS pour google actus

    Bonjour,

    J’ai une question : est-ce que cette réécriture d’URL oblige à modifier les liens internes au site utilisant le format de réécriture pour Google Actualités ?
    Autrement dit, est-ce les URLs sans la virgule et les 3 chiffres à la fin seront toujours utilisables ?

    Merci,
    Bien cordialement,
    Bruno.

    • Le 15 janvier 2013 à 18:36, par marcimat En réponse à : Optimiser les URLS pour google actus

      oui.

      Ceci dit, pour faire des liens internes il faut de préférence utiliser [->XX] ou [->artXX] dans les textes, et #URL_ARTICLE dans les squelettes...

    Répondre à ce message

  • Le 14 janvier 2013 à 11:17, par captain_torche En réponse à : Optimiser les URLS pour google actus

    Je n’arrive pas non plus à faire fonctionner le code sous SPIP 3.0.5, que ce soit en plugin ou dans « mes_options.php ».

    Y a-t’il eu des changements, ou est-ce que je m’y prends mal ?

    • Le 14 janvier 2013 à 13:11, par Martin En réponse à : Optimiser les URLS pour google actus

      salut captain !

      j’ai eu le même problème que toi avec spip3. Après une semaine d’arrachage de cheveux, j’en suis venu à une solution (que je qualifierais d’un peu cracra) :
      j’ai modifié le plugin « urls_etendues » de spip.

      pour ce faire, je suis allé dans plugins-dist/urls_etendues/urls/arbo.php et j’ai rajouté le traitement suivant ligne après la ligne 194 :

      if ($objet[’type’] == ’article’)
      $url .= « _ » . str_pad($objet[’id_objet’], 3, « 0 », STR_PAD_LEFT) . « _ » . $objet[’id_parent’] ;

      je pense que ça ne sera pas top sur le long terme, mais c’est la seule méthode qui à fonctionné.

    • Le 14 janvier 2013 à 13:44, par Matthieu Marcillaud En réponse à : Optimiser les URLS pour google actus

      Ok, je confirme un mini bug.

      En fait il faut déclarer le pipeline avec 2 pipes (||) pour le forcer à passer à la fin des autres calculs d’urls, et donc particulièrement à la fin du calcul de l’url arborescente pour ajouter l’identifiant de l’article.

      Enfin, il faut vider le cache, et recalculer les urls (var_mode=urls sur une page ayant les urls à recalculer, comme sur le plan du site).

      J’ai corrigé l’article.

      1. $GLOBALS['spip_pipeline']['arbo_creer_chaine_url'] .= "||googlenews_arbo_creer_chaine_url";
    • Le 14 janvier 2013 à 14:02, par Cyril Marion En réponse à : Optimiser les URLS pour google actus

      Dankon, Matteo ;-)

    • Le 14 janvier 2013 à 17:40, par captain_torche En réponse à : Optimiser les URLS pour google actus

      Merci Mathieu, ça marche ’achement mieux maintenant !

    • Le 15 janvier 2013 à 00:16, par Martin En réponse à : Optimiser les URLS pour google actus

      Super !

      merci !

    Répondre à ce message

  • Le 10 décembre 2012 à 16:52, par ECO En réponse à : Optimiser les URLS pour google actus

    Cela ne fonctionne pas chez moi, sous SPIP 3 :-(

    • Le 16 décembre 2012 à 12:42, par ECO En réponse à : Optimiser les URLS pour google actus

      Personne ? :-(

    • Le 16 décembre 2012 à 12:44, par ECO En réponse à : Optimiser les URLS pour google actus

      Je remarque d’ailleurs que je ne peux mêmepas activer les URLs propres...
      Je me retrouve avec des URLs de ce type si je les active :
      spip.php ?page=article&id_article=9695

    • Le 14 janvier 2013 à 13:45, par marcimat En réponse à : Optimiser les URLS pour google actus

      Y avait une petite erreur dans l’article. Il faut 2 || dans la déclaration

      1. $GLOBALS['spip_pipeline']['arbo_creer_chaine_url'] .= "||googlenews_arbo_creer_chaine_url";

    Répondre à ce message

  • Le 25 juin 2012 à 17:41, par robomatix En réponse à : Optimiser les URLS pour google actus

    Pour utiliser cette manip sur les url propres qs, le code est bien :

    /***
    * Ajoute une virgule et un nombre de 3 chiffres ( pour google news )
    * a la suite d'une url
    * @param $x
    * @return string
    */
    $GLOBALS['spip_pipeline']['propres_qs_creer_chaine_url'] .= "|googlenews_propres_qs_creer_chaine_url";
    function googlenews_propres_qs_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;
    }

    Ca n’a pas l’air de marcher en tout cas..
    Qu’en pensez vous ?

    Merci d’avance !.

    • Le 27 juin 2012 à 10:56, par robomatix En réponse à : Optimiser les URLS pour google actus

      Finalement, j’utilise les urls propres et le code

      /***
      * Ajoute une virgule et un nombre de 3 chiffres ( pour google news )
      * a la suite d'une url
      * @param $x
      * @return string
      */
      $GLOBALS['spip_pipeline']['propres_creer_chaine_url'] .= "|googlenews_propres_creer_chaine_url";
      function googlenews_propres_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;
      }

      Notez que j’ai remplacé la ’,’ par un ’-’ suite au recommandation de Loiseau2nuit...

      Ca marche lorsque l’on clique sur ’Voir en ligne’ un article depuis la partie privée. L’article se voit attribuer sa nouvelle adresse. Par contre, les autres articles restent avec leur anciennes adresses, sans les chiffres donc...

      Est ce que quelqu’un sait comment faire forcer la génération des nouvelles adresses pour tous les articles ? Pour info spip 2.1.0...

      Merci d’avance !

    • Le 27 juin 2012 à 11:25, par Cyril Marion En réponse à : Optimiser les URLS pour google actus

      Hello,

      peut-être vider la table spip_urls ?

    • Le 27 juin 2012 à 13:46, par robomatix En réponse à : Optimiser les URLS pour google actus

      On y a penser, mais les urls des articles référencés par google vont mener nul part, non ?

    • Le 27 juin 2012 à 17:04, par .Gilles En réponse à : Optimiser les URLS pour google actus

      Oui, et c’est le genre de manip’ à éviter.
      De toute manière, si ici l’objectif est d’optimiser pour Google Actu, alors les anciens articles ne sont plus dans cette catégorie.
      Autant ne pas risquer de leur faire perdre leur référencement actuel ;)

    • Le 9 août 2012 à 13:43, par Loiseau2nuit En réponse à : Optimiser les URLS pour google actus

      Non mais en fait ce sont surtout les URLs propres-qs qu’il faut éviter. Quoique vous fassiez pour les optimiser, elles ne seront jamais indexées vraiment correctement par les moteurs de toute façon...

    Répondre à ce message

  • Le 27 juin 2012 à 13:48, par robomatix En réponse à : Optimiser les URLS pour google actus

    Au fait pour vider le cache, c’est pas plutôt ’http://www.monsite.com/ecrire/?exec=admin_vider ?
    Enfin, il me semble...

    • Le 27 juin 2012 à 14:07, par Matthieu Marcillaud En réponse à : Optimiser les URLS pour google actus

      Selon http://www.spip.net/fr_article4453.html c’est var_mode=urls pour recalculer toutes les urls présentes dans la page

      Donc, tu peux te faire un squelette bidon.html qui a une boucle article de TOUS les articles de ton SPIP, avec dedans #URL_ARTICLE et tu appelles sur cette page var_mode=urls.

    • Le 27 juin 2012 à 15:04, par Matthieu Marcillaud En réponse à : Optimiser les URLS pour google actus

      Ah ah, on me souffle dans l’oreillette d’IRC (merci Cédric)

      1. <cerdic> marcimat: pour http://www.spip-contrib.net/Optimiser-les-URLS-pour-google-actus#forum458843
      2. <cerdic> Il suffit d'activer la configuration avancée des urls dans spip 3
      3. et d'aller dans la page Gestion des urls
      4. "Mettre à jour toutes les URLs"
      5. <marcimat> ah ah
      6. tu veux pas répondre ? je le fais ?
      7. <cerdic> vas y :)
      8. <marcimat> j'avais pas du voir ce bouton ou ne pas m'en être aperçu :)

      Télécharger

    • Le 27 juin 2012 à 18:19, par robomatix En réponse à : Optimiser les URLS pour google actus

      Merci de votre aide ! Ca a marché pour plus de 3000 articles !!!

      Pour un spip 2.1.0.

      Voici le code de mon squelette appelé ’tous-les-articles.html’ :

      1. <!--
      2. To change this template, choose Tools | Templates
      3. and open the template in the editor.
      4.  
      5. A utiliser avec var_mode=urls pour forcer la ré-écriture des urls sous spip 2
      6. Ex : http://www.monsite.com/spip.php?page=tous-les-articles&var_mode=urls
      7.  
      8.  
      9. -->
      10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      11. <html>
      12. <head>
      13. <title>Tous les articles</title>
      14. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      15. <INCLURE{fond=inc-head}>
      16. </head>
      17. <body>
      18. <ul>
      19. <BOUCLE_articles(ARTICLES){! par id_article}>
      20. <li>
      21. <h3><a href="#URL_ARTICLE">#ID_ARTICLE #TITRE</a></h3>
      22. </li>
      23. </BOUCLE_articles>
      24. </ul>
      25. </body>
      26. </html>

      Télécharger

      A mettre en ligne et a appeler par l’url : http://www.monsite.com/spip.php?page=tous-les-articles&var_mode=urls !!! Attention, ne pas oublier le « &var_mode=urls », c’est lui qui fait tout !
      Penser à retirer le squelette une fois l’opération faite pour éviter de laisser trainer des choses qui ne servent plus à rien...

    • Le 28 juin 2012 à 09:01, par Loiseau2nuit En réponse à : Optimiser les URLS pour google actus

      Alors je ne connaissais pas le var_mode url et l’option dont parle Cerdic, je ne l’ai pas vue non plus ... oO

      Sinon ya un autre moyen pour tout calculer aussi (et en passant, spotter les erreurs 404 résiduelles d’un site et autres redirections foireuse) c’est de passer l’URL de son site à Xenu pour qu’il check les urls en profondeur (et donc, en toute logique, les calculer à la volée)

      http://home.snafu.de/tilman/xenulink.html

      C’est cadeau !

    Répondre à ce message

  • Le 21 juin 2012 à 16:28, par Loiseau2nuit En réponse à : Optimiser les URLS pour google actus

    J’avoue que ce suffixage à l’aide d’une virgule me chifonne beaucoup.

    D’une manière générale, j’aime (et Google aussi) quand une url se termine par une extension de fichier connues, ce qui facilite (et donc accélère) son indexation dans le moteur ! (je n’ai pas dit « améliore »)

    Par ailleurs, sur les séparateurs, en général on utilisera plutôt un tiret simple « - » la virgule pouvant poser problème en fonction du parseur d’url qu’il y a en face. Et les bots GG ne font pas exception.

    Aussi pour moi (ca reste une conviction, pas une vérité SEO certifiée) l’url idéale serait plutôt
    http://site/arbo/titre-de-l-article-123.html

    Autre chose, pour ce qui touche Google actu plus spécifiquement :

    • dans les url, il aime bien les dates
      http://site/2012/06/21/titre-de-l-article.html peut dans certains cas suffir à obtenir une indexation par GG News
    • La mise en oeuvre, telle que décrite dans l’article ou telle que je la ferais moi ne garantie aucunement d’indexation je cite « effective » dans Google Actu. C’est encore lui qui décide s’il indexe ou pas mais faire la modif vous met en bonne place dans la liste d’attente.
    • Cette modification n’est rien si vous ne mettez pas en oeuvre les modifications qu’ils préconisent au niveau du Sitemap. Mon conseil serait même de produire un sitemap dédié pour vos contenus d’actualités, isolé du sitemap.xml principal (mais lié par lui !)

    C’était la « minute SEO » ... euh... nécessaire ? Vraiment ??? ... de Loiseau2nuit ^^

    • Le 21 juin 2012 à 16:42, par Cyril Marion En réponse à : Optimiser les URLS pour google actus

      Merci pour le commentaire ;-)

      En fait on peut facilement remplacer la virgule par tout autre caractère. L’objectif de l’article était d’une part de réactualiser le vieil article de James vieux de 6 ans, d’autre part de parler de la fonction php str_pad, et enfin de montrer un exemple de branchement de pipelines.

      Tiens, d’ailleurs on pourrait très bien imaginer de proposer un type d’urls « date » ou « date_google » qui créerait une arborescence de dates comme dans ton exemple. Ce type d’url pourrait même être complétée de la terminaison unique à 3 caractères mini... Du boulot pour cet été ;-)

    • Le 22 juin 2012 à 16:44, par Loiseau2nuit En réponse à : Optimiser les URLS pour google actus

      En fait, dans ce que tu me dis :

      d’autre part de parler de la fonction php str_pad

      Je me dis qu’il nous manque un tableau complet des fonctions qu’il est possible d’appliquer à une URL pour compléter la documentation de URLs éditables

      et d’autre part, ce qui serait génial surtout c’est de pouvoir définir un pattern de ré-écriture d’url sur commande et ce, soit pour l’ensemble du site, et au cas par cas pour certaines rubriques ... ( parce que pour ma part, il n’y a aucun intérêt à booster pour indexation google news toutes les pages d’un site. Seul la rubrique publiant réellement des news devrait être optimisée en ce sens)

      Effectivement, heureusement que l’été est calme d’un point du vue activité ^^

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • SpipClear 2.1

    18 avril 2009 – 138 commentaires

    Un squelette de blog parmi les autres, entièrement pompé (avec la permission du concepteur) sur le thème par défaut de DotClear.

  • Mailsubscribers

    16 janvier 2013 – 328 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • Minidoc : différentes vues pour les documents attachés

    3 février – commentaires

    Minidoc est un plugin pour SPIP 3.1 qui ajoute aux listes de documents attachés à des objets éditoriaux (tel que les articles), des boutons permettant de changer le type d’affichage de ces listes. Il a été intégré dans le plugin Médias inclu avec SPIP (...)

  • Agenda 2.0

    3 novembre 2008 – 1095 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • Diaporama responsive avec Nivo Slider

    15 septembre 2015 – commentaires

    Un diaporama responsive basé sur « Nivoslider ». Introduction Cette contribution est une adaptation liée à Nivo-Slider (http://contrib.spip.net/Nivo-Slider-3747). Ce dernier plugin disponible n’étant pas responsive, nous l’avons refait une adaptation (...)