Créer un index de plan de site simple et basique sitemap.xml
Création d'un fichier sitemap.xml avec du code Python pour aider les moteurs de recherche à identifier nos pages web. Vous trouverez un exemple de site web statique utilisant des fichiers .html et .php, ainsi que des instructions pour l'utiliser et l'envoyer à Google et Bing via la Search Console ou une URL ping.
Un plan de site est un fichier qui compile les URL des pages importantes de votre site web. Il permet aux moteurs de recherche de mieux comprendre et de naviguer sur vos pages, ce qui est bénéfique pour le référencement et l'augmentation du trafic. Voici comment créer et soumettre un plan de site à Google pour une efficacité maximale.
1. Comprendre les plans de site et les index de plans de site
- Plan du site:Il s'agit d'un fichier XML qui indique aux moteurs de recherche comme Google quelles pages se trouvent sur notre site Web.
- Index du plan du site:Il s'agit d'un fichier XML qui combine plusieurs sous-plans de site, ce qui facilite la gestion de grands sites Web.
2. Structure standard de plan du site.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yourdomain.com/</loc>
<lastmod>2025-08-17</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://yourdomain.com/about</loc>
<lastmod>2025-08-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
<loc>
= URL de la page Web<lastmod>
= Date de dernière mise à jour (formatAAAA-MM-JJ
)<changefreq>
= Fréquence de mise à jour prévue (toujours, toutes les heures, tous les jours, toutes les semaines, tous les mois, tous les ans, jamais
)<priority>
= Valeur d'importance (0,0 – 1,0)
3. Exemple de code Python pour la création plan du site.xml
Ce code lira une liste d'URL et écrira un fichier sitemap.xml pour vous.
import datetime
domain = "https://yourdomain.com"
pages = [
"/",
"/about",
"/contact",
"/products",
"/blog"
]
today = datetime.date.today().isoformat()
sitemap_path = "sitemap.xml"
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for page in pages:
f.write(" <url>\n")
f.write(f" <loc>{domain}{page}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>weekly</changefreq>\n")
f.write(" <priority>0.8</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
4. Créer un plan de site pour un site Web statique
4.1 Pour les pages statiques (fichiers .HTML simples)
Si votre site Web est Site Web statique (HTML simple) Et il y a beaucoup de pages telles que
/index.html
/about.html
/contact.html
/blog.html
/products/product1.html
/products/product2.html
Exemple de code Python pour créer un plan de site pour un site Web statique
import os, datetime
domain = "https://yourdomain.com"
web_dir = "./public_html"
today = datetime.date.today().isoformat()
urls = []
for root, dirs, files in os.walk(web_dir):
for file in files:
if file.endswith(".html"):
rel_path = os.path.relpath(os.path.join(root, file), web_dir)
url = "/" + rel_path.replace("\\", "/")
if url.endswith("index.html"):
url = url.replace("index.html", "")
urls.append(url)
sitemap_path = os.path.join(web_dir, "sitemap.xml")
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for url in urls:
f.write(" <url>\n")
f.write(f" <loc>{domain}{url}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>monthly</changefreq>\n")
f.write(" <priority>0.5</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
Ce code analysera tous les fichiers .html de votre dossier Web et écrira automatiquement un sitemap.xml.
🔹 Utilisation
- Placez ce code dans votre dossier de projet (par exemple.
generate_sitemap.py
) - Courir avec
python generate_sitemap.py
- Vous obtiendrez le fichier
plan du site.xml
Situé à la racine (public_html/sitemap.xml
) - Ouvrir dans le navigateur →
https://yourdomain.com/sitemap.xml
- Soumettre à Google et Bing (utilisez la Search Console ou envoyez un ping à l'URL)
4.2 Pour les sites Web statiques qui utilisent des fichiers .php (pages statiques)
Si votre site Web est un site Web statique qui utilise des fichiers .php (tels que index.php, about.php, contact.php), la méthode de création d'un sitemap.xml est similaire au cas .html, sauf que nous devons extraire le fichier .php à la place.
/index.php
/about.php
/contact.php
/blog.php
/products/product1.php
/products/product2.php
Code Python pour la création plan du site.xml
À partir du fichier .php
import os, datetime
domain = "https://yourdomain.com"
web_dir = "./public_html"
today = datetime.date.today().isoformat()
urls = []
for root, dirs, files in os.walk(web_dir):
for file in files:
if file.endswith(".php"):
rel_path = os.path.relpath(os.path.join(root, file), web_dir)
url = "/" + rel_path.replace("\\", "/")
if url.endswith("index.php"):
url = url.replace("index.php", "")
urls.append(url)
sitemap_path = os.path.join(web_dir, "sitemap.xml")
with open(sitemap_path, "w", encoding="utf-8") as f:
f.write('<?xml version="1.0" encoding="UTF-8"?>\n')
f.write('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n')
for url in urls:
f.write(" <url>\n")
f.write(f" <loc>{domain}{url}</loc>\n")
f.write(f" <lastmod>{today}</lastmod>\n")
f.write(" <changefreq>monthly</changefreq>\n")
f.write(" <priority>0.5</priority>\n")
f.write(" </url>\n")
f.write("</urlset>\n")
print("Sitemap index created successfully!")
🔹 Utilisation
- Placez ce fichier de script dans votre dossier de projet (par exemple
generate_sitemap.py
) - Courir avec
python generate_sitemap.py
- Vous obtiendrez le fichier
plan du site.xml
Situé à la racine (public_html/sitemap.xml
) - Essayez de l'ouvrir dans un navigateur →
https://
yourdomain
.com/sitemap.xml - Emportez-le Soumettre à Google Search Console / Bing Webmaster
Si vous utilisez un hébergement partagé, qui est limité par le fait que vous n'êtes pas autorisé à exécuter des fichiers Python directement sur un hébergement partagé.
Il existe donc deux options pour générer automatiquement sitemap.xml.
🔹 Option 1 (la plus simple) — Utilisez votre machine locale pour créer et télécharger.
Installez Python sur votre machine (Windows/Mac)
Exécutez le script Python → vous obtiendrez un fichier plan du site.xml
Ouvrez l'invite de commande (Windows) ou le terminal (Mac/Linux) et tapez :
python generate_sitemap.py
Télécharger le fichier plan du site.xml
Aller à public_html/
d'hébergement via Gestionnaire de fichiers / FTP
Accédez au navigateur →
https://yourdomain.com/sitemap.xml
🔹 Option 2 — Utilisez PHP pour créer un plan de site sur votre hébergement.
Si vous ne souhaitez pas exécuter Python localement, vous pouvez écrire du code PHP pour générer automatiquement un sitemap.xml.
<?php
$domain = "https://yourdomain.com";
$web_dir = __DIR__; // public_html
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($web_dir));
$urls = [];
foreach ($files as $file) {
if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) === "php") {
$path = str_replace($web_dir, "", $file->getPathname());
$url = str_replace("\\", "/", $path);
if (basename($url) === "index.php") {
$url = str_replace("index.php", "", $url);
}
$urls[] = $url;
}
}
$today = date("Y-m-d");
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
foreach ($urls as $url) {
$sitemap .= " <url>\n";
$sitemap .= " <loc>{$domain}{$url}</loc>\n";
$sitemap .= " <lastmod>{$today}</lastmod>\n";
$sitemap .= " <changefreq>monthly</changefreq>\n";
$sitemap .= " <priority>0.5</priority>\n";
$sitemap .= " </url>\n";
}
$sitemap .= "</urlset>";
file_put_contents($web_dir . "/sitemap.xml", $sitemap);
echo "✅ Sitemap created at {$domain}/sitemap.xml";
?>
🔹 Utilisation
- Enregistrer en tant que fichier
generate_sitemap.php
- Télécharger sur
public_html/
- Appeler des fichiers via le Web, tels que :
https://yourdomain.com/generate_sitemap.php
- Vous obtiendrez le fichier
plan du site.xml
Immédiatement à la racine
6. Il existe une nouvelle page sitemap.xml qui est automatiquement mise à jour.
Vous voulez donner Lorsqu'une nouvelle page est ajoutée (.php) → plan du site.xml
Il est mis à jour automatiquement, puisque Python ne peut pas être exécuté directement, nous utiliserons un script PHP pour vérifier le fichier .php dans public_html à chaque fois et écrire un nouveau sitemap.xml.
Code PHP : générer automatiquement un plan de site à chaque exécution
<?php
$domain = "https://yourdomain.com";
$web_dir = __DIR__; // public_html
$today = date("Y-m-d");
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($web_dir));
$urls = [];
foreach ($files as $file) {
if ($file->isFile() && pathinfo($file, PATHINFO_EXTENSION) === "php") {
$path = str_replace($web_dir, "", $file->getPathname());
$url = str_replace("\\", "/", $path);
if (basename($url) === "index.php") {
$url = str_replace("index.php", "", $url);
}
$urls[] = $url;
}
}
// sitemap.xml
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
foreach ($urls as $url) {
$sitemap .= " <url>\n";
$sitemap .= " <loc>{$domain}{$url}</loc>\n";
$sitemap .= " <lastmod>{$today}</lastmod>\n";
$sitemap .= " <changefreq>monthly</changefreq>\n";
$sitemap .= " <priority>0.5</priority>\n";
$sitemap .= " </url>\n";
}
$sitemap .= "</urlset>";
file_put_contents($web_dir . "/sitemap.xml", $sitemap);
echo "✅ Sitemap updated at {$domain}/sitemap.xml";
?>
🔹 Mode d'emploi
- Téléchargez le fichier generate_sitemap.php sur public_html.
- Appelez le fichier dans le navigateur :
https://yourdomain.com/generate_sitemap.php
- → Il régénérera (ou mettra à jour) le sitemap.xml à chaque fois.
- Lors de l'ajout d'un nouveau fichier .php → exécutez simplement à nouveau ce fichier et il mettra à jour le plan du site.
🔹Rendez-le vraiment automatique (configurez une tâche Cron, pas besoin d'appuyer dessus vous-même)
Vous pouvez utiliser la tâche Cron de l'hébergement, par exemple, pour exécuter generate_sitemap.php quotidiennement/hebdomadairement.
Dans l'hébergement hPanel :
- Aller à Avancé → Tâches Cron
- Ajoutez une tâche Cron telle que :
php /home/nom_utilisateur/public_html/generate_sitemap.php
php /home/username/public_html/generate_sitemap.php
- Ensuite, réglez l'heure sur Une fois par jour
Il est recommandé de gérer les plans de site à l'aide d'un fichier d'index. Lorsqu'un plan de site dépasse la taille limite, il est recommandé de le scinder en plusieurs fichiers et d'utiliser le fichier d'index pour soumettre jusqu'à 500 fichiers par site simultanément dans la Search Console. Le format XML du fichier d'index est similaire à celui d'un plan de site classique et doit se trouver dans le même répertoire ou plus bas.
Plus d'informations https://developers.google.com