mksitemap.pl --help | --version
mksitemap.pl [ --verbose ... | --no_verbose ]
[ --webdir WEBDIR ] [ --rooturl ROOTURL ]
[ --sitemapfile SITEMAPFILE ] [ --xslt XSLT ]
[ --priority PRIORITY ]
[ --ignoredir IGNOREDIR ] [ --ignorefile IGNOREFILE ] [ --ignoresfx IGNORESFX ]
[ --rmsfx RMSFX ] [ --chgweekly CHGWEEKLY ]
Alle Optionen haben voreingestellte Werte. mksitemap.pl --help zeigt die voreingestellten Werte an.
--helpGibt eine kurze Hilfe aus.
--versionGibt kurze Hinweise zum Programm und die Version aus.
--verboseDie Namen verarbeiteter Dateien und Ausnahmen werden nach STDERR ausgegeben.
--no_verboseDiese Option hebt die Wirkung der Option --verbose auf.
--webdir WEBDIRWEBDIR ist der Pfad des Verzeichnisses, das die Dokumenten-Wurzel des Webservers spiegelt.
--rooturl ROOTURLROOTURL ist die URL der Wurzel des Webwervers.
--sitemapfile SITEMAPFILESITEMAPFILE ist der Dateiname oder Dateipfad der Sitemap-Datei. Ein einfacher Dateiname oder ein relativer Pfad wird bezüglich WEBDIR interpretiert. Das Verzeichnis der Sitemap-Datei muss existieren.
--xslt XSLTWenn XSLT nicht leer und nicht null ist, wird in die Sitemap-Datei eine xml-stylesheet-Anweisung geschrieben, die auf XSLT verweist. XSLT ist null oder der Pfad eines XSLT-Dokuments relativ zur Sitemap-Datei.
--priority PRIORITYZu Dateipfaden, die nicht mit index.xhtml oder story.xml enden, wird die Priorität PRIORITY eingetragen. Diese Dateien sind nicht der Haupt-Inhalt der Website und sollten daher eine geringere Priorität als die Standard-Priorität 0.5 bekommen. PRIORITY ist eine Zahl im Intervall von 0 bis 1.0.
--ignoredir IGNOREDIRIGNOREDIR ist ein regulärer Ausdruck. Wenn ein Teil des Verzeichnisspfades zu dem regulären Ausdruck passt, wird der Inhalt des Verzeichnisses nicht in die Sitemap aufgenommen.
--ignorefile IGNOREFILEIGNOREFILE ist ein regulärer Ausdruck. Wenn ein Teil des Dateipfades zu dem regulären Ausdruck passt, wird die Datei nicht in die Sitemap aufgenommen.
--ignoresfx IGNORESFXDie Website enthält Resourcen in verschiedenen Dateiversionen, deren Dateinamen sich durch Suffixe unterscheiden (verschiedene Sprachen und Komprimierungen). Jede Resource soll höchstens einmal in die Sitemap aufgenommen werden. Maßgeblich für das Änderungsdatum oder Erstelldatum ist eine "Hauptdatei". Der reguläre Ausdruck IGNORESFX filtert andere Dateinamen als die Hauptdatei. Er hat dieselbe Funktion wie IGNOREFILE.
--rmsfx RMSFXDer Dateiname enthält Suffixe, die verschiedene Versionen einer Resource kennzeichnen. Die URL enthält den Dateinamen ohne diese Suffixe. Teile eines Dateinamens, die dem regulären Ausdruck RMSFX entsprechen, werden aus der URL entfernt.
--chgweekly CHGWEEKLYCHGWEEKLY ist ein regulärer Ausdruck. Er beschreibt die Pfade der Dateien, die wöchentlich geändert werden (changefreq weekly). Andere Dateien werden jährlich geändert (changefreq yearly). Die Pfade beziehen sich auf den Webserver.
Eine Sitemap ist eine XML-Datei, die die (wichtigen) Seiten einer Website auflistet. Sie wird von Suchmaschinen gelesen und verarbeitet. Das Format einer Sitemap ist definiert bei http://www.sitemaps.org. Zu jeder URL können das Datum der letzten Änderung, eine Änderungshäufigkeit und eine Priorität angegeben werden. Darüber hinaus können XML-Elemente anderer Namensräume weitere Daten definieren. Google definiert XML-Namensräume für ergänzende Angaben zu Quellcode-Dateien (http://www.google.com/support/webmasters/bin/answer.py?answer=75225) und zu Bildern (http://www.google.com/support/webmasters/bin/answer.py?answer=178636)
Quellcode-Dateien werden an der Endung des Dateinamens erkannt:
| Endung | Quellcode-Art |
|---|---|
.css | CSS |
.js | JavaScript |
.xslt | XSLT |
.pl | Perl |
Ausführbare Dateien, deren Name nicht mit einer der aufgeführten Endungen endet, behandelt dieses Programm als shell-Skripte.
Das Programm ordnet Dateien, deren URL-Pfad dem regulären Ausdruck CHGWEEKLY entspricht, die Änderungshäufigkeit "weekly", allen anderen Dateien "yearly" zu. Änderungszeit ist das Kalenderdatum der "mtime" der Datei. Alle Dateien, deren Name nicht mit index.xhtml oder story.xml endet, bekommen die Priorität PRIORITY.
$argsDie HASHREF der Befehlszeilenargumente.
$urllistEine ARRAYREF. Zu jeder URL hängt die Funktion buildUrllist eine HASHREF an, deren Schlüssel die Namen der XML-Elemente der Sitemap und deren Werte die Inhalte der XML-Elemente sind.
buildRegex ($args)Erzeugt aus den Zeichenketten IGNOREDIR, IGNOREFILE, IGNORESFX, CHGWEEKLY und RMSFX die regulären Ausdrücke, die diese Zeichenketten darstellen.
buildUrllist ($urllist, $args, $subdir)Diese Funktion fügt zur Liste $urllist die URLs zu den Dateien im Unterverzeichnis mit dem Teilpfad $subdir relativ zu WEBDIR hinzu. Sie ruft sich rekursiv auf.
writeSitemap ($urllist, $args, $sitemap_path)Diese Funktion erstellt die Sitemap-XML-Datei unter dem Dateipfad $sitemap_path mit den URL-Daten der Liste $urllist.
Das Programm ist mit 5.10 entwickelt. Es benutzt die Standard-Module Encode, File::Spec::Functions und POSIX. Die Befehlszeilen-Argumente liest es mit dem Modul read_args.