PowerShell: Sitemap.xml auslesen und URLs ermitteln

Moderne Websites besitzen eine Sitemap.xml, welche die URL´s der einzelnen Seiten und Beiträge auflisten. Diese Sitemap lässt sich per PowerShell auslesen.

PowerShell Sitemap.xml auslesen

Warum gibt es eine Sitemap im XML Format?

Moderne Websites listen in einer solchen Sitemap die einzelnen Posts und Seiten auf. Meist gibt es aber für Beiträge eine eigene Sitemap, als auch für normale Seiten oder andere Inhalte. Diese hilft vor allem Suchmaschinen die Inhalte besser zu erfassen und Änderungen schneller zu sichten. Doch nicht nur Suchmaschinen können diese lesen, sondern auch PowerShell kann dazu verwendet werden, die einzelnen URL´s auslesen zu lassen.

Mit PowerShell eine Sitemap.xml auslesen und URLs auflisten

Mit dem PowerShell Cmdlet Invoke-RestMethod ist es möglich die Sitemap einer Website (inklusiv Untersitemaps) auszulesen, sodass die einzelnen Links aufgelistet werden. Somit erhält man fast den ganzen Inhalt einer Website.

Das PowerShell Script enthält eine Funktion mit dem Namen Get-SitemapLinks, welche die URL der Sitemap übergeben wird. Danach wird die Sitemap geladen und geprüft, ob diese weitere Unter-Sitemaps enthält. Danach wird für jede Liste im XML-Format die Inhalte ausgelesen.

Function Get-SitemapLinks($url) {
    
    
    # get file from URL
    $sitemap = Invoke-RestMethod $url -UseBasicParsing


    # check if sitemap is empty or NoFollow
    if ($sitemap.sitemapindex -ne $null -and !$NoFollow) {
        
        # get each single sitemap
        $sitemap.sitemapindex.sitemap.loc | ForEach-Object { 
            Get-SitemapLinks -url $_
        }
    }

    # check if sitemap is empty
    if ($sitemap.urlset -ne $null) {
        
        #get only urls without modification date / time
        $sitemap.urlset.url.loc
    }
}

Get-SitemapLinks("https://www.YOURDOMAIN.net/sitemap_index.xml")

Nach dem Ausführen des PowerShell Scripts, werden alle Inhalte der einzelnen Sitemaps geladen und die Links, beziehungsweise URLs dargestellt. Die Sitemap.xml ist somit sehr hilfreich die Inhalte einer Website zu ermitteln.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments