In diesem Dokument sind Hinweise für Administratoren der WordPress-Instanz der Schachabteilung des ESV-Rot-Weiß Göttingen gesammelt. Sie setzen eine gewisse Routine im Umgang mit PHP und MySQL voraus!

Serverkonfiguration

Im Wurzelverzeichnis der WP-Instanz befindet sich eine .htaccess. Auch wenn der Zugriff darauf abgestellt ist, bitte nicht löschen! Manche Plugins schreiben dort Veränderungen hinein. Wenn für diese die Einstellungen geändert werden, muß sie erneut in die entsprechende *.conf-Datei kopiert werden.

Cronjob

Für zeitabhängige Aufgaben (Mailversand, Postings mit geplantem Veröffentlichungsdatum etc.) gibt es die wp-cron.php, die bei jedem Seitenaufruf aufgerufen wird. Da die Ausführung relativ zeitaufwendig ist (Datenbankoperationen), wurde sie deaktiviert, in dem in der wp-config.php der Ausdruck define('DISABLE_WP_CRON', true); hinter DB_COLLATE eingefügt wird. Der Cronjob muß dann den Befehl wget --no-check-certificate -q -O - https://schach-goettingen.de/cms/wp-cron.php?doing_wp_cron >/dev/null 2>&1 ausführen.

Klonen der WP-Instanz

Bitte nicht manuell kopieren! Da einige Widgets ihre Länge prüfen, lassen sich absolute Pfade in der Datenbank nicht einfach ersetzen. Stattdessen sollte das bereits installierte Duplicator-Plugin verwendet werden. Es produziert zwei Dateien: installer.php und ein *.zip-Archiv. Kopieren Sie beide Dateien in das Verzeichnis der geklonten Instanz und rufen die installer.php im Browser auf. Mit der Beantwortung weniger Fragen wird ein funktionsfähiger Klon erstellt. Evtl. muß in der php.ini die maximale Ausführungszeit (max_execution_time) erhöht werden.

Achtung: Wenn der Klon auf eine andere Version des Datenbankservers aufgespielt werden soll, bitte vorab prüfen, daß das Klonen in beide Richtungen funktioniert. Während der Entwicklung gab es ein schwer zu findendes Problem, weil ein von MariaDB 10.2 gezogener Klon auf MariaDB 10.1 scheinbar einwandfrei funktionierte, dann aber nicht mehr nach MariaDB 10.2 zu remigrieren war!

Geplante Backups

Leider erlaubt Duplicator geplante Backups nur in der kostenpflichtigen Pro-Version. Daher wurde von Gerd ein eigenes Skript erstellt.

Liste der aktiven Plugins

