Prestashop Advanced Sitemap: v1.5 et sitemaps multiples

Posté par seiyar81 le 26 février 2014 | Laisser un commentaire (21)

Une petite news rapide pour informer de la nouvelle version du module qui passe en 1.5 avec au menu une fonctionnalité demandée depuis quelques temps :

  • Génération de sitemaps multiples
  • Compression gzip des sitemaps générés
  • Sauvegarde des paramètres sans regénérer le sitemap
  • Stabilité du code

Cette fonctionnalité permet d’éviter un refus du sitemap par Google si le nombre d’URLs dépasse 50 000 ou si la taille est supérieure à 50 Mo.
Le module fonctionne maintenant ainsi :

  • vous définissez une limite à ne pas dépasser par sitemap (10 000 par défaut, car il faut tenir compte des images)
  • une fois cette limite atteinte lors de la génération, le module sauvegarde un premier fichier et passe au second
  • et ainsi de suite jusqu’à avoir traité toutes les URLs
  • une fois la génération terminée, le module génère un Sitemap Index qui regroupe tous les sitemaps générés et le transmet aux moteurs de recherche
  • si la limite définie n’est pas atteinte, un fichier sitemap simple est généré.

Vous pouvez ensuite choisir de compresser ou non tous les fichiers générés.

La prochaine étape sera maintenant de proposer une génération par langage !

Tout ça se récupère sur GitHub.


MAJ v1.5.1 : version mineure pour corriger 2 petits bugs
– Ajout forcé d’un ‘/’ à la fin des URLs personnalisées (si non présent) pour éviter les URLs malformées
– Correction de la génération du sitemap XML pour la validation XSD

La prochaine version vera l’ajout des fournisseurs/marques et éventuellement la sélection du type d’image à ajouter et/ou la possibilité de ne pas les ajouter au sitemap.

Catégorie: Développement Web, Internet, PHP | Laisser un commentaire (21)


