🗺️ SitemapChecker – Automatisierte XML-Sitemap-Analyse

Rekursives Parsen von Sitemaps – alle URLs automatisch erfassen und zählen

PythonXMLAutomationSEO

📊 Was das Tool macht

SitemapChecker liest XML-Sitemaps ein, extrahiert alle URLs und folgt rekursiv Sub-Sitemaps – ideal für SEO-Audits, Link-Indexierung und Crawling-Analysen.

🔍
XML Parsing
Nutzt xml.etree.ElementTree für robustes Parsen von Sitemap-Dateien nach dem offiziellen Schema.
🔄
Rekursive Tiefe
Folgt automatisch allen Sub-Sitemaps und aggregiert die Gesamtzahl der indexierten URLs.
Sofort einsetzbar
Ein Funktionsaufruf genügt: count_links_in_sitemap(url) – kein komplexes Setup nötig.

💻 Echter Code aus dem Projekt

Kernfunktion: Sitemap-Parsing mit Namespace-Support

import requests
import xml.etree.ElementTree as ET

def parse_sitemap(sitemap_url, namespace):
    links = []
    sitemaps = []

    response = requests.get(sitemap_url)
    if response.status_code != 200:
        raise Exception(f"Fehler beim Laden der Sitemap: {response.status_code}")

    root = ET.fromstring(response.content)

    # Alle <url> Einträge mit Loc-Tag extrahieren
    for url in root.findall(f'.//{namespace}url'):
        loc = url.find(f'{namespace}loc').text
        links.append(loc)

    # Alle <sitemap> Einträge für rekursive Verarbeitung
    for sitemap in root.findall(f'.//{namespace}sitemap'):
        loc = sitemap.find(f'{namespace}loc').text
        sitemaps.append(loc)

    return links, sitemaps

Rekursive Link-Zählung über alle Sub-Sitemaps

def count_links_in_sitemap(
    sitemap_url, 
    namespace='{http://www.sitemaps.org/schemas/sitemap/0.9}'
):
    links, sitemaps = parse_sitemap(sitemap_url, namespace)
    all_links = links

    for sitemap in sitemaps:
        sub_links, _ = parse_sitemap(sitemap, namespace)
        all_links.extend(sub_links)

    return len(all_links)

Praxis-Beispiel

sitemap_url = 'https://www.naturprodukte.shop/sitemap.xml'
anzahl = count_links_in_sitemap(sitemap_url)
print(f"Links in Sitemap + Sub-Sitemaps: {anzahl}")

🎯 Use Cases

📊

SEO-Audit

Schnell prüfen, wie viele Seiten Google & Co. über die Sitemap erreichen können. Diskrepanzen zur tatsächlichen Seitenzahl sofort erkennen.

🤖

CI/CD-Integration

In Deployment-Pipelines einbinden: Nach jedem Build prüfen, ob die Sitemap-Struktur intakt ist.