jeannie61: Sitemap

Guten Morgen, ich möchte eine vernunftige sitemap für meine Seite machen, damit alle Seiten aufgelistet sind. Kann jemanden mir ein Tipp geben wo ich das machen kann am besten?

Vielen Dank, Jeannie

  1. Hallo jeannie61,

    z. B. https://www.marcobeierer.de/tools/sitemap-generator

    Bis demnächst
    Matthias

    --
    Pantoffeltierchen haben keine Hobbys.
    ¯\_(ツ)_/¯
    1. Vielen Dank 😀 Ich werde es ausprobieren. Jeannie

  2. Verwendest Du ein CMS oder ähnliches? Dann ist der eigentlich beste Weg ist das Erzeugen der Sitemap aus den Daten selbst.

    Eien weitere Alternative:

    Ich erzeuge direkt auf dem Server (in einer ssh-Sitzung) mit den wunderbaren Tools wget, sed, sort und grep eine sitemap.txt. Das Skript funktioniert auch als Kindprozess in PHP. Allerdings sollte man dann - bei großen Webseiten und/oder einer waittime zwischen Abrufen einem trickreich dafür sorgen, dass entweder die Verbindung zum Client (Browser) nicht abbricht oder der Prozess im Hintergrund gestartet wird.

    Pass aber auf: Wenn mod_evasive benutzt wird sollte entweder waitTime auf einen niedrigen ganzzahligen (Sekunden-)Wert != 0 gesetzt werden (z.B. 1) oder eben dieses mod_evasive sollte aus seiner Konfiguration wissen, dass für die eigenen also (127.0.0.1, IP($host)) Ausnahmen gelten (Mir ist es im ersten Anlauf gelungen, mich selbst eine Weile auszusperren).

    In der Zeile mit den vielen "grep -v" entferne ich Funde, die ich nicht in der sitemap.txt haben will. Da habe ich leider noch etwas im Programmblock stehen, was eigentlich in dessen Settingsblock stehen soll.

    #!/bin/bash
    
    ## Settings:
    
    export LANG="de_DE.utf8";
    host="www.example.com";
    protokoll="https";
    sitmapFile="/var/www/${host}/sitemap.txt";
    waitTime=0; 
    
    
    ## Run!
    oldPwd=$(pwd);
    tmpFile=$(mktemp);
    tmpDir=$(mktemp -d);
    
    cd ${tmpDir};
    wget -w ${waitTime} -mr ${protokoll}://${host} 2>&1 | grep -P "^--\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d-- " | sed "s/^.* //" | grep -v "C=S" | grep -v "C=M" | grep -v "C=N" | grep -v "download=1"| grep -v "opensearch.xml" > ${tmpFile}
    cd ${oldPwd};
    
    tmpFileSorted=$(tempfile);
    
    sort -u < ${tmpFile} >> ${tmpFileSorted};
    cat < ${tmpFileSorted} > ${sitmapFile}; 
    
    #clear:
    rm -rf ${tmpDir} 2> /dev/null;
    rm -f /tmp/sitemap.* 2> /dev/null;
    rm ${tmpFile} 2> /dev/null;
    rm ${tmpFileSorted} 2> /dev/null;
    
  3. hier ist beschrieben wie die Datei auszusehen hat. MFG

      1. Ich benutze nur ein Web Editor. Ich schreibe alles selber, bin aber keine experte, leider.

        Vielen Dank, Jeannie

        1. Ich benutze nur ein Web Editor. Ich schreibe alles selber, bin aber keine experte, leider.

          Die XML Datei ist so dermaßen einfach da muß man kein Experte sein. MFG