Erstellen Sie einen einfachen und grundlegenden Sitemap-Index sitemap.xml
Erstellen einer sitemap.xml-Datei mit Python-Code, um Suchmaschinen dabei zu helfen, unsere Webseiten zu erkennen. Es gibt ein Beispiel für eine statische Website, die HTML- und PHP-Dateien verwendet, sowie Anweisungen zur Verwendung und zum Senden an Google und Bing über die Search Console oder eine Ping-URL.
Eine Sitemap ist eine Datei, die die URLs wichtiger Seiten Ihrer Website zusammenfasst. Sie erleichtert Suchmaschinen das Verständnis und die Navigation auf Ihren Seiten. Das wirkt sich positiv auf die SEO und den Traffic aus. So erstellen und übermitteln Sie eine Sitemap an Google für maximale Effizienz.
1. Sitemaps und Sitemap-Indizes verstehen
- Sitemap: Es handelt sich um eine XML-Datei, die Suchmaschinen wie Google mitteilt, welche Seiten sich auf unserer Website befinden.
- Sitemap-Index: Es handelt sich um eine XML-Datei, die mehrere Unter-Sitemaps kombiniert und so die Verwaltung großer Websites erleichtert.
2. Standardstruktur von sitemap.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 der Webseite<lastmod>
= Datum der letzten Aktualisierung (FormatJJJJ-MM-TT
)<changefreq>
= Erwartete Aktualisierungshäufigkeit (immer, stündlich, täglich, wöchentlich, monatlich, jährlich, nie
)<priority>
= Wichtigkeitswert (0,0 – 1,0)
3. Beispiel-Python-Code zur Erstellung sitemap.xml
Dieser Code liest eine Liste von URLs und schreibt für Sie eine sitemap.xml-Datei.
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. Erstellen Sie eine Sitemap für eine statische Website
4.1 Für (einfache .HTML-Dateien) statische Seiten
Wenn Ihre Website Statische Website (einfaches HTML) Und es gibt viele Seiten wie
/index.html
/about.html
/contact.html
/blog.html
/products/product1.html
/products/product2.html
Python-Codebeispiel zum Erstellen einer Sitemap für eine statische Website
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!")
Dieser Code scannt alle HTML-Dateien in Ihrem Webordner und schreibt automatisch eine Sitemap.xml.
🔹 Verwendung
- Legen Sie diesen Code in Ihren Projektordner (z. B.
generate_sitemap.py
) - Ausführen mit
python generate_sitemap.py
- Sie erhalten die Datei
sitemap.xml
Befindet sich an der Wurzel (public_html/sitemap.xml
) - Im Browser öffnen →
https://yourdomain.com/sitemap.xml
- An Google und Bing senden (Search Console oder Ping-URL verwenden)
4.2 Für statische Websites, die .php-Dateien verwenden (statische Seiten)
Wenn es sich bei Ihrer Website um eine statische Website handelt, die PHP-Dateien verwendet (z. B. index.php, about.php, contact.php), ist die Methode zum Erstellen einer sitemap.xml ähnlich wie im HTML-Fall, mit der Ausnahme, dass wir stattdessen die PHP-Datei abrufen müssen.
/index.php
/about.php
/contact.php
/blog.php
/products/product1.php
/products/product2.php
Python-Code zur Erstellung sitemap.xml
Aus Datei .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!")
🔹 Verwendung
- Platzieren Sie diese Skriptdatei in Ihrem Projektordner (z. B.
generate_sitemap.py
) - Ausführen mit
python generate_sitemap.py
- Sie erhalten die Datei
sitemap.xml
Befindet sich an der Wurzel (public_html/sitemap.xml
) - Versuchen Sie, es in einem Browser zu öffnen →
https://
yourdomain
.com/sitemap.xml - Nimm es weg An Google Search Console / Bing Webmaster senden
Wenn Sie Shared Hosting verwenden, ist dies dadurch eingeschränkt, dass Sie keine Python-Dateien direkt auf dem Shared Hosting ausführen dürfen.
Es gibt also zwei Möglichkeiten, sitemap.xml automatisch zu generieren.
🔹 Option 1 (am einfachsten) – Verwenden Sie Ihren lokalen Computer zum Erstellen und Hochladen.
Installieren Sie Python auf Ihrem Computer (Windows/Mac)
Führen Sie das Python-Skript aus → Sie erhalten eine Datei sitemap.xml
Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Mac/Linux) und geben Sie Folgendes ein:
python generate_sitemap.py
Datei hochladen sitemap.xml
Gehe zu öffentliche_html/
des Hostings durch Dateimanager / FTP
Gehen Sie zum Browser →
https://yourdomain.com/sitemap.xml
🔹 Option 2 – Verwenden Sie PHP, um eine Sitemap auf Ihrem Hosting zu erstellen.
Wenn Sie Python nicht lokal ausführen möchten, können Sie PHP-Code schreiben, um automatisch eine sitemap.xml zu generieren.
<?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";
?>
🔹 Verwendung
- Als Datei speichern
generate_sitemap.php
- Hochladen auf
öffentliche_html/
- Rufen Sie Dateien über das Web ab, wie zum Beispiel:
https://yourdomain.com/generate_sitemap.php
- Sie erhalten die Datei
sitemap.xml
Unmittelbar an der Wurzel
6. Es gibt eine neue sitemap.xml-Seite, die automatisch aktualisiert wird.
Sie möchten geben Wenn eine neue Seite hinzugefügt wird (.php) → sitemap.xml
Die Aktualisierung erfolgt automatisch. Da Python nicht direkt ausgeführt werden kann, verwenden wir ein PHP-Skript, um die .php-Datei in public_html jedes Mal zu überprüfen und eine neue sitemap.xml zu schreiben.
PHP-Code: Sitemap bei jeder Ausführung automatisch generieren
<?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";
?>
🔹 Anwendung
- Laden Sie die Datei generate_sitemap.php nach public_html hoch.
- Rufen Sie die Datei im Browser auf:
https://yourdomain.com/generate_sitemap.php
- → Die sitemap.xml wird jedes Mal neu generiert (oder aktualisiert).
- Wenn Sie eine neue .php-Datei hinzufügen → führen Sie diese Datei einfach erneut aus und die Sitemap wird aktualisiert.
🔹Machen Sie es wirklich automatisch (richten Sie einen Cron-Job ein, Sie müssen ihn nicht selbst drücken)
Sie können beispielsweise den Cron-Job des Hostings verwenden, um generate_sitemap.php täglich/wöchentlich auszuführen.
Im Hosting hPanel:
- Gehe zu Erweitert → Cron-Jobs
- Fügen Sie einen Cron-Job hinzu, beispielsweise:
php /home/Benutzername/public_html/generate_sitemap.php
php /home/username/public_html/generate_sitemap.php
- Stellen Sie dann die Zeit ein auf Einmal täglich
Es wird empfohlen, Sitemaps mithilfe einer Sitemap-Indexdatei zu verwalten. Überschreitet eine Sitemap die Größenbeschränkung, empfiehlt es sich, sie in mehrere Dateien aufzuteilen und mithilfe der Indexdatei bis zu 500 Dateien pro Site gleichzeitig in der Search Console einzureichen. Das XML-Format der Indexdatei ähnelt dem einer normalen Sitemap und muss sich im selben Verzeichnis oder tiefer befinden.
Weitere Informationen https://developers.google.com