Création d'un sitemap XML au CMS free.fr

Attention, depuis PHP 5.5.0, certaines extensions SQL sans doute utilisées dans ce tutoriel peuvent être obsolètes et seront supprimées dans le futur, vous devez donc adapter les codes! Exemples ici.
Nous créons un nouveau fichier nommé "sitemap.php" qui va nous permettre de proposer un plan du site au format XML dédié au moteurs de recherches. Pour ce tutoriel, nous nous passerons d'explications car la base est la même que la création du flux rss ... seul la structure du document change.
<?php
// On indique que c'est du xml
header("Content-type: application/xml");
//Ouverture du document
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">";       
 
include('fonctions.php');
//On se connecte à la base de données
include('connexion_bd.php');
connexion_bd();
//On sélectionne les données des pages
$result = mysql_query("SELECT titre_rewrite, date, id_categorie FROM CONTENU WHERE valide = 'oui' ORDER BY id ASC LIMIT 20");
 
while($affiche = mysql_fetch_array($result))
{
    //On sélectionne les catégorie correspondent aux pages
    $result1 = mysql_query("SELECT titre_rewrite FROM CATEGORIES WHERE id=".$affiche['id_categorie']."");
    while($affiche1 = mysql_fetch_array($result1))
    {
        echo '<url> <loc>'.$url.'/'.$affiche1['titre_rewrite'].'/'.sanspointphp($affiche['titre_rewrite']).'</loc> <lastmod>'.convertit_date_anglais($affiche['date']).'</lastmod> <changefreq>monthly</changefreq> <priority>0.5</priority> </url>';
    }
}
// Fermeture de la connexion à la base de données
close_bd();
//Fermeture du document
echo '</urlset>';
?>
Une nouvelle fonction est à ajouter dans le fichier des fonctions et cette fonction permet de convertir le timestamp en date au format anglais sous la forme :"2012-03-19".
//Fonction pour convertir un timestamp en date anglaise (sitemap xml)
function convertit_date_anglais($timestamp_actuel) {
    return date("Y-m-d", $timestamp_actuel);
}
Voir/déposer un commentaire (0) | Signaler un problème