Die folgenden Module sind eingebunden und aktiv (in alphabetischer Reihenfolge):

  • Add Featured Image to RSS Feed: Vorschaubilder im RSS-Feed.
  • Admin Menu Editor: Zum Gestalten des Menüs im Backend.
  • All-in-One Event Calendar von Time.ly: stellt das Kalenderwidget zur Verfügung.
  • Async JavaScript: Erlaubt es, JS-Dateien mit async oder defer-Attribut zu laden.
  • Better Search Replace: erwweiterte Suchen und Ersetzen-Funktionen. Achtung: Kann Datenbankschäden anrichten!.
  • Broken Link Checker: Prüft den Inhalt auf ungültige Links.
  • Caldera Formulare:Kontaktformular, das per Email versendet wird. Kann für beliebig viele Kontakte erstellt werden.
  • Classic Editor: Bringt den Tiny MCE Editor zurück, der mit WP 5 aufgegeben wurde.
  • Duplicator: zum Klonen der kompletten WP-Instanz (s. hier).
  • Embed Code for ChessBase Widgets: Shortcode für den Chessbase Web Viewer (von IB, noch nicht veröffentlicht). Beliebig große PGN-Datenbanken können mit [PGN]...[/PGN] eingefügt werden.
  • Enable Shortcodes inside Widgets,Comments and Experts: Damit der PGN-Viewer auch in den Kommentaren verwendet werden kann..
  • ESV-GOE-loader: enthält zusätzlichen PHP-, CSS- und JavaScript-Code von den Administratoren. Dafür stellt es drei Dateien bereit: esv-goe.php, esv-goe.css und esv-goe.js. Es sollte immer als letztes Modul geladen werden. Außerdem lädt es eine Bibliothek zum Tracken von Schriftarten (font-detector.js).
  • Enable Shortcodes inside Widgets,Comments and Experts: damit der Partienbetrachter auch in den Kommentaren genutzt werden kann.
  • File Renaming on upload: Sorgt dafür, daß bei Uploads in der Mediathek Akzente im Dateinamen entfernt werden und nur Kleinschreibung erfolgt.
  • hootkit: Plugin des Themeherstellers.
  • HTML Import 2: Importer für HTML-Dateien aus anderen Systemen. Die .htaccess-Syntax ist noch Apache 2.2 und muß für >=2.4 geändert werden.
  • LiteSpeed Cache: Setzt Push-Header für HTTP/2 und minifiziert JS- und CSS-Dateien. Wenn solche Dateien geändert werden, sollte das Plugin beim Entwickeln abgeschaltet sein, weil es sonst zu 404-Fehlern kommen kann. Nach dem anschalten sollten die Dateien mit der entsprechenden Funktion gelöscht werden, damit das Plugin die neuen Dateien verarbeitet kann. Die Cache-Funktion wird nicht genutzt, da dafür ein anderes Plugin installiert ist.
  • Mammoth .docx Konverter: Erlaubt das Erstellen von Beiträgen als docx-Datei.
  • Members: Zum Edieren von Benutzerrollen.
  • Nextend Social Login: Stellt verschiedene Social Logins zur Verfügung.
  • NextGEN Gallery: Bildergallerie. Bilder sollten möglichst durch die Mediathek in die Gallerie geladen werden, weil sie sonst in einem Verzeichnis des Plugins abgelegt werden und dann nicht mehr für andere Beiträge durch die Mediathek auffindbar sind.
  • Phoenix Media Rename: Damit kann man in der Mediathek Dateinamen ändern (in der Listenansicht der Übersichtsseite). Die Änderungen werden dann auch in den Texten, die diese medien einbinden, vorgenommen.
  • Plugins Load Order: in den allermeisten Fällen ist die Ladereihenfolge der Plugins egal. Wenn nicht, stellt dieses Plugin im WP-Dashbord unter dem Menüpunkt Einstellungen/Plugins Load Order eine Liste bereit, in der die Reihenfolge per Drag&Drop geändert werden kann.
  • Prosodia VGW OS: Zum Einfügen und Verwalten von VG Wort-Zählmarken.
  • Open Graph for Facebook, Google+ and Twitter Card Tags: Metadaten für soziale Medien.
  • Post Archival in the Internet Archive: erstellt bei neuen Beiträgen automatisch Kopien im Internetarchiv, auch von den externen Links.
  • s2Member Framework: ein sehr komplexes Plugin, daß die Verwaltung für den internen Bereich bereit stellt. Bevor hier Veränderungen vorgenommen werden, muß viel Dokumentation studiert werden!
  • TablePress: Editor für Tabellen, die zentral verwaltet werden und mittels Shortcode in Texte eingefügt werden können (auch in verschiedene Texte).
  • WP Cerber: Zahlreiche Sicherheitseinstellungen (IP-Blacklists, wiederholte Login-Versuche etc.). Am wichtigsten ist das Abschalten der %WPROOT/wp-login.php; ist auf %WPROOT/56-tf87_5z umgestellt.
  • WP Crontrol: Erlaubt das Manipulieren der in wp-cron.php ausgeführten Cronjobs.
  • WP Last Modify Info: Damit kann man an den Beiträge eine Notiz über zeitpunkt und Autor der letzten bearbeitung heften.
  • WP Link Preview: Vorschauen für Webseiten wie bei Twitter oder Facebook mit dem Shortcode .
  • WP Mail Logging: Logt von WP versandte Emails.
  • WP Mail SMTP: Erlaubt das versenden von Mails aus WP heraus durch Konfigurieren der mail()-funktion von PHP.
  • WP Maintenance Mode: In den Plugin-Einstellungen kann man die Seite in einen Wartungsmodus versetzen. Besuchern wird dann eine entsprechende Seite angezeigt.
  • WP-Piwik bzw. WP-Matomo: Reichweitenmessung mit der selbstgehosteten Software Matomo (früher Piwik).
  • WP Super Cache: cacht Beiträge und Seiten als statisches HTML.
  • WP Sweep: Löscht veraltete Entwürfe, Metadaten und optimiert die Datenbank. Dafür gibt es im Dashboard das Menu Einstellungen/Bereinigen. Bitte undingt vorher ein Backup der Datenbank erstellen!
  • WP-Worthy: Zum Einfügen und Verwalten von VG Wort-Zählmarken.
  • Yoast SEO: Sammlung von Funktionen zur Suchmaschinenoptimierung (Metadaten, Webmaster Tools, Sitemaps etc.). Bitte die Facebook-, Twitter- und Google-Funktionen im Menü Social abgeschaltet lassen, weil es sonst zu Dopplungen mit dem Modul Open Graph kommt.
  • Zeno Font Resizer: Erstellt ein Widget zum Verändern der Shriftgröße.

Import von Theos Seite

Der Import von Theos Seite gestaltete sich schwierig. Sie war größtenteils in einem visuellen Editor (MS Frontpage 5) geschrieben, der bei der (sehr häufigen) Verwendung von Copy&Paste nicht auf die Balance der öffnenden und schließenden Tags geachtet hat. Dadurch ist praktisch jede größerere Seite syntaktisch korrupt. Zudem sind auch viele inhaltliche Fehler, vor allem im HTML-Header, entstanden. Im FTP-Verzeichnis lagen sehr viele Dubletten und Versionen.

Die Originalziele der href- und src-Attribute wurden in einem data-orig-url-Attribut gespeichert. Der Original-URL der Seite befindet sich im #esv_end_import-Element in dem Attribut data-import_url.

Letzte Änderung von