tag:forum.selfhtml.org,2005:/selfSitemap – SELFHTML-Forum2019-03-23T17:59:13Zhttps://forum.selfhtml.org/self/2019/mar/23/sitemap/1745132#m1745132jeannie612019-03-23T08:19:50Z2019-03-23T08:19:50ZSitemap<p>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?</p>
<p>Vielen Dank,
Jeannie</p>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745135#m1745135Matthias Apselmatthias.apsel@selfhtml.orghttps://brückentage.info2019-03-23T08:47:36Z2019-03-23T08:47:36ZSitemap<p>Hallo jeannie61,</p>
<p>z. B. <a href="https://www.marcobeierer.de/tools/sitemap-generator" rel="nofollow noopener noreferrer">https://www.marcobeierer.de/tools/sitemap-generator</a></p>
<p>Bis demnächst<br>
Matthias</p>
<div class="signature">-- <br>
Pantoffeltierchen haben keine Hobbys.<br>
¯\_(ツ)_/¯
</div>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745144#m1745144ursus contionabundo2019-03-23T10:16:28Z2019-03-23T10:16:28ZSitemap<p>Verwendest Du ein CMS oder ähnliches? Dann ist der eigentlich beste Weg ist das Erzeugen der Sitemap aus den Daten selbst.</p>
<p>Eien weitere Alternative:</p>
<p>Ich erzeuge direkt auf dem Server (in einer ssh-Sitzung) mit den wunderbaren Tools <code>wget</code>, <code>sed</code>, <code>sort</code> und <code>grep</code> 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.</p>
<p><strong>Pass aber auf:</strong> 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 <a href="https://code.fastix.org/showFile.php?file=Projekte/Apache%2Cmod_evasive%2Ciptables%3AHelfer-Skripte%20zum%20%28zeitweisen%29%20Blockieren%20von%20IP-Adressen/evasive.conf.example" rel="nofollow noopener noreferrer">aus seiner Konfiguration</a> 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).</p>
<p>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.</p>
<pre><code class="block language-sh"><span class="token shebang important">#!/bin/bash</span>
<span class="token comment">## Settings:</span>
<span class="token builtin class-name">export</span> <span class="token assign-left variable"><span class="token environment constant">LANG</span></span><span class="token operator">=</span><span class="token string">"de_DE.utf8"</span><span class="token punctuation">;</span>
<span class="token assign-left variable">host</span><span class="token operator">=</span><span class="token string">"www.example.com"</span><span class="token punctuation">;</span>
<span class="token assign-left variable">protokoll</span><span class="token operator">=</span><span class="token string">"https"</span><span class="token punctuation">;</span>
<span class="token assign-left variable">sitmapFile</span><span class="token operator">=</span><span class="token string">"/var/www/<span class="token variable">${host}</span>/sitemap.txt"</span><span class="token punctuation">;</span>
<span class="token assign-left variable">waitTime</span><span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">;</span>
<span class="token comment">## Run!</span>
<span class="token assign-left variable">oldPwd</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">pwd</span><span class="token variable">)</span></span><span class="token punctuation">;</span>
<span class="token assign-left variable">tmpFile</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>mktemp<span class="token variable">)</span></span><span class="token punctuation">;</span>
<span class="token assign-left variable">tmpDir</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>mktemp <span class="token parameter variable">-d</span><span class="token variable">)</span></span><span class="token punctuation">;</span>
<span class="token builtin class-name">cd</span> <span class="token variable">${tmpDir}</span><span class="token punctuation">;</span>
<span class="token function">wget</span> <span class="token parameter variable">-w</span> <span class="token variable">${waitTime}</span> <span class="token parameter variable">-mr</span> <span class="token variable">${protokoll}</span>://<span class="token variable">${host}</span> <span class="token operator"><span class="token file-descriptor important">2</span>></span><span class="token file-descriptor important">&1</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-P</span> <span class="token string">"^--\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d-- "</span> <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">"s/^.* //"</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">"C=S"</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">"C=M"</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">"C=N"</span> <span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">"download=1"</span><span class="token operator">|</span> <span class="token function">grep</span> <span class="token parameter variable">-v</span> <span class="token string">"opensearch.xml"</span> <span class="token operator">></span> <span class="token variable">${tmpFile}</span>
<span class="token builtin class-name">cd</span> <span class="token variable">${oldPwd}</span><span class="token punctuation">;</span>
<span class="token assign-left variable">tmpFileSorted</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span>tempfile<span class="token variable">)</span></span><span class="token punctuation">;</span>
<span class="token function">sort</span> <span class="token parameter variable">-u</span> <span class="token operator"><</span> <span class="token variable">${tmpFile}</span> <span class="token operator">>></span> <span class="token variable">${tmpFileSorted}</span><span class="token punctuation">;</span>
<span class="token function">cat</span> <span class="token operator"><</span> <span class="token variable">${tmpFileSorted}</span> <span class="token operator">></span> <span class="token variable">${sitmapFile}</span><span class="token punctuation">;</span>
<span class="token comment">#clear:</span>
<span class="token function">rm</span> <span class="token parameter variable">-rf</span> <span class="token variable">${tmpDir}</span> <span class="token operator"><span class="token file-descriptor important">2</span>></span> /dev/null<span class="token punctuation">;</span>
<span class="token function">rm</span> <span class="token parameter variable">-f</span> /tmp/sitemap.* <span class="token operator"><span class="token file-descriptor important">2</span>></span> /dev/null<span class="token punctuation">;</span>
<span class="token function">rm</span> <span class="token variable">${tmpFile}</span> <span class="token operator"><span class="token file-descriptor important">2</span>></span> /dev/null<span class="token punctuation">;</span>
<span class="token function">rm</span> <span class="token variable">${tmpFileSorted}</span> <span class="token operator"><span class="token file-descriptor important">2</span>></span> /dev/null<span class="token punctuation">;</span>
</code></pre>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745160#m1745160pl2019-03-23T13:45:44Z2019-03-23T13:45:44ZSitemap<p><a href="https://www.sitemaps.org/index.html" rel="nofollow noopener noreferrer">hier</a> ist beschrieben wie die Datei auszusehen hat. MFG</p>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745136#m1745136jeannie612019-03-23T08:51:07Z2019-03-23T08:51:07ZSitemap<p>Vielen Dank
Ich werde es ausprobieren.
Jeannie</p>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745162#m1745162ursus contionabundo2019-03-23T17:02:24Z2019-03-23T17:02:24ZSitemap<blockquote>
<p><a href="https://www.sitemaps.org/index.html" rel="nofollow noopener noreferrer">hier</a> ist beschrieben wie die Datei auszusehen hat. MFG</p>
</blockquote>
<p><strong>Das ist unvollständig.</strong></p>
<p><a href="https://www.sitemaps.org/protocol.html#otherformats" rel="nofollow noopener noreferrer">Hier die Übersicht (ebenfalls von sitemap.org!), in der auch steht, dass einfache Textdateien ebenso möglich sind</a>.</p>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745166#m1745166jeannie612019-03-23T17:52:55Z2019-03-23T17:52:55ZSitemap<p>Ich benutze nur ein Web Editor. Ich schreibe alles selber, bin aber keine experte, leider.</p>
<p>Vielen Dank,
Jeannie</p>
https://forum.selfhtml.org/self/2019/mar/23/sitemap/1745167#m1745167pl2019-03-23T17:59:13Z2019-03-23T17:59:13ZSitemap<blockquote>
<p>Ich benutze nur ein Web Editor. Ich schreibe alles selber, bin aber keine experte, leider.</p>
</blockquote>
<p>Die XML Datei ist so dermaßen einfach da muß man kein Experte sein. MFG</p>