XML Sitemap für Google automtisch erzeugen

Begonnen von admin, Mai 27, 2010, 17:02:35

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

admin

Hier wird gezeigt, wie man eine XM-Sitemap anlegen kann. Voraussetzung ist das man den Stattic-Builder einsetzt und hiermit die Datei linkliste.html erzeugt.
Diese Datei dient als Grundlage um die XML-Datei zu erzeugen.

Wir legen dazu eine Informationseite an. Die Vorlage für diese Seite enthält nur zwei Zeilen:

<!--spmacro:include(xmlsm.ipl)-->
__xmlsm::generate__


Die eingebundene xmlsm.ipl erzeugt die XML-Ausgabe.
Hier der Code von xmlsm.ipl


<!--spmacro:module(xmlsm)
## Vom Static Builder erzeugte Linkliste
## Pfad relativ zum Scriptverzeichnis
my $m_linkliste = "../../linkliste.html";

sub generate {
    open(LINKS, "<$m_linkliste");
    my @lines = <LINKS>;
    close (LINKS);

    my @links;
    my @ausgaben;
    my $ln;
    my $html;

    foreach my $ln (@lines) {
        $ln =~ s/\r//g;
        $ln =~ s/\n//g;
        $html .= $ln;
    }

    @lines = ();
    @lines = split(/<br>/, $html);

    foreach my $ln (@lines) {
         if ($ln =~ /^.*"(.*\.html)".*>(.*)<\/a>/i) {
             if ($1 ne '')  {
                 push(@ausgaben,$1);
            }
        }
    }

   my $out = qq{<?xml version="1.0" encoding="ISO-8859-1"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">};

    for (my $i = 0; $i <= $#ausgaben; $i++) {
        $out .= qq{<url>
<loc>$ausgaben[$i]</loc>
<lastmod>2010-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
};
            ++$i;
         }
         $out .= qq{
</urlset>};
main::mprint($out);
}
-->