Der erste Export

Verfasst von

in

Kurz gesagt: Der erste Export mit Simply Static Pro lieferte 1.819 Dateien und 81 Megabyte.

Bis hierher war KISP eine Werkstatt: ein WordPress, das nur ich sehen kann. Heute passiert das, worauf alles hinausläuft. Aus den Seiten, die ich dort geschrieben habe, entstehen fertige Dateien, wie sie später im Internet liegen. Dafür gibt es ein Werkzeug namens Simply Static Pro. Es besucht jede Seite meiner Werkstatt, schreibt sie als einfache Datei ab und legt alles in einen Ordner. Dieses Abschreiben heißt Export, der Ordner heißt Staging, also eine Bühne hinter dem Vorhang, auf der noch niemand zuschaut.

Zugang mit eigenem Passwort

Simply Static brauchte einen Zugang, denn meine Werkstatt hat eine Tür mit Passwort. Statt mein eigenes Passwort zu hinterlegen, habe ich einen eigenen Besucher angelegt, der nur für den Export da ist. Sollte er jemals in falsche Hände geraten, lässt er sich mit einer Zeile löschen.

Erster Export

Dann kam der erste Lauf: 1.819 Dateien, 81 Megabyte. Das ist viel für eine Seite aus Text. Beim Nachsehen zeigte sich, woher das Gewicht stammt. Zu 70 Megabyte tragen Werkzeuge bei, die WordPress nur für den Redaktionsbereich braucht. Auf der fertigen Seite lädt gerade einmal eine Handvoll davon. Dazu kamen Autorenseiten, die ich gar nicht haben wollte, und die Ordner der Plugins.

Hinweis zur Sperre für Suchmaschinen

Gut zu wissen, bevor die Seite ins Internet geht: Die Sperre für Suchmaschinen ist im Export angekommen, die Links zeigen auf die künftige Adresse thekeepitsimpleproject.org, und die Dateien für KI-Assistenten (llms.txt) und Suchmaschinen (Sitemap) liegen bereit. Auch zwei Kleinigkeiten sind aufgefallen. Ein unsichtbares Zeichen am Anfang der llms.txt, das BOM, und Yoast-Kommentare im Quelltext.

Zweiter Export

Der zweite Export brachte 1.782 Dateien und 80 Megabyte. Autorenseiten und Plugin-Ordner waren weg, wp-includes mit 1.638 Dateien geblieben. Warum das so war und wie die Seite am Ende auf 62 Dateien und 2,4 Megabyte schrumpfte, erzähle ich im nächsten Beitrag.

Wie die fertigen Dateien zu All-Inkl gelangen, folgt in einer späteren Etappe.

Zeig mir, wie es geht: Simply Static Pro per WP-CLI installieren
  • Die ZIP-Datei war größer als die Upload-Grenze von WordPress. Sie liegt kurz in /data/terruhn.it/kisp/wordpress/, das im WP-CLI-Container als /var/www/html eingebunden ist:
chown 33:33 /data/terruhn.it/kisp/wordpress/<datei>.zip
cd /data/terruhn.it/kisp
docker compose -p kisp run --rm wpcli wp plugin install simply-static --activate
docker compose -p kisp run --rm wpcli wp plugin install /var/www/html/<datei>.zip --activate
rm /data/terruhn.it/kisp/wordpress/<datei>.zip
  • Versionen: Simply Static 3.8.16, Simply Static Pro 2.6.11. Die Pro-Version setzt die freie Version voraus.
  • Der Lizenzschlüssel steht im Passwortmanager und nicht im Projektordner.
Zeig mir, wie es geht: eigener Zugang für den Export
  • In Caddy eine zweite Zeile im Block basic_auth @geschuetzt, Benutzer simplystaticexport mit eigenem Passwort (caddy hash-password).
  • Test:
curl -sI -u simplystaticexport:'<PASSWORT>' https://thekeepitsimpleproject.org/ | head -1

Erwartet HTTP/2 200.

  • In Simply Static unter Allgemein den Basic-Auth-Benutzer und das Passwort eintragen.
  • Exportziel: Bereitstellung → Lokales Verzeichnis /var/www/staging (auf dem Cube /data/terruhn.it/kisp/staging, Eigentümer www-data).
  • Ziel-URL: Absolute URLs mit https://thekeepitsimpleproject.org.
  • Zusätzliche URLs: /llms.txt und /sitemap_index.xml der Arbeitsinstanz, weil Yoast sie zur Laufzeit erzeugt.
Zeig mir, wie es geht: den Export verschlanken
  • Erweitertes Crawling, aktive Crawler: ausgeschaltet wurden Autoren-URLs, Includes-Verzeichnis, Plugin-Assets, Vendor-Dateien und Konfigurationsdateien.
  • Einschließen/Ausschließen: /author/ und /wp-content/plugins/.
  • Ergebnis nach dem zweiten Lauf: Autorenseiten und Plugin-Ordner sind weg, wp-includes ist mit 1.638 Dateien (60 MB JavaScript) geblieben.
  • Die Seiten verlinken aus wp-includes nur zwei Dateien: js/dist/script-modules/block-library/navigation/view.min.js und js/dist/script-modules/interactivity/index.min.js.
  • Prüfbefehl:
grep -rhoE '(src|href)="[^"]*wp-includes[^"]*"' --include=index.html . | sed 's/.*="//;s/"$//;s/?.*//' | sort -u
  • Welche Einstellung wp-includes weiter einbezog und wie der Ordner aus dem Export verschwand, steht im nächsten Beitrag.
  • Das BOM in der llms.txt (ef bb bf) und die Yoast-Kommentare räume ich in einem späteren Schritt weg.