Création d'un sitemap dynamique
Histoire que notre ami "Google" trouve nos pages un peut plus rapidement et sans trop se fatiguer (pauvre robots ^^), nous allons créer un sitemap dynamique. Le but d'un sitemap est de permettre aux moteurs de recherches de parcourir plus facilement un site Web et donc théoriquement, d'indexer plus rapidement les pages de celui ci.
Cette réalisation va se dérouler en 3 étapes :
- Modifications de la page "ajouter-page.php" permettant la rédaction des articles.
- Ajout d'un champ dans la base de données.
- Création du fichier sitemap.
Modifications de la page "ajouter-page.php"
On ouvre donc la page "ajouter-page.php" et on cherche la ligne :
$categorie = $_POST["cat"];
Juste en dessous, on ajoute la date :
$date = date("Y-m-d");
On cherche la ligne :
'".mysql_real_escape_string($contenu)."'
On remplace par :
'".mysql_real_escape_string($contenu)."', '".mysql_real_escape_string($date)."'
Quand je dis "on remplace", c'est juste pour que vous évitiez d'oublier la virgule sur la première ligne
.
On enregistre et on envoie sur le serveur.
Ajout d'un champ dans la base de données
Vous vous rendez sur votre base de données et vous ajoutez à la fin de la table "CONTENU", un champ nommé "date" et de Type "date". Rien de plus ni de moins
.
Création du fichier sitemap
Si vous ne savez pas à quoi sert un sitemap ni qu'elle est son utilité, je vous invite à lire le tutoriel suivant : Créer un sitemap XML.
Sous Notepad++, on ouvre un nouveau document que l'on va nommer "sitemap.php" et que l'on enregistrera dans le dossier "creer-un-site-dynamique".
Comme on va générer du contenu
header("Content-type: application/xml");
Ensuite pour indiquer l'url exacte des pages du site dans le sitemap, on utilise une petite fonction qui récupère le nom de domaine :
function url_actuelle() { return "http://" . $_SERVER["SERVER_NAME"]; } $url = (url_actuelle());
Cette fonction couplée à une requête dans la base de données, nous permet d'obtenir l'url complète vers les pages :
'.$url.'/page.php?id='.$affiche['id'].'
Le code du sitemap XML dynamique au complet :
<?php // On indique que c'est du xml header("Content-type: application/xml"); //Début du fichier xml echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n
<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\">\n\n"; //fonction pour récupérer le nom de domaine du site function url_actuelle() { return "http://" . $_SERVER["SERVER_NAME"]; } $url = (url_actuelle()); // on se connecte à la base de données include('connexion_bd.php'); mysql_connect("$nom_du_serveur","$nom_utilisateur","$passe"); mysql_select_db("$nom_de_la_base") or die('Impossible de sélectionner une base de donnée. Assurez vous d\'avoir correctement remplit les données du fichier connexion_bd.php.'); //On selectionne les données $result = mysql_query("SELECT id, date FROM CONTENU ORDER BY id ASC"); while($affiche = mysql_fetch_array($result)) { echo '<url>
<loc>'.$url.'/page.php?id='.$affiche['id'].'</loc>
<lastmod>'.$affiche['date'].'</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>'; } // Fermeture de la connexion à la base de données mysql_close(); //Fin du fichier xml echo '</urlset>'; ?>
Chaque nouvelle page que vous allez créer via l'interface admin. va enregistrer automatiquement la date du jour dans la base de données qui sera ensuite utilisée dans le sitemap. Chaque nouvelle page créée sera donc listé automatiquement dans le fichier sitemap.php sans aucune autre intervention de votre part!
Voila, comme dirait une certaine voix : "C'est tout pour le moment!"
.

Signaler une erreur
Protection de l'administration
Protection de l'administration et petit plus
Création d'un flux rss dynamique


