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.
--help
Gibt eine kurze Hilfe aus.
--version
Gibt kurze Hinweise zum Programm und die Version aus.
--verbose
Die Namen verarbeiteter Dateien und Ausnahmen werden nach STDERR ausgegeben.
--no_verbose
Diese Option hebt die Wirkung der Option --verbose
auf.
--webdir
WEBDIR
WEBDIR
ist der Pfad des Verzeichnisses, das die Dokumenten-Wurzel des Webservers spiegelt.
--rooturl
ROOTURL
ROOTURL
ist die URL der Wurzel des Webwervers.
--sitemapfile
SITEMAPFILE
SITEMAPFILE
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
XSLT
Wenn 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
PRIORITY
Zu 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
IGNOREDIR
IGNOREDIR
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
IGNOREFILE
IGNOREFILE
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
IGNORESFX
Die 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
RMSFX
Der 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
CHGWEEKLY
CHGWEEKLY
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
.
$args
Die HASHREF der Befehlszeilenargumente.
$urllist
Eine 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
.