Hier eine kleine Perl-Lösung von moi, die für normale Ansprüche reichen sollte. Das Script liest die Dateien eines Verzeichnisses sowie deren Inhalt ein und generiert daraus eine Sitemap mit den Title-Tags als Linktext. Es kann natürlich auch jeder andere Tag verwendet werden oder aber mit wenig Umstellung eine Liste aus Keywords zur Generierung verwendet werden.

Man kann dieses Script auch automatisch per cron aufrufen lassen, ansonsten Aufruf empfohlen via Telnet mit
perl script.pl
Manche Server-Konfigurationen verlangen, daß man sich in dem Pfad aufhalten muß, der eingelesen werden soll, also dann vom cgi-bin in den Pfad wechseln und von dort aus das Script aufrufen.
Hier das Script:
#!/usr/bin/perl
$nicht="-1";
$sitemapname="/home/irgendwas/ftp/sitemap.html"; #pfad für sitemap
$ausgabe ="<HTML><HEAD><TITLE>blablabla</TITLE>usw. usw.\n"; #hier head-Inhalt für sitemap festlegen
$pfad="/home/irgendwas/ftp/pfad/"; #dieses Verzeichnis wird eingelesen
#los gehts
system("cd $pfad");
@Dateien=<*>; # "*" für alle Dateien, entsprechend Extension anpassen.
foreach (@Dateien) {
$datei = $_;
$doc ="";
###Seite $datei in Variable $doc einlesen
open (BDD,"<$datei");
while (<BDD>) {
chop;
($inhalt)=split(/\|/,$_);
$doc .="$inhalt";
}
close (BDD);
###title extrahieren. Wenn es andere Marken im Header wie z.B. keywords oder im body-text sein sollen entsprechend vorgehen.
$titlein="<TITLE>";
$titleaus="</TITLE>";
$x=index($doc,$titlein);
if ($x ne $nicht){
$y=index($doc,$titleaus);
if ($y ne $nicht){
$z=$y-$x;
$x=$x+7;
$z=$z-7;
$dti=substr($doc,$x,$z);
}
}else
{
#irgendwas wenn title-tag leer
}
###title extrahieren Ende
$dname="
https://www.irgendwas.com/pfad/$datei"; #hier die URL der gerade eingelesenen Datei festlegen-Pfad beachten!
$ausgabe .="<A HREF=\"$dname\">$dti</a><BR>\n";
}
open(REAL,">$sitemapname");
binmode REAL;
print REAL $ausgabe;
close(REAL);
Script Ende.
HTH.