Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>wget und WordPress: Klarnamen-URLs erhalten

wget und WordPress: Klarnamen-URLs erhalten

Staubfinger22.11.2207:28
Guten Morgen zusammen,

vielleicht kennt sich hier jemand mit wget aus.

Möchte gerne für Archivzwecke den aktuellen Stand meiner kompletten Website (WordPress) so speichern, dass alle Seiten und Verlinkungen auch intern funktionieren.

Das klappt mit diesem Code auch perfekt:
wget --recursive --level 10 --no-clobber --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains deinedomain.xx --no-parent www.deinedomain.xx

Einziger Schönheitsfehler: Die URLs sind in der lokalen Version nicht mehr im Klartext, sondern es werden die IDs der jeweiligen Seiten angezeigt. Also z.B. /index.html@p=127.html

Gibt es eine Einstellung in wget, mit der ich die originalen URLs noch mit in die internen Links bekomme?

Danke.

Gruß
Michael
0

Kommentare

karsten_briksoftware22.11.2207:58
Das ist eine Einstellung der Wordpress-Seite. Der Begriff lautet Permalinks. Damit solltest du Anleitungen finden, wie du das änderst. Solltest du das Format ändern, musst du aber aufpassen, dass du Weiterleitungen installierst, damit die alten URLs noch funktionieren. Ansonsten funktionieren die Links, die Google aufgesammelt hat, nicht mehr.
0
Staubfinger22.11.2209:38
Moin Karsten, auf der Live-Site funktioniert das. Nur wget ignoriert die "Pretty URLs" und zeigt nur URLs mit der ID drin.
0
Staubfinger22.11.2211:43
So, dann will ich mal auflösen: in den Ausdruck oben gehört zusätzlich noch --trust-server-names

Das lokale Archiv enthält dann die originalen Text-URLs, nicht mehr die ID der jeweiligen Seite. Hinten ist allerdings jeweils /index.html angehängt, aber damit kann man leben. Oder gibt es noch einen Trick, das angehängte /index.html loszuwerden?
+2
feel_x22.11.2213:02
Ich kann an dieser Stelle das Tool "Site Sucker" empfehlen: https://ricks-apps.com/osx/sitesucker/index.html


Macht das gleiche wie Dein wget Code.

Die /index.html wird hiermit allerdings auch erzeugt. Bin mir nicht mehr sicher, ob nicht auch in Wordpress standardmäßig .html am Ende von Seiten steht und dies nur in der Link-Darstellung unterdrückt wird (denn man kann das .html in der functions.php aktivieren)
-1
Staubfinger22.11.2213:27
Sitesucker kenne ich, der taugt für mich aber nix. Lässt Seiten aus, Bilder. Wo wget 150 MB Daten holt, schafft der nur 50. Hatte gestern diverse Versionen davon probiert.

wget ist absolut perfekt, nimmt jedes Detail mit und alles funktioniert auf der Website, auch Javascript etc.
+1
Sascha77
Sascha7722.11.2214:00
Wie/wo wendet man den Code denn an? Im Mac-Terminal?
0
Staubfinger22.11.2214:30
Genau, im Terminal. Evtl. muss wget noch installiert werden. Da fand ich diese Anleitung ganz brauchbar:
https://www.fossmint.com/install-and-use-wget-on-mac/

Dann legt man sich in seinem Nutzerordner ein Verzeichnis an, in das wget arbeiten kann:
mkdir webarchivierung

Das wird dann "aktiviert":
cd webarchivierung

Und dann folgt der wget Code:
wget --recursive --level 10 --no-clobber --page-requisites --adjust-extension --span-hosts --trust-server-names --convert-links --restrict-file-names=windows --domains deinedomain.xx --no-parent www.deinedomain.xx

deinedomain.xx durch den gewünschten Domainnamen ersetzen, klar.

Das rappelt dann eine ganze Weile, währenddessen sieht man in der Textausgabe, was so passiert.

Vorher sollte man seine Caching-Plugins und Lazyload vorübergehend abschalten, sonst fehlen später Bilder und/oder es gibt teilweise Probleme mit CSS und Javascript. Zumindest die Teile abschalten, wo es um verzögertes Javascript geht und optimierte CSS-Auslieferung (kenne jetzt nur WP Rocket).
+2
Sascha77
Sascha7722.11.2214:49
Danke für die Infos! Mit Sitesucker war ich nach einem Test auch nicht so zufrieden, weil ja doch so einiges mit Javascript läuft.
0
milk
milk22.11.2215:27
Sascha77
Danke für die Infos! Mit Sitesucker war ich nach einem Test auch nicht so zufrieden, weil ja doch so einiges mit Javascript läuft.
Das hier erwähnte wget kann auch kein JavaScript, das wird dich also nicht weiter bringen.
Unter der Haube von SiteSucker stecken entweder wget oder curl. Beide unterstützen kein JS.
Webseiten, deren Links nur über JavaScript funktionieren, sollten heutzutage selten sein, denn was wget und curl nicht finden, das wird auch von Suchmaschinen nicht indiziert, und das ist ja dann doch für gewöhnlich etwas, das die Betreiber wollen.
+2
Staubfinger22.11.2215:38
Javascript für Links ist ja eher historisch. Meist geht es um flexible Elemente auf der Seite, Accordions und so was. Keine Ahnung, ob wget das versteht. Auf jeden Fall zieht es alle nötigen Javascript-Bibliotheken, so dass nachher im Archiv alles funktioniert wie es soll.
+1
seahood
seahood22.11.2220:34
Hallo,
ich benutze auch wget (viele benutzen neuerdings curl). Was Du beschreibst, sind die "internen links". Ich bin kein PHP Profi, aber die Namensauflösung ist intern auch nicht anders,
„Think different! “
+1
finrik22.11.2221:24
Das "Problem" ist, wenn kein .html steht, dann kannst du die Seite lokal ohne Webserver nicht mehr öffnen (zumindest halt nicht Standard). Mit .html können die Links auf zB Unterseiten ohne Probleme funktionieren, sonst eben nicht.
+2
seahood
seahood22.11.2222:24
You might have better luck using curl to do this instead of wget, and set it to follow the redirection using the switches -L, -J, and -O.

man wget
man curl
„Think different! “
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.