Jump to content

Sitemap.xml ?


Recommended Posts

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

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

×
×
  • Create New...