Bazunga Posted February 18, 2008 Share Posted February 18, 2008 Bonsoir les Prestashopiens, Existe t il un module permettant de générer un sitemap.xml, qui est très util pour le référencement via le service sitemap de google ? Merci d'avance, Link to comment Share on other sites More sharing options...
ritchie Posted February 19, 2008 Share Posted February 19, 2008 +1 je suis aussi interéssé Link to comment Share on other sites More sharing options...
chris734 Posted February 19, 2008 Share Posted February 19, 2008 tu peut le generer avec un petit script simple toi même, c'est encore plus simple si tu utilise l'url rewriting, le nom de la page d'un article ou catégorie est inscrit dans les tables. Ex la table `ps_category_lang` id_category id_lang name description [glow=red,2,300]link_rewrite [/glow] meta_title meta_keywords meta_description pour generer ton fichier tu peux faire ça (simple et efficace) : <? require_once('connexion.php'); //fichier de connexion a la base et de parametrage mysql $database,$db //===================== // Initialisation //===================== //Selection de la base if(!mysql_select_db($database,$db)){ echo "<BR>impossible de se connecter a la base : ".$mysqldb; exit(0); } $nb_cat=0; $liste_cat=""; $nb_prd=0; $liste_prd=""; $mysql_result = mysql_query("select ta requette pour categorie"); if (!$mysql_result){ echo "<BR>Erreur lors de la lecture de la table : ".mysql_error(); exit(0); } else { while($row = mysql_fetch_row($mysql_result)){ $liste_cat[] = $row[0]; $nb_cat++; } } $mysql_result = mysql_query("SELECT ta requette produit"); if (!$mysql_result){ echo "<BR>Erreur lors de la lecture de la table : ".mysql_error(); } else { while($row = mysql_fetch_row($mysql_result)){ $liste_prd[$nb_prd][] = $row[0]; // si tu souhaite plus d'info tu peux utiliser un tableau a 2 dimention $liste_prd[$nb_prd][] = $row[1]; $nb_prd++; } } $fichier = 'sitemap.xml'; $path = './'; // pour placer le fichier xml ou l'on veut $fp=fopen($path.$fichier,"w"); $sitemap="<?xml version="1.0" encoding="UTF-8"?>n"; $sitemap.="<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">n"; $current_date = date("Y-m-d", time() - (30 * 24 * 60 * 60)); /*$m = date(j)-15; if (strlen($m)<2)*/ //$m = "0".$m; for($x=0;$x<$nb_cat;$x++) { $sitemap.="t<url>n"; $sitemap.="tt<loc>http://www.ton url,".$liste_prd[$y][1]."/si plusieur paramétre".$liste_prd[$y][0]."/fin/</loc>n"; $sitemap.="tt<lastmod>".$current_date."</lastmod>n"; $sitemap.="tt<changefreq>weekly</changefreq>n"; $sitemap.="tt<priority>0.8</priority>n"; $sitemap.="t</url>n"; } for($y=0;$y<$nb_prd;$y++) { $sitemap.="t<url>n"; $sitemap.="tt<loc>http://www.ton url,".$liste_prd[$y][1]."/si plusieur paramétre".$liste_prd[$y][0]."/fin/</loc>n"; $sitemap.="tt<lastmod>".$current_date."</lastmod>n"; $sitemap.="tt<changefreq>weekly</changefreq>n"; $sitemap.="tt<priority>0.8</priority>n"; $sitemap.="t</url>n"; } $sitemap.="</urlset>n"; fwrite($fp,$sitemap); fclose($fp); echo $sitemap; ?> Je n'ai pas testé mais en theorie ça dois marcher ... a suivre Link to comment Share on other sites More sharing options...
Bazunga Posted February 20, 2008 Author Share Posted February 20, 2008 Merci beaucoup Chris, Je suis en train de mettre en place ton script, mais j'ai une petite question. Concernant la requête a exécuter : "SELECT ta requette produit" quel type d'infos doit prendre cette requête car je ne sais pas quelle table mettre. Merci d'avance Link to comment Share on other sites More sharing options...
shagshag Posted February 20, 2008 Share Posted February 20, 2008 Bonjour, Il y a le module "Google sitemap" qui génère un fichier sitemap.xml Link to comment Share on other sites More sharing options...
Bazunga Posted February 20, 2008 Author Share Posted February 20, 2008 rhooo shagshag, ta raison, je n'avais pas uploadé tous les modules. merci beaucoup ! Link to comment Share on other sites More sharing options...
Recommended Posts