21 commentaires pour “Prestashop Advanced Sitemap: v1.5 et sitemaps multiples”

  • Salut,

    Pour un client j’ai installer ton module de Sitemap que je trouve très bien fait.
    J’ai un petit soucis lorsque je génère le Sitemap, je n’ai pas les Manuifacturer & Supplier qui s’affiche dans dedans.

    Est ce que tu aurais la solution ?

  • S’il s’agit des blocs : ne doivent pas être affichés sur la page d’acceuil et donc ne sont pas inclus dans le sitemap.
    S’il s’agit des liens vers les pages de chaque fournisseur/fabricant, ce n’est à l’heure actuelle pas encore implémenté, peut-être pour la prochaine version, je le note 😉

  • Merci pour ta réponse rapide 😉 envoie moi un mail à contact@webalsaceinfo.fr avec des collègues nous sommes en train de bosser sur ce point là nous avons déjà trouver comment ajouter les fabricants, il ne nous reste plus qu’a rajouter les marques

  • Voilà les marques sont ajoutées dans le Sitemap, par contre nous avons retiré les images de celui ci, je te l’enverrai une fois terminé pour cela envoie moi un mail sur ma boite afin que je te le transfère en pièce jointe. Nous terminons la modification des urls estimées.

    Bonne soirée et encore super boulot les mecs 😉

  • Bonjour,

    Est-il possible d’avoir une version de ce module , mais qui permet de sélectionner le type d’image dans le sitemap car la version actuelle permet uniquement d’avoir toutes les tailles , thickbox , large , small
    du coup pour google il y a bp d’erreur car trop de balise
    bien à vous

  • Bonjour, je viens vers vous car je rencontre un soucis.
    il n’y a pas de slash entre mon nom de domaine et la catégorie dans le sitemap, du coup toutes les url sont fausses. avez vous une idée d’où cela peut t’il venir ?

    Merci

  • Bonjour,

    J’essaie de regarder ça demain !

  • Bonjour,

    Merci pour vos efforts remarquables.
    J’ai installé le module sur le BO de mon prestashop 1.4.11 mais il ne s’installe pas, doit-je supprimer le premier avant de l’installer? ou encore le décompresser avant de l’installer?

    Merci

  • Oh la c’est bon j’ai reussi à l’installer il fallait juste décompresser le fichier .zip et installer le dossier prestashopadvancedsitemap manuellement

    Merci Yriase encore une fois.

  • Bonjour,

    Est-il possible d’avoir une version de ce module , mais qui permet de sélectionner le type d’image dans le sitemap car la version actuelle permet uniquement d’avoir toutes les tailles , thickbox , large , small
    du coup pour google il y a bp d’erreur car trop de balise
    bien à vous

    car GWT indique qu’il y a trop de balise :
    ” Balise Parent : Image
    Tag : Loc

    Balise Parent : Image
    Tag : Caption

    Balise Parent : Image
    Tag : Title

    nous avons plus de 10000 erreurs .

    yatil un moyen de choisir par exemple juste le format des image
    thickbox

    Bien à toi

  • Bonjour Yriase,

    J’ai la version 1.5.4.1 de prestashop, j’ai essayé d’installer votre sitemap sur mon site mais il n’apparaît pas dans les modules, pourtant l’installation est confirmée par presta. J’ai essayé de dézipper et d’installer manuellement avec filezila sur mon serveur mais j’ai le même résultat.
    Peut-être faut-il renommer le fichier ?

    Merci beaucoup.

  • Bonjour,

    Prestashop attend que le dossier du module corresponde précisément à “prestashopadvancedsitemap” mais en ajoutant le module via un zip il ajoute des fois un dossier en plus ce qui fait que le module est installé mais ne fonctionne pas correctement.

    L’idéal est donc de placer le module (fichiers .php etc) dans le dossier [DOSSIER_INSTALLATION]/modules/prestashopadvancedsitemap

    Hugo.

  • Bonjour,

    Est-il possible d’avoir une version de ce module , mais qui permet de sélectionner le type d’image dans le sitemap car la version actuelle permet uniquement d’avoir toutes les tailles , thickbox , large , small
    du coup pour google il y a bp d’erreur car trop de balise
    bien à vous

    car GWT indique qu’il y a trop de balise :
    ” Balise Parent : Image
    Tag : Loc

    Balise Parent : Image
    Tag : Caption

    Balise Parent : Image
    Tag : Title

    nous avons plus de 10000 erreurs .

    yatil un moyen de choisir par exemple juste le format des image
    thickbox

    Bien à toi

    personne n’a rencontré ce problème c’est bizarre

  • C’est une fonctionnalité qui sera ajoutée à la prochaine version du module : pouvoir ajouter ou non les images et sélectionner le type d’images à inclure.
    Il me manque juste le temps pour l’ajouter.

  • Bonjour

    Bravo pour ce module. Il me sert au quotidien.
    Juste une petite question, j’aimerai qu’il génère les url mais sans le ean13.

    Pour le moment, j’ai modifié le fichier padvlink pour commenter les lignes
    /*
    if ($id_product->ean13)
    $link .=’-‘.$id_product->ean13;
    else
    $link .= ”;
    */

    Mais si sur les prochaines versions je n’avais qu’une case à cocher ça serait formidable

    Cordialement

  • Bigboss

    Pour résoudre ton problème, faut faire un petit changement dans le fichier : “prestashopadvancedsitemap.php”

    Tu copies la ligne 467 et tu la commante
    //$image = $xml->addChild(‘image’, null, ‘http://www.google.com/schemas/sitemap-image/1.1’);

    Et tu la colles juste après le foreach de la ligne 468.

    Le problème des erreurs vient du fait que la version actuelle colle plusieurs infos images dans une même balise
    ….

    juste avec cette petite manip, il te mettra qu’une image par balise image ….

    Sinon, si tu veux qu’il te place qu’une seule taille d’image à chaque fois, tu dois faire une condition dans le même foreach que précédemment.

    exemple :
    foreach ($this->_imagesTypes as $imgType) {
    $this->_nbImages++;
    //types chez moi, pas certain que ce soit les mêmes pour tout le monde conseil, faites un print_r($imgType) à la fin de la fonction pour vérifier vos type d’images :
    // 6 == Home
    // 3 == Large
    // 2 == Medium
    // 1 == Small
    // 4 == thickbox
    if(($imgType[id_image_type] == 6)) {
    $image = $xml->addChild(‘image’, null, ‘http://www.google.com/schemas/sitemap-image/1.1’);
    if (Configuration::get(‘PS_REWRITING_SETTINGS’))
    $tmpLink = $link->getImageLink($product [‘link_rewrite’], (int) $product [‘id_product’] . ‘-‘ . (int) $img [‘id_image’], $imgType [‘name’], $lang);
    else
    $tmpLink = $link->getImageLink($product [‘link_rewrite’], (int) $product [‘id_product’] . ‘-‘ . (int) $img [‘id_image’], $imgType [‘name’]);

    $image->addChild(‘loc’, $tmpLink, ‘http://www.google.com/schemas/sitemap-image/1.1’);
    $legend_image = preg_replace(‘/(&+)/i’, ‘&’, $img [‘legend_image’]);
    $image->addChild(‘caption’, $legend_image, ‘http://www.google.com/schemas/sitemap-image/1.1’);
    $image->addChild(‘title’, $legend_image, ‘http://www.google.com/schemas/sitemap-image/1.1’);
    }
    }

  • Bonjour Laurent ,

    tu es un vrai chef
    cela évitera d’avoir une palanquée d’erreurs sur GWT
    @+

  • Hello Laurent ,

    il y a toujours des erreurs générés par GWT

    @+

  • Hello Laurent ,

    je ne comprends pas pourquoi aucune image est indexée dans gwt

    de plus par exemple j’ai :

    dans le site j’ai par exemple :

    /categ1/souscateg1/souscateg2/souscateg3/

    et

    /categ2/souscateg4/souscateg5/

    GWT m’affiche (Erreur 404 )

    car il ne trouve pas

    /souscateg3/id-souscateg5

    normalement j’aurais du avoir

    /categ2/souscateg4/souscateg5/

    as tu une soluce Laurent

    @+

  • Bonjour,

    Merci pour votre module qui a résolu sur l’un de mes sites un problème d’URLS dans le fichier sitemap.xml

    Par contre, je ne me l’explique pas, sur le 2ème site (même template, même structure) le problème d’URL dans le sitemap subsiste.

    En effet, les URLs apparaissent sous cette forme :

    http://www.site.fr/index.php?id_product=16&controller=product

    au lieu de

    http://www.site.fr/16-produit.html

    Auriez-vous une piste pour la résolution de ce problème, merci d’avance, cordialement. Jerome

  • Bonjour,

    Les URLs simplifiées sont-elles biens activées ?

Laissez un commentaire