Cachify-Cache per Cronjob bereinigen

Cachify ist ein WordPress-Plugin zum einfachen und effektiven Cachen der eigenen WordPress-Instanz. Das Plugin bietet unterschiedliche Methoden für das Caching an. So kann der Cache z.B. in der Datenbank oder auf der Festplatte angelegt werden. Meine bevorzugte Methode ist die Ablage des Caches auf der Festplatte.

Cachify
Preis: Kostenlos

Dies hat einige Vorteile. So kann der Cache, wenn vorhanden, direkt über den Webserver ausgeliefert werden. Die Ausführung von PHP oder die Anfrage auf der Datenbank entfällt. Dies wirkt sich extrem positiv auf die Geschwindigkeit aus. Allerdings funktioniert der automatische Ablauf des Caches bei der Festplatten-Methode leider nicht. Hier muss stattdessen ein Cronjob eingerichtet werden:

sudo -u www-data crontab -e

Im Cronjob soll einmal der Cache bereinigt werden und anschließend die Hauptseite geöffnet werden, damit für diese wieder ein Objekt im Cache angelegt wird:

rm -rf /var/www/example/main/wp-content/cache/cachify/*
curl --silent https://example.net > /dev/null

Beim ersten Befehl wird der Ordner, in welchem der Cache liegt, gelöscht. Anschließend wird mit cURL die Hauptseite aufgerufen, um den Cache wieder aufzufüllen. In der Crontab-Datei sieht dies wie folgt aus:

0    *    * * *   rm -rf /var/www/blankensee/main/wp-content/cache/cachify/* & curl --silent https://blankensee.net > /dev/null

Damit wird der Cache einmal in der Stunde gelöscht und der Cache der Hauptseite wieder neu aufgebaut.

Quellcode-Formatierung unter WordPress

Wenn Quelltext in einem WordPress-Beitrag untergebracht wird, so ist dieser in einem pre-Block meist relativ unansehnlich. Im Plugin-Verzeichnis existieren für dieses Problem eine Reihe von Plugins, welche sich der Codeformatierung annehmen.

Mithilfe einer modifizierten Version der Google-Bibliothek code-prettify wird der Quelltext eingefärbt

Problematisch an diesen Plugins ist allerdings, dass der Nutzer in meisten Fällen alle Beiträge entsprechend anpassen muss. Bei einigen Beiträgen mag dies noch funktionieren, aber bei einigen tausenden Beiträgen ist dies relativ unpraktisch. Abhilfe schafft hier das Plugin Code Prettify von Kaspars Dambis.

Code Prettify
Preis: Kostenlos

Mithilfe einer modifizierten Version der Google-Bibliothek code-prettify wird der Quelltext eingefärbt. Alle pre-Blöcke werden entsprechend behandelt und dies führt zu einem ansehnlicheren Quelltext:

public int doFooBar() {
    int prime = generatePrime();
    return prime * 3.14;
}

Die Entwicklung des Plugins findet auf GitHub statt. Lizenziert ist Code Prettify unter der Apache License in der Version 2 und damit freie Software.

Theme und Plugins einer WordPress-Installation ermitteln

WordPress ist einer der meistgenutzten Content-Management-Systeme unserer Zeit. Wenn WordPress für die eigenen Webseiten und Projekte genutzt wird, kann es manchmal von Interesse sein herauszufinden, welche Themes und Plugins andere WordPress-Seiten nutzen. Mit Hilfe des WP-ThemeDetector ist genau so etwas möglich.

Neben dem Theme können auch genutzte Plugins ermittelt werden

Nach der Eingabe der gewünschten Ziel-URL, versucht der WP-ThemeDetector zu ermitteln, welches Theme und welche Plugins auf der Seite verwendet werden. Für das Theme werden die Informationen aus der style.css-Datei des Themes extrahiert. Bei Plugins werden deren Spuren im Quelltext ausgewertet. Dies führt bei den Plugins dazu das nicht alle Plugins ermittelt werden können, da manche Plugins nur im Backend wirken oder keine größeren Spuren im Quelltext der Seite hinterlassen. Der WP-ThemeDetector ist unter wpthemedetector.com zu finden.

Footer zu Beiträgen unter WordPress hinzufügen

Nachdem ein WordPress-Beitrag geschrieben und veröffentlicht wurde, wird er im Normalfall nicht mehr modifiziert. In meinem Fall wollte ich bestehende Beiträge um einen Footer ergänzen, konkret um auf die Möglichkeit hinzuweisen mich auf Steady zu unterstützen. Dazu existieren einige Plugins, welche allerdings in den meisten Fällen veraltet sind, wie z.B. Bottom of every post.

Bottom of every post
Preis: Kostenlos

Wesentlich aktueller ist das weiter gefasste Plugin Head, Footer and Post Injections, welches neben dem Beitragsfooter auch die Seitenheader und Footer anpassen kann.

Mit diesem Plugin kann für alle Beiträge ein Footer definiert werden. Dazu müssen die Einstellungen im Backend mit dem Punkt Header and Footer geöffnet werden und dort der Tab Posts ausgewählt werden. Wenn kein zusätzliches Plugin installiert werden soll, kann stattdessen das Theme angepasst werden. Dafür muss in der Theme-Datei functions.php eine Funktion angelegt werden:

function addPostFooter($content) {
  if(is_single()) {
    $content .= '<hr/>';
    $content .= 'Ich bin ein Testfooter';
  }

  return $content;
}

add_filter('the_content', 'addPostFooter');

Diese Funktion wird anschließend mittels add_filter zu den Filtern hinzugefügt und sorgt dafür dass der Footer an jedem Beitrag zu finden ist.

Datenbank und Medienoptimierung unter WordPress

Im Laufe des Lebens einer WordPress-Installation kann sich dass eine oder andere Datenfragment ansammeln. So existieren Einträge in der Datenbank welche nicht mehr benötigt werden oder es befinden sich Medien in der Mediathek, welche von keinem Eintrag mehr verwendet werden. Um dieser Probleme Herr zu werden existieren eine Reihe von Plugins zur Bereinigung der Installation.

Die Übersicht des Media Cleaners

Das erste Plugin, der Media Cleaner, ermittelt welche Medien sich in der WordPress-eigenen Mediathek befinden, aber nicht mehr genutzt werden. Nicht mehr genutzte Medien können anschließend gelöscht werden. Die Medien sollten allerdings mit Bedacht gelöscht werden; so erkennt der Media Cleaner keine URLs, welche sich normal im Text (sprich ohne a-Tag oder ähnliches) befinden. Auch kann es passieren das Bilder die laut dem Plugin nicht genutzt sind, falsch in den Beiträgen referenziert werden. So kann durch Domainumzüge und ähnliches der falsche Pfad zum Medium in den Beiträgen stehen. Hier muss der entsprechende Beitrag korrigiert werden.

Media Cleaner
Preis: Kostenlos

Ein weiterer Punkt, auf der Liste zur Optimierung, ist die Datenbank. So speichert WordPress z.B. zu jedem Artikel die Revisionen. Pro Artikel können da schon ein halbes Dutzend und mehr Revisionen zusammenkommen. Mit dem Plugin WP-Optimize kann die Datenbank entsprechend bereinigt werden. Neben den Revision, werden die Tabellen optimiert und verwaiste Fragmente ebenfalls entfernt.

Eine weitere Sache bei der Optimierung von WordPress ist die Überprüfung der Verlinkungen. Mit dem Plugin Broken Link Checker kann dies bewerkstelligt werden. Nach der Installation überprüft das Plugin die Links innerhalb der Installation als auch externe Linkziele und stellt diese entsprechend da.

Broken Link Checker
Preis: Kostenlos

Bevor solche Optimierungen an der WordPress-Installation vorgenommen werden, sollte ein Backup der Datenbank und des Dateisystems erstellt werden. So kann die Installation, im Falle eines Fehler oder einer übereifrigen Optimierung, wieder hergestellt werden.