moncler Posted September 27, 2009 Share Posted September 27, 2009 Bonjour,Voici un script a placer a la racine de votre shop afin de generer automatiquement le fichier sitemap.Il appelle simplement le module gsitemap a regenerer le sitemap, lit le fichier xml et l affiche, il est donc necessaire de l avoir installer avant.L'interet est que ce dernier beneficie des maj prestashop, ce qui minimise les updates a faire sur ce script.Installation:Telecharger le fichier getsitemap.php et le placer a la racine du repertoire ou est installer votre boutiqueremplacer dans Dans google tools remplacer le fichier sitemap.xml par getsitemap.phpMerci a ceux qui l' essaye de faire un petit retour (si il marche ou pas)Edit:Inclus ci dessous le correctif pour le module gsitemap sur la 1.2.4 (basé sur le correctif par la team sur le SVN)Edit:_________ v1.519/10/09Correction bug T_INCLUDE sur certain serveur@+ getsitemap.php gsitemap.php 1 Link to comment Share on other sites More sharing options...
Mephivio Posted September 28, 2009 Share Posted September 28, 2009 simple et utile.il fallait y penser !MerciJP Link to comment Share on other sites More sharing options...
moncler Posted September 30, 2009 Author Share Posted September 30, 2009 Merci J'ai fait une petite mise a jour, maintenant le script verifie automatiquement que Gsitemap est bien installé avant de regenerer le sitemap.Dans le cas contraire un message d'erreur est afficher.Pour info google accepte bien l'extention php, il n y a pas besoin de modifier les regles htaccess pour lui donner l'extention xml (soumettre directement getsitemap.php dans google web tools) Link to comment Share on other sites More sharing options...
jadefrance Posted September 30, 2009 Share Posted September 30, 2009 Bonjour MonclerEst-ce u'il faut le lancer avec une tache cron ou il se débrouille ?Merci Link to comment Share on other sites More sharing options...
moncler Posted September 30, 2009 Author Share Posted September 30, 2009 Salut,En fait c'est tout l interet du script, il se debrouille seul.J'ai vu sur le forum anglais un script dans le meme but mais l avantage ici est que c'est le module gsitemap integré a prestashop qui est appellé a generer le sitemap, ce qui garantit la compatibilité pour les futures version de presta. Link to comment Share on other sites More sharing options...
zeiser50 Posted October 1, 2009 Share Posted October 1, 2009 je viens de le mettre. Ca marche impec.Merci a Moncler ! Link to comment Share on other sites More sharing options...
moncler Posted October 1, 2009 Author Share Posted October 1, 2009 Merci Version mise a jour Ce ne sont que des modifs mineur, ajout d un header si on veut voir le fichier generé dans un navigateur de maniere plus conforme (mais cela ne change rien pour google) Link to comment Share on other sites More sharing options...
Baballe Posted October 8, 2009 Share Posted October 8, 2009 Bonjour,Moi j'ai cela quand je le test via firefox, il devrait normalement me montrer le sitemap non ?vs 1.2.4 avec module gsitemap activé Parse error: syntax error, unexpected T_STRING in /home/montru/public_html/getsitemap.php on line 1 Cordialement Link to comment Share on other sites More sharing options...
moncler Posted October 8, 2009 Author Share Posted October 8, 2009 Bonjour,Je m apercois que la version dispo en dl n'etais pas la derniere version que j'avais mis a jour, celle ci verifie avant que le module est bien installé et affiche un message d erreur s il ne l est pas.Je l'ai reuploader ds le 1er post Baballe oui normalement il devrait l'afficherPeux tu donner le lien de ton site, ou me dire ce qui est afficher (cliquer droit sur la souris et "view page source")est ce tu as bien installer le script a la racine de ton shop et verifie si tu as la même erreur en lisant directement le xml generé par gsitemap Link to comment Share on other sites More sharing options...
Farinet Posted October 9, 2009 Share Posted October 9, 2009 j'ai un petit prob avec le fichier,Si je passe par le back office, le sitemap est ok, si je passe par le getsitmap, j'ai _PS_BASE_URL_ au debut de l'url ? la place du chemin normal ?merci Link to comment Share on other sites More sharing options...
moncler Posted October 9, 2009 Author Share Posted October 9, 2009 >FarinetTu peux essayer avec la 1.3?Autrement je vais voir d ou ca peut venir.Si tu peux me dire aussi si tu es sur un mutu, et est ce que tu as fait une maj pour passer en 1.2.4Merci a ceux qui ont essayer le script de faire un petit retour (si marche ou pas)@+ Link to comment Share on other sites More sharing options...
Farinet Posted October 9, 2009 Share Posted October 9, 2009 salutoui je suis sur un mutu : http://www.phpnet.orgc'est une clean install 1.2.4la 1.3 ??? je la trouve ou ?merci Link to comment Share on other sites More sharing options...
moncler Posted October 9, 2009 Author Share Posted October 9, 2009 Salut,Au premier post Link to comment Share on other sites More sharing options...
Farinet Posted October 9, 2009 Share Posted October 9, 2009 oups :red: j'avais pas vu !voila avec la 1.3 . même probvoici les seuls modifs que j'ai fait sur le prestahop 1.2.4a+ -----module modifierpaypla ipnimages et texte-----UPDATE ps_category_product SET id_category = '342' WHERE id_category = '18';-----------pour générer sitemapajouter config/config.inc.php@ini_set(‘memory_limit’,‘128M’);-----------J’avais besoin de trier les articles par quantité , j’ai donc ajouté la ligne suivante ( ligne 54 du fichier Admin->Tabs->AdminPPreferences.php)'PS_PRODUCTS_ORDER_BY' => array('title' => $this->l('Default order by:'), 'desc' => $this->l('Default order by for product list'), 'type' => 'select', 'list' => array( array('id' => '0', 'name' => $this->l('Product name')), array('id' => '1', 'name' => $this->l('Product price')), array('id' => '2', 'name' => $this->l('Product added date')), array('id' => '4', 'name' => $this->l('Position inside category')), array('id' => '5', 'name' => $this->l('Manufacturer')), array('id' => '6', 'name' => $this->l('Quantity')),//ajout tri par quantite array('id' => '3', 'name' => $this->l('Product modified date')) ), 'identifier' => 'id')Et de traduire Quantity en Quantité dans l’outil de traduction, coté Admin------------- case “newsletter” soit “pré-cochée” et dans ce cas le client devra la décocher s’il ne veut pas être inscrit ! authentication.tpl qui se trouve dans votre thème courant (themes>montheme)Vous trouverez vers la ligne 136 (chez moi en tout cas) le code suivant:<input type=“checkbox” name=“newsletter” id=“newsletter” value=“1” {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked=“checked”{/if} />Rajoutez ça: checked=“checked” juste après id=“newsletter”Bref: ça doit donner ça:<input type=“checkbox” name=“newsletter” id=“newsletter” checked=“checked” value=“1” {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked=“checked”{/if} />------------dans : /themes/prestashop/category.tplet remplacer la ligne 7 comme ceci :{$nb_products|intval} {if $nb_products>1}{l s=‘products’}{else}{l s=‘product’}{/if}par{if $nb_products>1}{ $nb_products}{/if} {if $nb_products>1}{l s='products'}{else}{l s=''}{/if}comme ça si quantité article =0 pas d’affichage et si quantité article >0 on affiche la quantité Link to comment Share on other sites More sharing options...
zeiser50 Posted October 10, 2009 Share Posted October 10, 2009 J'ai le meme souci (version 1). je viens de mettre la 1.3 pour voir si cela influe.Version 1.2.4 Link to comment Share on other sites More sharing options...
moncler Posted October 10, 2009 Author Share Posted October 10, 2009 Salut,Pour le pb de _PS_BASE_URL_ essayer la 1.4 plutot (sur le 1er post) @+ Link to comment Share on other sites More sharing options...
Farinet Posted October 10, 2009 Share Posted October 10, 2009 Trop fort !!!!ca marche chez moiencore merci Link to comment Share on other sites More sharing options...
Baballe Posted October 12, 2009 Share Posted October 12, 2009 Bonjour,monclerc voilà j'ai fait un clique droitet je te colle le résultat dessous Parse error: syntax error, unexpected T_INCLUDE in /home/*****/public_html/getsitemap.php on line 1 J'ai mis le fichier à la racine de mon site là ou il y a mon htaccess Link to comment Share on other sites More sharing options...
moncler Posted October 12, 2009 Author Share Posted October 12, 2009 Bizzare, il te marque qu'il ya une erreur a la ligne 1 alors que le code du script ne commence qu a partir de la ligne 24Tu as bien mis la v1.4? Link to comment Share on other sites More sharing options...
Baballe Posted October 12, 2009 Share Posted October 12, 2009 Oui j'ai bien la vs 1.4 du fichier / presta vs 1.2.4 / php vs 5.2.9C'est peut être dû à une configuration particulière du serveur mutualisé.et c'est vrai pourquoi la ligne 1 ? mais moi avec notepad++ le code ne commence pas à la ligne 24 mais 23 par ceci include(dirname(__FILE__).'/config/config.inc.php'); Link to comment Share on other sites More sharing options...
moncler Posted October 13, 2009 Author Share Posted October 13, 2009 Oui ligne 23 c'est bien ca.Ca vient peut etre de la version php 5.2.9 (qui a des pb avec les images d apres la team: image management/upload broken) mais ce type d include se fait souvent dans les autres fichiers de presta (surtout le 1er) sans que tu ais d'autre soucis a priori.essaye peut etre de commenter un a un les includes pour voir lequel pose probleme (en supposant que l'erreur est levée dans le fichier inclu..) Link to comment Share on other sites More sharing options...
Baballe Posted October 13, 2009 Share Posted October 13, 2009 Bon après avoir commenté les includes 1 par 1 c'est toujours pareil / j'ai essayé en remplaçant les fichiers presta 1.2.4 appelés par ceux du svn ... mais rien ne change, donc je pencherai pour ma vs php 5.2.9 à confirmer par quelqu'un qui à cette vs php.Lors de la prochaine mise à jour de Prestashop je tenterai encore le coup et je donnerai le résultat ici.En tout cas merci moncler Link to comment Share on other sites More sharing options...
zeiser50 Posted October 13, 2009 Share Posted October 13, 2009 Ca semble impec avec la 1.4. Link to comment Share on other sites More sharing options...
Baballe Posted October 13, 2009 Share Posted October 13, 2009 Quelle est la vs php de ton serveur zeiser50 ? Link to comment Share on other sites More sharing options...
Oron Posted October 13, 2009 Share Posted October 13, 2009 Bonjour PHP Version 5.2.6Parse error: syntax error, unexpected T_INCLUDE in /home/mondomaine/public_html/getsitemap.php on line 1 Même problème que baballe mais suis pas sur le même serveur, je suis sur un compte revendeur hébergement.A la racine du siteVersion de getsitemap.php 1.4 enfin c'est ce qui est écris :-) Link to comment Share on other sites More sharing options...
moncler Posted October 14, 2009 Author Share Posted October 14, 2009 Bon, difficile de resoudre un bug qd on peut pas le reproduire.J'ai supprimer un include il était inutil vu qu'il étais deja inclus ailleurs.Peut etre cela resoud ce pb, a tester... (v1.45 dans le 1er post)@+ Link to comment Share on other sites More sharing options...
Farinet Posted October 15, 2009 Share Posted October 15, 2009 V 1.45 fonctionne parfaitement chez moi!!!encore merci Link to comment Share on other sites More sharing options...
Oron Posted October 15, 2009 Share Posted October 15, 2009 BonjourParse error, syntax error unpextedCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type ...en français"Erreur d'analyse du code: il y a une erreur de syntaxe, fin de code inattendue". En fait, cette erreur signifie que Php a fini d'analyser votre code, mais que vous avez oublié de fermer un symbole quelque part dans votre page ou dans celles qui ont été incluses.Oublié de fermer un guillemets donc il va chercher un guillemet, une accolade, une parenthèse ou un point virgule.D'après mon expérience souvent c'est le ; qui fait défaut.FROM `'._DB_PREFIX_.'module` m WHEREle ` après From est-ce normal je le vois aussi après module mais nul part ailleurs(source commentçamarche) Link to comment Share on other sites More sharing options...
Baballe Posted October 15, 2009 Share Posted October 15, 2009 Bonjour,moncler j'ai toujours la même erreur avec la vs 1.45, quelle est la permission fichier normalement pour ce script ? 644 c'est bon ?Oron j'ai testé sans "`" mais c'est idem Moi mon serveur tourne avec SuPHP qui permet d'utiliser les scripts php avec les droits utilisateurs au lieu de celui du serveur web pour une meilleur sécurité. Oron sais tu si le tien aussi tourne sur SuPHP ? Link to comment Share on other sites More sharing options...
Oron Posted October 15, 2009 Share Posted October 15, 2009 Re Non aucune idée s'il tourne avec SuPHP, je viens de regarder dans info.php rien trouver de tel.J'ai aussi 644 pour les fichiers.Là j'ai enlever la ligne include comme indiqué, et quand je vais sur monsite/getsitemap.php il y a que du blanc et rien dans la source, il devrait pas indiquer le sitemap en xml ? Link to comment Share on other sites More sharing options...
moncler Posted October 15, 2009 Author Share Posted October 15, 2009 Bonjour,moncler j'ai toujours la même erreur avec la vs 1.45, quelle est la permission fichier normalement pour ce script ? 644 c'est bon ?Oron j'ai testé sans "`" mais c'est idem Moi mon serveur tourne avec SuPHP qui permet d'utiliser les scripts php avec les droits utilisateurs au lieu de celui du serveur web pour une meilleur sécurité. Oron sais tu si le tien aussi tourne sur SuPHP ? Salut,idem pour les droit, c'est bon pour 644.Dans le doute on peut essayer de virer tous ce qui est de la ligne 27 a 43.Voir meme de tous virer en ne laissant que les 2 include lol, puis decommenter une a une les lignes de 43 a 52 en verifiant qd l'erreur apparait. Link to comment Share on other sites More sharing options...
zeiser50 Posted October 15, 2009 Share Posted October 15, 2009 Quelle est la vs php de ton serveur zeiser50 ? La version que j'ai est 5.2.6-1Michel Link to comment Share on other sites More sharing options...
GillesNew Posted October 17, 2009 Share Posted October 17, 2009 Bonjour à tous, bonjour Monclerje suis en PS 1.2.4 et un peu novice dans la partie...- J'ai installé gsitemap.php (disponible sur le 1er post) directement à la racine du site- J'ai mis une 744 sur les droits de ce fichier- j'ai bien lu tout ce fil en entier afin de vérifier qu'il se lance tout seul (pas besoin de CRON)- Google Sitemap V1.4 est bien installé dans mon BOPuis j'ai patienté une heure : il ne se passe RIEN...Ni mise à jour, ni message d'erreur.Questions :qu'elle est la fréquence de rafraichissement de ce fichier "auto update" ?Ai je oublié une manip ?MerciGilles Link to comment Share on other sites More sharing options...
moncler Posted October 17, 2009 Author Share Posted October 17, 2009 To site est http://www.luxuryspirit.com?car http://www.luxuryspirit.com/getsitemap.php renvoi une erreur 404 (fichier introuvable) Link to comment Share on other sites More sharing options...
GillesNew Posted October 18, 2009 Share Posted October 18, 2009 Bonjour MonclerOui : mon site est www.luxuryspirit.comet OUI, j'ai bien mis le fichier getsitemap.php à la racine du site.J'ai mis les permissions 755 sur ce fichier...Pour finir, je viens de faire le même test que toi en tapant l'URL www.luxuryspirit.com/getsitemap.php qui me donne un 404.As tu une piste, car j'ai tenté de suivre à la lettre toutes les instructions de ce fil sans parvenir au résultat.NB : je suis hébergé chez PlanetHister (www.planetHoster.net)Merci et bonne journéeGilles Link to comment Share on other sites More sharing options...
moncler Posted October 18, 2009 Author Share Posted October 18, 2009 Je ne vois pas trop d'ou cela pourrait venir, peut etre que le serveur n'accepte pas les header xml (ligne 43 dans getsitemap.php, qu on peut commenter) Link to comment Share on other sites More sharing options...
zeiser50 Posted October 18, 2009 Share Posted October 18, 2009 Pour moi, Le sitemap est reconstruit lors d'un appel par le robot google. As tu bien déclaré dans les outils pour webmasters l'acces au php ? Link to comment Share on other sites More sharing options...
GillesNew Posted October 18, 2009 Share Posted October 18, 2009 Bonsoir Monclerj'ai peut être une piste ...Mon getsitemap.php est sur une SEULE ligne quand je l'ouvre avec mon éditeur PHP / HTML.Je pense que j'ai récupéré en fait un mauvais fichier et que mes problèmes pourraient venir de là .. ???Donc afin de commencer par le commencement, pourrais tu me transmettre ton fichier getsitemap.php ?Ensuite, si cela ne fonctionne toujours pas, je passerai aux autres étapes ...Merci d'avanceGilles Link to comment Share on other sites More sharing options...
GillesNew Posted October 18, 2009 Share Posted October 18, 2009 Pour moi, Le sitemap est reconstruit lors d'un appel par le robot google. As tu bien déclaré dans les outils pour webmasters l'acces au php ? - Le robot passe bien à intervalles réguliers.- quand aux outils pour les webmasters, j'ai déclaré le sitemap.xml, MAIS PAS le getsitemap.php.Faut il déclarer chez Google ce fichier également ?merci Link to comment Share on other sites More sharing options...
moncler Posted October 18, 2009 Author Share Posted October 18, 2009 Bonsoir Gilles,Le bon fichier est celui sur le 1er post.Effectivement ce n'est pas normal que ce soit sur une seul ligne, bizzare aussi que le fichier soit bien present apparement et que l'erreur soit 404Ensuite si le script fonctionne il faut supprimer le sitemap.xml de chez google et le remplacer par getsitemap.php Link to comment Share on other sites More sharing options...
GillesNew Posted October 19, 2009 Share Posted October 19, 2009 Bonsoir Moncleron avance, on avance ....Concernant le PB sur lequel tu me donnes un coup de main (et je t'en remercie), j'ai les élements suivants :1 - mon hébergeur (www.planethoster.net) me confirme que les fichiers placés directement à la racine ne sont pas exécutables et qu'ils doivent être placé dans "public_html".Je viens donc de placer getsitemap.php directement dans ce dossier (et je me suis assuré que je suis bien reparti du fichier source qui se trouve en 1ère page de ce post).2 - je viens de lancer http://www.monsite.com/getsitemap.php et le fichier s'ouvre bien à présent, donc on a bien les droits (on n'a plus le "404 NOT FOUND)Par contre, j'ai le magnifique message d'erreur suivant : Parse error: syntax error, unexpected T_INCLUDE in /home/luxurysp/public_html/getsitemap.php on line 1Qu'est ce qu'une PARSE ERROR.Moncler ou une autre personne (afin de cesser de le soliciter) peut il me conseiller ?MerciGiles Link to comment Share on other sites More sharing options...
moncler Posted October 19, 2009 Author Share Posted October 19, 2009 Bon, j'ai reussit a reproduire le bug en installant le script sur un serveur mutualisé (je ne sais pas si c'est lié mais ca a l air), c'est la class php dom que ne semble pas apprecier le serveur, j ai donc remplacer par une lecture simple de fichier de sitemap.xml.Le bug a été donc a priori corrigé, mais des retours sont les bienvenus (derniére version v1.5 sur le 1er post) Link to comment Share on other sites More sharing options...
GillesNew Posted October 19, 2009 Share Posted October 19, 2009 Bonsoir Moncler,je crois que tu as mis le doigt là ou cela faisait mal ... Je viens de tester http://www.monsite.com/getsitemap.php, et le résultat me semble bon...Je te tiens au courant demain matin.Merci encoreGilles Link to comment Share on other sites More sharing options...
GillesNew Posted October 19, 2009 Share Posted October 19, 2009 j ai donc remplacer par une lecture simple de fichier de sitemap.xml. Une petite question que d'autres personnes vont se poser : que signifie exactement la phrase ci dessus ?Dans le sitemap de Google, on envoi le fichier sitemap.xml ou bien getsitemap.php ?Merci Link to comment Share on other sites More sharing options...
moncler Posted October 19, 2009 Author Share Posted October 19, 2009 Il faut mettre getsitemap.phpsitemap.xml sera mis a jour a chaque fois que getsitemap sera soliciter (qui le lira et transmettra son contenu a google)C'est le principe du script il fait juste l'intermediaire entre les 2 fichiers mais avec la mise a jour en temps réelle. Link to comment Share on other sites More sharing options...
Baballe Posted October 20, 2009 Share Posted October 20, 2009 Bravo moncler nickel pour moi !! Quel gain de temps grâce à ce fichier !!merci Link to comment Share on other sites More sharing options...
GillesNew Posted October 20, 2009 Share Posted October 20, 2009 Bonjour Monclerje te confirme que ta tout dernière version de ton fichier getsitemap.php fonctionne bien sur un serveur mutualisé.Merci encoreJe ne sais pas mettre un post en [RESOLU], mais on semble être plusieurs à confirmer le bon fonctionnement...MerciGilles Link to comment Share on other sites More sharing options...
moncler Posted October 20, 2009 Author Share Posted October 20, 2009 Merci Par contre j'ai remarqué que sur la 1.2.4 le module gsitemap est buggé, dans certain cas on peut avoir par exemple des url du type:http://www.monsite.fr/www.monsite.frCe probleme a été corriger par la team dans la version SVN (et sera present dans la 1.3) , cependant elle n'est pas directement compatible avec la 1.2.4, j'ai donc modifié le module pour la 1.2.4 en me basant sur la correction de la SVN.Le fichier getsitemap.php est a priori compatible avec la futur 1.3Le correctif pour la 1.2.4 est telechargeable dans le 1er post Link to comment Share on other sites More sharing options...
nodar44 Posted September 2, 2010 Share Posted September 2, 2010 2 questions viennent à l'esprit d'un noob comme moi :1 - quel est l'intérêt de ce script par rapport au sitemap.xml par défaut ?2 - pourquoi y'a il un fichier getsitemap et un autre gsitemap, faut-il installer les 2 ?je suis en 1.4b1, alors sinon lequel adopter ?merci.taper> Link to comment Share on other sites More sharing options...
nouvtech Posted February 1, 2011 Share Posted February 1, 2011 C'est assez simple : le fichier à placer à la racine du site est getsitemap.php.Ce fichier génère automatiquement, quand il est appelé, un nouveau fichier sitemap.xml (qui ne sert plus à grand chose, sauf à afficher son contenu dans getsitemap.php une fois généré).Par conséquent, lorsque le moteur Google appelle l'url http://www.monsite.com/getsitemap.php, il obtient un sitemap xml tout neuf. Reste à lui indiquer cette adresse dans Google Outils pour webmaster.C'est une bonne idée, mais il vaut mieux penser à le renommer avec un nom suffisamment compliqué, car le petit plaisantin qui va appeler ce fichier quelques centaines de fois par seconde via un script de trois lignes risque de faire chauffer un peu le serveur ;-) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now