Konfiguration
FG Static Export speichert Export- und Deployment-Einstellungen als WordPress-Optionen. Die folgenden Standardwerte stammen aus dem aktuellen Code von Version 5.5.4.
Export
Section titled “Export”Interne Basis-URL für Rendering
Section titled “Interne Basis-URL für Rendering”Standard: site_url()
Funktion: Bestimmt die Basis-URL, die beim serverseitigen Rendering mit wp_remote_get() aufgerufen wird.
Wann sinnvoll: Wenn WordPress über eine andere interne Adresse erreichbar ist als die später veröffentlichte Website.
Technische Auswirkungen: Die URL wird als fg_internal_url gespeichert. Requests haben einen Timeout von 30 Sekunden, folgen bis zu fünf Weiterleitungen und deaktivieren im aktuellen Code die TLS-Zertifikatsprüfung.
Ziel-URL für ausgelieferten Export
Section titled “Ziel-URL für ausgelieferten Export”Standard: site_url()
Funktion: Ersetzt im gerenderten HTML Vorkommen der internen URL, site_url() und home_url() durch die Ziel-URL.
Wann sinnvoll: Wenn der statische Export unter einer anderen Domain oder einem anderen Basis-Pfad veröffentlicht wird.
Technische Auswirkungen: Die URL wird als fg_target_url gespeichert. Sie beeinflusst außerdem die Erkennung lokaler Asset-Hosts und die Behandlung von Basis-Pfaden.
Export-Verzeichnis
Section titled “Export-Verzeichnis”Standard: ABSPATH . 'static-export'
Funktion: Legt das Root-Verzeichnis des statischen Exports fest.
Wann sinnvoll: Für ein dediziertes Verzeichnis, das anschließend lokal verarbeitet oder auf einen Zielserver übertragen wird.
Technische Auswirkungen: Der Wert wird als fg_export_dir gespeichert. Die Exportlogik legt darin Seiten, Assets und optionale Zusatzdateien ab.
Inhaltstypen ausschließen
Section titled “Inhaltstypen ausschließen”Standard: keine Ausschlüsse
Funktion: Schließt ausgewählte öffentliche WordPress-Post-Types vom Export aus.
Wann sinnvoll: Wenn bestimmte veröffentlichte Inhaltstypen nicht Teil der statischen Website sein sollen.
Technische Auswirkungen: Die Slugs werden als Array in fg_exclude_cpt gespeichert. Ausgeschlossene Typen werden sowohl bei einzelnen veröffentlichten Inhalten als auch bei der Archiv-Erkennung übersprungen.
ZIP erstellen
Section titled “ZIP erstellen”Standard: deaktiviert
Funktion: Packt das fertige Export-Verzeichnis in ein ZIP-Archiv.
Wann sinnvoll: Für manuelle Übergaben oder weitere Deployment-Prozesse.
Technische Auswirkungen: fg_zip wird als 0 oder 1 gespeichert. Die ZIP-Datei wird neben dem Export-Verzeichnis mit einem Zeitstempel im Namen angelegt. Die PHP-Klasse ZipArchive muss verfügbar sein.
.htaccess übernehmen
Section titled “.htaccess übernehmen”Standard: aktiviert
Funktion: Kopiert ABSPATH . '.htaccess' in das Root-Verzeichnis des statischen Exports, sofern die Quelldatei existiert.
Wann sinnvoll: Wenn Regeln aus der bestehenden .htaccess bewusst auf dem statischen Ziel weiterverwendet werden sollen.
Technische Auswirkungen: fg_include_htaccess wird als 0 oder 1 gespeichert. Die Datei wird unverändert kopiert; ihre Eignung für die Zielumgebung wird nicht automatisch geprüft.
Export-Verzeichnis vor Export leeren
Section titled “Export-Verzeichnis vor Export leeren”Standard: deaktiviert
Funktion: Löscht vorhandene Dateien und Unterverzeichnisse im Export-Verzeichnis vor einem neuen Export.
Wann sinnvoll: Wenn keine veralteten Dateien im statischen Zielbestand verbleiben sollen.
Technische Auswirkungen: fg_clear_export_dir wird als 0 oder 1 gespeichert. Das Leeren wird abgebrochen, wenn der Pfad außerhalb von ABSPATH liegt oder ABSPATH selbst ist. Im Backend verlangt das Formular zusätzlich eine JavaScript-Bestätigung.
Deployment: gemeinsame Einstellungen
Section titled “Deployment: gemeinsame Einstellungen”Deployment aktivieren
Section titled “Deployment aktivieren”Standard: deaktiviert
Funktion: Erlaubt manuelle und automatische Deployment-Läufe.
Technische Auswirkungen: enabled wird in fg_static_export_deployment_settings gespeichert. Ohne Aktivierung bricht ein Deployment ab.
Aktive Deployment-Methode
Section titled “Aktive Deployment-Methode”Standard: rsync
Funktion: Bestimmt, welche Deployment-Implementierung verwendet wird.
Verfügbare Werte im Code:
rsyncsftpsftp_phpseclibftpzip_remote
Nur Methoden, deren technische Voraussetzungen erkannt werden, werden in der Auswahl angeboten. zip_remote ist im aktuellen Stand trotz Erkennung noch nicht implementiert und kann kein erfolgreiches Deployment ausführen.
Nach dem Export automatisch deployen
Section titled “Nach dem Export automatisch deployen”Standard: deaktiviert
Funktion: Startet am Ende eines Exportlaufs automatisch das aktive Deployment.
Technische Auswirkungen: Auto-Deploy läuft nur, wenn sowohl enabled als auch auto_deploy aktiv sind.
Rsync über SSH
Section titled “Rsync über SSH”Remote Host
Section titled “Remote Host”Standard: leer
Hostname oder IP-Adresse des SSH-Ziels.
Remote Port
Section titled “Remote Port”Standard: 22
SSH-Port für die Rsync-Verbindung.
Remote Benutzer
Section titled “Remote Benutzer”Standard: leer
SSH-Benutzername.
Remote Zielverzeichnis
Section titled “Remote Zielverzeichnis”Standard: leer
Zielpfad auf dem Remote-Server.
SSH-Key-Pfad
Section titled “SSH-Key-Pfad”Standard: leer
Optionaler Pfad zum privaten SSH-Key auf dem WordPress-Server. Ist ein Pfad gesetzt, muss die Datei vorhanden sein.
Remote-Dateien löschen
Section titled “Remote-Dateien löschen”Standard: deaktiviert
Aktiviert bei Rsync die Option --delete. Dateien am Ziel, die lokal nicht mehr vorhanden sind, können dadurch entfernt werden.
SFTP über PHP SSH2
Section titled “SFTP über PHP SSH2”Defaults: Host leer, Port 22, Benutzer leer, Passwort leer, Zielverzeichnis leer, SSH-Key-Pfad leer, Remote Delete deaktiviert.
Die Methode unterstützt Authentifizierung über Private Key plus .pub-Datei oder per Passwort. Die Option Remote Delete wird gespeichert, ist in dieser SFTP-Implementierung aber nicht umgesetzt.
SFTP über phpseclib
Section titled “SFTP über phpseclib”Defaults: Host leer, Port 22, Benutzer leer, Passwort leer, Zielverzeichnis leer, SSH-Key-Pfad leer, Remote Delete deaktiviert.
Die Methode unterstützt Passwort-Login und Private-Key-Login über phpseclib. Die Option Remote Delete wird gespeichert, ist in dieser Implementierung aber nicht umgesetzt.
FTP/FTPS
Section titled “FTP/FTPS”Verbindung
Section titled “Verbindung”Defaults: Host leer, Port 21, Benutzer leer, Passwort leer, Zielverzeichnis leer.
FTPS verwenden
Section titled “FTPS verwenden”Standard: aktiviert
Wenn ftp_ssl_connect() verfügbar ist, wird eine FTPS-Verbindung aufgebaut. Ist die Funktion nicht verfügbar, fällt die Implementierung mit einer Warnung auf unverschlüsseltes FTP zurück.
Remote Delete
Section titled “Remote Delete”Standard: deaktiviert
Der Wert wird gespeichert, die Löschfunktion ist für FTP/FTPS im aktuellen Stand jedoch nicht umgesetzt.
Zugangsdaten über wp-config.php
Section titled “Zugangsdaten über wp-config.php”Passwörter können zur Laufzeit über Konstanten überschrieben werden:
define('FG_STATIC_EXPORT_DEPLOY_SFTP_PASSWORD', '...');define('FG_STATIC_EXPORT_DEPLOY_SFTP_PHPSECLIB_PASSWORD', '...');define('FG_STATIC_EXPORT_DEPLOY_FTP_PASSWORD', '...');Zusätzlich existiert:
define('FG_STATIC_EXPORT_DEPLOY_PASSWORD', '...');Diese allgemeine Konstante überschreibt das Passwort der aktuell aktiven Methode, sofern deren Profil ein Passwortfeld besitzt.
Wird ein Passwort über das Backend gespeichert, bleibt es in fg_static_export_deployment_settings in der WordPress-Datenbank gespeichert. Eine Konstante überschreibt den Wert zur Laufzeit, entfernt einen zuvor gespeicherten Datenbankwert jedoch nicht automatisch.
WP-Cron
Section titled “WP-Cron”Automatischen Export aktivieren
Section titled “Automatischen Export aktivieren”Standard: deaktiviert
Aktiviert den Cron-Hook fg_static_export_cron_export.
Intervall
Section titled “Intervall”Standard: daily
Zulässige Werte:
| Wert | Bedeutung |
|---|---|
hourly |
stündlich |
twicedaily |
zweimal täglich |
daily |
täglich |
weekly |
wöchentlich |
weekly wird vom Plugin über den Filter cron_schedules ergänzt, falls dieses Intervall noch nicht existiert.
Beim Neuplanen wird das erste Ereignis ungefähr fünf Minuten später angesetzt. WP-Cron startet einen Export mit den zuletzt gespeicherten Export-Einstellungen. Ein anschließendes Deployment erfolgt nur, wenn Deployment und Auto-Deploy ebenfalls aktiviert sind.