Kategorie: Wordpress

WordPress 4.9 veröffentlicht – Die Neuerungen

WordPress Logo

Rund fünf Monate nach WordPress 4.8 wurde gestern Abend WordPress 4.9 „Tipton“ veröffentlicht. Die neue Version steht als manueller Download oder über die automatische Updatefunktion zur Verfügung. Die deutsche Sprachvariante ist wie immer bereits verfügbar. Ich habe meine beiden Blogs erfolgreich auf WordPress 4.9 aktualisiert und konnte bisher keine Probleme feststellen. Nichtsdestotrotz solltet ihr vor dem Update ein Backup anfertigen!

Weiter unten findet ihr einen kurzen Überblick der wichtigsten Neuerungen. Genauere Details gibts im ausführlichen Changelog im WordPress-Codex.

  • Verbesserter Workflow im Customizer
    • Design-Entwürfe: Änderungen an Designs können geplant und zu einem bestimmten Datum automatisch veröffentlicht werden
    • Design-Vorschau: Designänderungen lassen sich per Vorschau-Link vor dem Veröffentlichen anschauen und damit z.B. an Kunden weitergeben
    • Design-Sperre: Designentwürfe lassen sich sperren und gegen Veränderung von anderen Usern schützen
    • Designentwürfe werden automatisch gespeichert
  • Verbesserungen fürs Programmieren
    • Syntaxhervorhebung und Fehlerprüfung für HTML-Widget, Design- und Plugins-Editor
    • Bei Arbeiten an Theme- und Plugin-Code wird vor dem Speichern eines Fehlers gewarnt
    • Warnmeldung vor dem ersten direkten Bearbeiten von Themes und Plugins
  • Noch mehr Aktualisierungen bei den Widgets
    • Neues Galerie-Widget
    • Integration von Bildern, Video und Audio direkt im Textwidget via neuem „Medien hinzufügen“-Button
  • Verbesserungen zum Aufbau der Website
    • Zuverlässigerer Theme-Wechsel: Widgets und Menüs bleiben auf ihren Plätzen
    • Verständlichere Anleitung beim Erstellen eines Menüs
  • Customizer JS API-Verbesserungen
  • Unterstützung von CodeMirror
  • Aktualisierung MediaElement.js auf 4.2.6 entfernt Abhängigkeit von jQuery und modernisiert Benutzeroberfläche
  • Verbesserungen für Rollen und Berechtigungen: Ermöglicht detaillierte Verwaltung von Plugins und Übersetzungsdateien

Alles in allem muss ich sagen, dass dieses Update für mich absolut keinen Mehrwert bringt und quasi überflüssig ist 😉

WP Staging: WordPress-Websites schnell und einfach klonen

WP Staging Logo

Für Testzwecke betreibe ich eine lokale WordPress-Installation in XAMPP. Designänderungen, Anpassungen in der „functions.php“ und neue Plugins werden von mir dort getestet, bevor sie anschließend in meine Live-Webseite eingebaut werden. Die Testinstallation ähnelt meinem Onlineauftritt relativ stark, ist aber keine 1:1-Kopie. Neuer Content von meiner Webseite landet dort nur sehr sporadisch alle paar Monate.

Vor kurzem bin ich auf das WordPress-Plugin WP Staging gestoßen, welches einen perfekten Klon von WordPress-Webseiten erzeugen kann. Alle Inhalte, Plugins und Einstellungen werden vollautomatisch übernommen. Nach einem kurzen Test war ich positiv überrascht und habe meine lokale Testinstallation direkt in Rente geschickt.

WordPress-Website klonen

Der Klonvorgang ist mit wenigen Klicks erledigt und kann auch ohne Hintergrundwissen schnell und einfach durchgeführt werden. Dennoch solltet ihr vor dem Start ein Backup eurer WordPress-Datenbank und -Dateien anfertigen.

Anschließend kann es direkt losgehen. Im ersten Schritt müsst ihr auf den Button „Create new staging site“ klicken, um den Klonvorgang zu starten.

Auf der zweiten Seite muss zunächst ein Name für die geklonte Seite festgelegt werden. Der Name dient später auch als Unterordner für die Dateien und als Datenbank-Präfix. Darüber hinaus lassen sich bestimmte Datenbank-Tabellen und Ordner vom Klonvorgang ausschließen. Wer wirklich eine 1:1-Kopie haben möchte, muss hier nichts ändern. Ich habe lediglich die Ordner vom Backup- und vom Caching-Plugin ausgeschlossen.

Das Klonen selbst kopiert zuerst die Datenbank sowie die WordPress-Dateien und führt abschließend ein paar Anpassungen durch, damit die geklonte Webseite später lauffähig ist. Bei meinem kleinen SSDBlog war das Klonen nach wenigen Minuten abgeschlossen. Je nach Größe der Webseite kann der Klonvorgang auch länger dauern.

Sobald das Duplizieren erfolgreich beendet wurde, kann die geklonte Webseite auch schon verwendet werden.

Die geklonte Webseite kann selbstverständlich auch wieder entfernt oder bearbeitet werden. Ebenso kann sie mit Klick auf „Open“ geöffnet werden. Die Webseite ist nur für Administratoren zugänglich. Eine orange Adminbar macht auf den ersten Blick klar, dass es sich um die geklonte Webseite handelt. Damit werden versehentliche Änderungen auf der falschen Website vermieden.

Fazit

Das WP Staging Plugin ist wirklich eine tolle Sache. Vor allem für Entwickler von Themes oder Plugins dürfte es sehr hilfreich sein. Aber auch zum Testen von Updates, egal ob WordPress, Plugins oder Themes ist es eine gute Wahl.

Es ist kostenlos verfügbar und macht das Klonen von WordPress-Seiten kinderleicht. Selbst Laien können damit eine perfekte 1:1-Kopie von WordPress-Webseiten erstellen, ohne auch nur eine einzige Einstellung anzupassen. Der Entwickler René Hermenau sorgt für eine stetige Weiterentwicklung des Plugins und hat schon neue Features in der Pipeline.

WP Staging: Mehr Infos und Download

Kategorien: Tutorials Wordpress

WordPress: Standardeinstellungen der Galerie anpassen

WordPress Logo

Grundsätzlich gefällt mir die in WordPress eingebaute Galerie-Funktion ganz gut. Die Bedienung lässt allerdings etwas zu wünschen übrig, denn beim Erstellen einer neuen Galerie werden jedes Mal die Standardeinstellungen geladen. Für mich heißt das, dass ich immer manuell die Links auf die Medien-Datei und die Größe der Bilder setzen muss.

Seit WordPress 4.0 existiert allerdings eine relativ einfache Möglichkeit, eigene Standardwerte für die Galerie zu definieren. Wie so oft führt der Weg über ein paar Zeilen Code in der „functions.php“ eures Themes bzw. Child-Themes.

/* ----------------------------------------------------- *
* Standardeinstellungen der Galerie anpassen
/* ----------------------------------------------------- */
function my_gallery_new_defaults( $settings ) {
    $settings['galleryDefaults']['link'] = 'file';
    $settings['galleryDefaults']['size'] = 'medium';
    $settings['galleryDefaults']['columns'] = '3';
    return $settings;
}
add_filter( 'media_view_settings', 'my_gallery_new_defaults');

Neben der Verlinkung könnt ihr damit auch eigene Default-Werte für die Anzahl der Spalten sowie die Größe festlegen.

WordPress Galerie-Einstellungen

Falls ihr eine eigene standardmäßige Bildgröße gesetzt habt, könnt ihr diese Vorgabe leider nicht im Einstellungsdialog sehen. Sobald die Galerie aber mit Klick auf den Button „Galerie einfügen“ erstellt wird, wird die festgelegte Größe aber gesetzt. In der Quelltext-Ansicht ist ersichtlich, dass im Shortcode die richtige Größe auftaucht. Beim Bearbeiten der gerade erstellten Galerie wird dann die richtige Größe angezeigt.

Kategorien: Tutorials Wordpress

WordPress REST-API deaktivieren

WordPress Logo

Die WordPress REST-API ist ein spannendes Thema. Grundsätzlich soll die API eine einfach zu erweiternde Schnittstelle für die Kommunikation mit anderen Programmen bereitstellen. Mit WordPress Version 4.4 wurde die grundlegende REST-API-Infrastruktur in den WordPress-Core integriert. Die gestern veröffentlichte Version 4.7 integriert sogenannte Inhalts-Endpunkte, welche bisher nur über ein separates Plugin vorhanden waren. Durch die Endpoints können andere Programme mit WordPress interagieren und bestimmte Informationen ein- oder auslesen.

Die REST-API ist unter der URL „http://www.meine-seite.de/wp-json/“ erreichbar. Das Auslesen der Artikel ist beispielsweise folgendermaßen möglich: „https://www.meine-seite.de/wp-json/wp/v2/posts“.

Wer eine Webseite mit WordPress betreibt und die REST-API nicht nutzt, möchte die API vielleicht lieber deaktivieren. Die API komplett zu deaktivieren ist keine gute Idee, da mittlerweile immer mehr Funktionen im Backend die REST-API benötigen. Allerdings lässt sich die API so umbiegen, dass sie nur von angemeldeten Benutzern verwendet werden kann. Dies ist relativ einfach möglich und erfordert nur ein paar Zeilen Code, die in der „functions.php“ eures Themes bzw. Child-Themes eingefügt werden müssen.

/* ------------------------------------------------------------------------- *
* Returning an authentication error if a user who is not logged in tries to query the REST API
/* ------------------------------------------------------------------------- */
function only_allow_logged_in_rest_access( $access ) {
    if( ! is_user_logged_in() ) {
        return new WP_Error( 'rest_API_cannot_access', 'Only authenticated users can access the REST API.', array( 'status' => rest_authorization_required_code() ) );
    }
    return $access;
}
add_filter( 'rest_authentication_errors', 'only_allow_logged_in_rest_access' );

remove_action( 'wp_head', 'rest_output_link_wp_head', 10 );
remove_action( 'template_redirect', 'rest_output_link_header', 11 );
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );

Die unteren drei Zeilen sorgen dafür, dass der Ausgangspunkt der REST-API nicht im Quellcode, Header und unter der XMLRPC-Schnittstelle publiziert wird.

In den Kommentaren wurde ich darauf hingewiesen, dass Contact Form 7 ab Version 4.8 bei deaktivierter REST-API nicht mehr richtig funktioniert. In diesem Fall kann aber auf das Plugin „Disable REST API“ zurückgegriffen werden, welches das Whitelisting bestimmter Routen erlaubt. Damit können dann die für Contact Form 7 benötigten Routen erlaubt werden, während alles andere deaktiviert ist.

Kategorien: Coding Wordpress

WordPress 4.7 veröffentlicht – Die Neuerungen

WordPress Logo

Soeben wurde WordPress 4.7 „Vaughan“ veröffentlicht. Der Codename wurde nach der Jazz-Sängerin Sarah Lois Vaughan benannt. Wie immer steht die neue Version sowohl als manueller Download oder über die automatische Updatefunktion zur Verfügung. Auch die deutsche Sprachvariante ist bereits erhältlich. Weiter unten findet ihr einen kurzen Überblick der wichtigsten Neuerungen. Genauere Details gibts im ausführlichen Changelog im WordPress-Codex.

Meine beiden Blogs laufen bereits mit WordPress 4.7 und bisher konnte ich noch keine Probleme feststellen. Nichtsdestotrotz solltet ihr daran denken vor dem Update ein Backup anzufertigen!

  • neues Standard-Theme Twenty Seventeen (2017), welches vor allem für Unternehmen gedacht ist
    • responsiv
    • viele Sprachen verfügbar
    • großformatige Beitragsbilder und Video-Header möglich
    • individualisierbare Startseite mit mehreren Abschnitten
  • Auswahl der Backend-Sprache in den Benutzerprofilen möglich
  • Individuelles CSS im Customizer (neuer Menüpunkt „Zusätzliches CSS“) ermöglicht kleine Designanpassungen ohne Plugins und ohne gleich ein Child Theme erstellen zu müssen
  • Vorschaubilder zu hochgeladenen PDF-Dokumenten
  • Unterstützung für Video-Header (kein Sound und automatische Wiedergabe im Loop-Modus)
  • Menüeditor wurde leicht verbessert (Erstellung neuer Seiten möglich ohne dabei den Customizer verlassen zu müssen)
  • Buttons im visuellen Editor wurden angepasst (Blocksatz und Unterstreichung entfernt, Absatzformatierung in oder oberen Zeile, Durchstreichen sowie horizontale Linie in der unteren Zeile )
  • Suchfunktion in der Mediathek beachtet nun auch Dateinamen
  • Es gibt keinen Fallback mehr für die fehlenden alt-Texte bei Bildern
  • Erweiterung der REST API um Inhalts-Endpunkte
  • Ausweitung der Seitentemplate-Funktionalität auf alle Beitragstypen bringt noch mehr Flexibilität für die Theme-Entwicklung

Kategorien: Wordpress

WordPress von HTTP auf HTTPS umstellen

WordPress Logo

Immer mehr Webseiten und Blogs wechseln von HTTP auf HTTPS. Kein Wunder, denn das HTTPS-Protokoll ermöglicht eine verschlüsselte und sichere Kommunikation zwischen Webserver und Webbrowser. Die Verschlüsselung erfolgt mittels TLS, was oft noch unter der Vorgängerbezeichnung SSL bekannt ist. Viele Webseitenbetreiber werden sich jetzt sicherlich fragen, warum sie ihre Webseite auf HTTPS umstellen sollten. Auch ich habe mir für die Umstellung sehr lange Zeit gelassen, dies jetzt aber endlich nachgeholt. In Zeiten von Let’s Encrypt ist das meist schnell und einfach erledigt und obendrein noch kostenlos. Darüber hinaus seht ihr nachfolgend noch ein paar weitere Gründe, warum der Umstieg auf HTTPS zukünftig doch sehr sinnvoll sein kann:

  • Die Verschlüsslung einer Webseite ist mittlerweile ein Rankingfaktor bei Google.
  • Google Chrome soll ab Version 56 (geplant für Januar 2017) vor unverschlüsselten Webseiten warnen. In der Adressleiste soll zukünftig deutlich darauf hingewiesen werden, wenn eine Webseite via HTTP-Verbindung aufgerufen wird.
  • Daten von und zu der Webseite werden verschlüsselt übertragen, was vor allem beim Anmelden einen deutlichen Sicherheitsvorteil darstellt.
  • HTTPS ist einfach Stand der Technik.

Nachdem das geklärt ist, können wir mit der Umstellung starten.

1. Vorbereitungen, Backup erstellen

Bevor die Umstellung beginnt, solltet ihr unbedingt ein Backup eurer WordPress-Datenbank anfertigen. Später müssen ein paar Änderungen in der Datenbank durchgeführt werden, weshalb eine vorherige Sicherung unabdingbar ist. Es gibt einige WordPress-Plugins, welche die Aufgabe übernehmen. Ich verwende seit einigen Jahren BackWPub und bin nach wie vor hochzufrieden.

Außerdem sollte das Caching deaktiviert und der Cache gelöscht werden, sofern aktiv.

2. Zertifikat kaufen bzw. erstellen und installieren

Als nächstes müsst ihr euch das benötigte SSL-Zertifikat besorgen, auf dem Webserver einbinden und für eure Webseite HTTPS aktivieren. Das Einrichten des SSL-Zertifikats läuft bei jedem Hoster anders ab, weshalb ich nicht näher auf dieses Thema eingehe und nur ein paar Links in die Runde werfe:

Selbstverständlich könnt ihr euch auch an den Support wenden.

3. WordPress-URL anpassen

Im ersten Schritt muss die Adresse zur WordPress-Installation angepasst werden. Dazu meldet ihr euch im Backend an und wählt im Menü „Einstellungen“ den Punkt „Allgemein“ aus. Beide URLs müssen von „http://“ auf „https://“ geändert werden (siehe Screenshot):

WordPress HTTPS

Nach dem Speichern müsst ihr euch neu anmelden, was dann bereits per HTTPS geschieht (sofern bei Punkt 2 alles richtig gemacht wurde).

Anschließend solltet ihr noch eure „wp-config.php“ Datei (befindet sich im Hauptverzeichnis eurer WordPress-Installation) öffnen und nachschauen, ob hier irgendwo eure alte URL eingetragen ist. Wenn sich dort beispielsweise der Eintrag

define( 'WP_CONTENT_URL', 'http://www.antary.de/wp-content' );

befindet, sollte dieser durch die neue URL ersetzt werden. Wenn in der „wp-config.php“ nichts zu finden ist könnt ihr mit dem nächsten Schritt fortfahren.

4. Alle URLs in der Datenbank anpassen

In der Datenbank muss jetzt noch die alte URL durch die neue HTTPS-URL ersetzt werden. WordPress speichert nahezu jede URL mit absoluten Pfaden in der DB, was im Umkehrschluss bedeutet, dass die Anpassung an sehr vielen Stellen vorgenommen werden muss und daher nicht händisch erfolgen kann. In vielen Anleitungen wird beschrieben, wie die URL mittels phpMyAdmin angepasst werden kann. Von diesem Vorgehen solltet ihr tunlichst die Finger lassen, denn damit könnt ihr schnell die Einstellungen von Plugins zerstören oder im schlimmsten Fall eure gesamte Seite lahmlegen. Stattdessen solltet ihr zu bewährten Plugins greifen, die mit serialisierten Arrays und Objekten umgehen können.

Sehr empfehlenswert und zuverlässig ist das Plugin Better Search Replace. Alternativ könnt ihr aber auch zu Search & Replace greifen. Hier die einzelnen Schritte für Better Search Replace:

  1. Plugin installieren und aktivieren.
  2. Im Menü unter „Werkzeuge“ den Punkt „Better Search Replace“ aufrufen.
  3. Dort müsst ihr zuerst die alte HTTP- und anschließend die neue HTTPS-URL eintragen. Jetzt alle Tabellen markieren und die Option „Auch GUIDs ersetzen?“ aktivieren. Zudem kann auf Wunsch auch ein Testlauf gemacht werden, was nie verkehrt ist.
    Better Search Replace
  4. Sofern alles passt, kann der Haken bei „Testlauf?“ deaktiviert werden und die Änderungen werden durchgeführt.
  5. Damit sind alle URLs im Blog von HTTP auf HTTPS umgestellt und das Plugin kann wieder deaktiviert und deinstalliert werden.

5. Alte HTTP-URLs via .htaccess umleiten

Der nächste Schritt kann bei einigen Webhostern direkt in den Einstellungen des Webspaces bzw. des Webservers erledigt werden. Wer die Möglichkeit nicht besitzt, muss auf .htaccess ausweichen.

Eine sogenannte 301-Weiterleitung stellt sicher, dass alle Aufrufe der Webseite auf die neue HTTPS-URL umgeleitet werden. Alle alten HTTP-Links zu eurer Webseite werden damit automatisch auf die neue HTTPS-URL weitergeleitet. Wenn ihr diesen Schritt nicht umsetzt, ist eure Webseite weiterhin auch per HTTP erreichbar, was erstens nicht Sinn dieser Umstellung ist und zweitens zu Komplikationen mit Suchmaschinen führen kann, Stichwort „Duplicate Content“.

Bei einem Apache-Webserver sind für die Umleitung folgende Zeilen in der .htaccess-Datei notwendig.. Wenn möglich sollten diese ganz am Anfang stehen.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

6. Mixed Content beseitigen

Es kann durchaus noch vorkommen, dass nicht alle Inhalte per HTTPS ausgeliefert werden. In diesem Fall erscheint in der Adresszeile links neben eurer Webseite kein grünes Schloss, sondern je nach Browser ein unterschiedlicher Warnhinweis (siehe Screenshot):

HTTPS Mixed Content Warnung

HTTPS Mixed Content Warnung (links Firefox, rechts Google Chrome)

Sollte das der Fall sein, muss geprüft werden, welche Inhalte noch per HTTP geladen werden. In Firefox und Google Chrome kann dies sehr schnell und einfach erledigt werden. Einfach die Seite mit dem „Mixed Content“ aufrufen, auf der Tastatur F12 drücken und dort den Tab „Console“ (Chrome) bzw. „Konsole“ (Firefox) auswählen. Dort werden dann alle Inhalte aufgelistet, die noch per HTTP und damit unverschlüsselt eingebunden sind:

Mixed Content in Google Chrome Console

Diese Inhalte werden sehr oft von Widgets, Plugins oder Themes ausgeliefert, was sich jedoch in den meisten Fällen leicht anpassen lässt. Eine weitere häufige Fehlerquelle sind ältere Embeds (z.B. YouTube-Videos), die noch als HTTP-Link eingebunden wurden. Hier müsst ihr von Hand die HTTPS-URL hinterlegen

Ebenso muss die Einbindung von VG-Wort-Zählpixel geändert werden. Standardmäßig sehen die Zählpixel folgendermaßen aus:

<img src="http://vg05.met.vgwort.de/na/52c49b1dfb18f7858" alt="" width="1" height="1" />

Unabhängig von der alten Zählpixel-URL muss bei Verwendung von HTTPS folgende VG-Wort-Domain verwendet werden: „https://ssl-vg03.met.vgwort.de“. Hier ein Beispiel der neuen URL:

<img src="https://ssl-vg03.met.vgwort.de/na/52c49b1dfb18f7858" alt="" width="1" height="1" />

Genauere Infos zu diesem Thema liefern die letzten beiden Links aus meinen Quellen unten.

Wenn alle Inhalte per HTTPS eingebunden sind, wird die Webseite als sicher dargestellt. Das grüne Schloss in der Adresszeile sticht sofort ins Auge:

sichere HTTPS-Webseite

sichere HTTPS-Webseite (links Firefox, rechts Google Chrome)

7. Weitere Tätigkeiten

Abschließend solltet ihr noch die Suchmaschinen über die Umstellung auf HTTPS informieren. Wenn ihr alles wie oben beschrieben erledigt habt, sollten die Suchmaschinen die Änderung normalerweise selbstständig erkennen. Es kann aber nicht schaden die Änderung selbstständig mitzuteilen. Dies könnt ihr zum einen über die Google Search Console (ehemals Google Webmaster Tools) erledigen und zum anderen über eure „sitemap.xml“. Falls die Sitemap in eurer „robots.txt“ referenziert wird, müsst ihr dort ggf. auch noch den Pfad anpassen.

Wenn ihr Google Analytics einsetzt müsst ihr des Weiteren die neue URL hinzufügen. In Google Analytics muss für die HTTPS-Variante eurer Seite eine eigene „Property“ angelegt werden. Alternativ könnt ihr auch die URL der bestehenden Property anpassen. Wie das genau funktioniert müsst ihr selber herausfinden, ich wollte das nur erwähnt haben 😉

Wer bis hier noch nicht genug hat der kann sich noch mit den „HTTP Security Headern“ auseinandersetzen. Damit lässt sich die Sicherheit von Webseiten, die ausschließlich über HTTPS erreichbar sind, zusätzlich steigern. Die Webseite securityheaders.io hilft euch bei der Überprüfung dieser Security Header. Ich habe einen schönen Blogartikel zu diesem Thema gefunden, den ich euch nicht vorenthalten möchte: https://scotthelme.co.uk/hardening-your-http-response-headers/

Fazit

Alles in allem war die Umstellung aufwändiger als gedacht. Dennoch solltet ihr bei einer Umstellung alle Punkte beachten und gewissenhaft arbeiten, denn sonst kann die HTTPS-Umstellung schnell nach hinten losgehen. Wer sich die Umstellung zutraut sollte diese meiner Meinung nach auf jeden Fall angehen. Mittel- bis langfristig wird sich dies auf alle Fälle positiv bemerkbar machen.

Gerne könnt ihr mir Anmerkungen oder weitere Tipps in den Kommentaren hinterlassen.

Quellen

Kategorien: Tutorials Wordpress

WordPress absichern und schützen

WordPress Logo

Die Blog-Anwendung WordPress erfreut sich nach wie vor großer Popularität. Dank den vielen und guten Plugins kann der Funktionsumfang beinahe beliebig ausgebaut werden, weshalb WordPress heutzutage auch oft als CMS oder Shopsystem verwendet wird. Insgesamt läuft WordPress auf gut ein Viertel aller Webseiten weltweit, weshalb die Anwendung ein sehr beliebtes Angriffsziel darstellt.

Nachfolgend eine umfangreiche Sammlung vieler sinnvoller Tipps und Plugins, um WordPress sicherer zu machen.

Basisschutz

Diese einfachen Tipps sollten von allen umgesetzt werden, die WordPress einsetzen.

  • regelmäßig Updates installieren
    • vor allem von WordPress selbst
    • aber auch Plugins und Themes sollten aktualisiert werden, wenn neue Versionen bereit stehen
  • nicht verwendete Plugins und Themes löschen
  • Administrator-Account
    • wenn möglich nur ein Administrator-Account
    • Administrator-Account sollte nicht den standardmäßig vergebenen Usernamen „admin“ besitzen
    • keine Artikel mit dem Administrator-Account verfassen, sondern über separate Accounts mit Redakteurs-Rechten
  • verschiedene Passwörter für WordPress Admin, Datenbank und FTP benutzen
  • „sichere“ Passwörter verwenden
    • Groß- und Kleinschreibung, Zahlen sowie Sonderzeichen verwenden
    • lange Passwörter, je mehr Stellen desto besser (12 Stellen oder mehr sind gut)
  • regelmäßige und automatische Datensicherung
    • Datenbank und Dateien sichern
    • beides kann zum Beispiel einfach mit dem Plugin BackWPup erledigt werden
    • Sicherungen nicht auf dem Server aufbewahren

Erweiterter Schutz

Die Tipps hier sind deutlich aufwendiger zu realisieren und sollten nur von erfahrenen Anwendern befolgt werden, die wissen was sie tun. Für Anfänger sind die Tipps unter „Basisschutz“ ausreichend.

  • Zugriffsschutz für das Backend (Admin-Bereich) mit Hilfe von .htaccess
  • TLS-Verschlüsselung für das Backend oder direkt für die gesamte Webseite einsetzen
  • XML-RPC-Schnittstelle deaktivieren / Zugriffsschutz einrichten
    • ist seit WordPress 3.5 standardmäßig aktiviert
    • Nachteil: Trackbacks von anderen Blogs können nicht mehr empfangen werden
    • XML-RPC-Schnittstelle über die „functions.php“ vollständig deaktivieren
      /* Disable XML-RPC */
      add_filter( 'xmlrpc_enabled', '__return_false' );
    • alternativ Zugriff auf Dateo „xmlrpc.php“ einschränken
      # bis einschließlich Apache 2.3
      # auth protection xmlrpc.php
      <Files xmlrpc.php>
      AuthType Basic
      AuthName "Restricted Admin-Area"
      AuthUserFile /pfad/zur/.htpasswd
      Require valid-user
      </Files>
      
      # ab Apache 2.4
      # auth protection xmlrpc.php
      <Files xmlrpc.php>
      AuthType Basic
      AuthName "Restricted Admin-Area"
      AuthUserFile /pfad/zur/.htpasswd
      Require valid-user
      </Files>
  • Admin Zugang auf bestimmte IP-Adressen beschränken
    # bis einschließlich Apache 2.3
    # protect wp-login.php
    <Files wp-login.php>
    Order deny,allow
    Deny from all
    Allow from [DYNAMIC.DNS.NAME]
    </Files>
    
    # ab Apache 2.4
    # protect wp-login.php
    <Files wp-login.php>
    Require host example.org
    </Files>
  • zuverlässigen Hoster verwenden
    • aktuelle Versionen von PHP und Webserver (Apache, nginx, …)
    • saubere Webserver-Konfiguration

Plugins

  • Antispam Bee (Schutz gegen Spam)
  • AntiVirus (Schutz gegen Schadcode, der über Sicherheitslücken in WordPress, Plugins oder Themes eingeschleust wurde
  • Snitch (protokolliert ausgehende Verbindungen von WordPress-Plugins)

Kategorien: Internet Wordpress

WordPress 4.6 veröffentlicht – Die Neuerungen

WordPress Logo

Vor wenigen Minuten wurde WordPress 4.6 „Pepper“ veröffentlicht. Wie immer steht die neue Version bereits als manueller Download und auch über die automatische Updatefunktion zur Verfügung. Selbstverständlich ist bereits auch die deutsche Sprachvariante erhältlich. Ich habe mich bereits an das Update gewagt und konnte bisher keine Probleme feststellen. Dennoch solltet ihr vor dem Update ein aktuelles Backup anfertigen, sicher ist sicher 😉

Nachfolgend ein kurzer Überblick der wichtigsten Neuerungen. Genauere Details findet ihr im ausführlichen Changelog im WordPress-Codex.

  • „Shiny Updates v2“, Plugins und Themes können nun ohne Neuladen der Seite aktualisiert, instlalliert und entfernt werden (bisher war nur das Update von Plugins und Themes via AJAX möglich)
  • Open Sans im Admin-Backend als Schriftart entfernt, stattdessen wird auf System-Schriftarten gesetzt
  • TinyMCE-Editor auf Version 4.4.0 aktualisiert
  • nicht gültige Links (HTTP-Status-Code 404) werden rot umrandet angezeigt
  • Wiederherstellen von gespeichertem Inhalt optimiert
  • Unterstützung von Resource Hints
  • verbesserte HTTP-API (fügt Header unabhängig von Groß- und Kleinschreibung hinzu, erlaubt parallele HTTP-Anfragen und unterstützt internationalisierte Domain-Namen)
  • Aktualisierung von JavaScript-Bibliotheken (Masonry 3.3.2, imagesLoaded 3.2.0, MediaElement.js 2.22.0, TinyMCE 4.4.1 und Backbone.js 1.3.3)

Kategorien: Wordpress

WordPress 4.5 veröffentlicht – Die Neuerungen

WordPress Logo

Soeben wurde WordPress 4.5 „Coleman“ veröffentlicht. Der Codename bezieht sich auf den Jazzmusiker Coleman Hawkins. Die neue Version steht sowohl per Download als auch über die automatische Updatefunktion zur Verfügung und ist wie immer auch bereits in der deutschen Variante erhältlich. Bei mir lief das automatische Update ohne Probleme durch. Denkt daran: Vor einem Update solltet ihr immer ein aktuelles Backup anfertigen.

Nachfolgend ein kurzer Überblick der wichtigsten Neuerungen. Genauere Details findet ihr im ausführlichen Changelog im WordPress-Codex.

  • neue „Inline“-Verlinkung im Editor
  • neue Formatierungs-Kürzel im Editor, die mit WordPress 4.3 eingeführt wurden
    • — für eine Trennlinie (<hr />)
    • `code` für  <code>code</code>
  • Möglichkeit das eingesetzte Theme im Anpassen-Menü auf „Responsiveness“ zu testen, dazu stehen die drei Ansichten Desktop, Tablet und Mobil zur Verfügung
  • Webseiten-Logo kann über das Anpassen-Menü eingebunden werden
  • Oberfläche zum Moderieren von Kommentaren wurde übersichtlicher gestaltet
  • Einloggen auch mit E-Mail-Adresse und Passwort möglich (bisher nur mit Benutzername und Passwort)
  • „Responsive Bilder“ (eingeführt in WordPress 4.4) werden nun bis zu 50% schneller geladen
  • Aktualisierung der JavaScript-Bibliotheken (jQuery 1.12.3, jQuery Migrate 1.4.0, Backbone 1.2.3, und Underscore 1.8.3)
  • „wp_add_inline_script()“ ermöglicht registrierten Scripts zusätzlichen Code hinzuzufügen
  • Embed-Templates können über die Template-Hierarchie direkt durch Themes überschrieben werden

Kategorien: Wordpress

WordPress Datenbank entschlacken Teil 2

WordPress Logo

Vor mehr als fünf Jahren habe ich in meinem Artikel „WordPress Datenbank entschlacken“ gezeigt, wie ihr eure WordPress-Datenbank relativ einfach und schnell aufräumen und verkleinern könnt. Nur als Anmerkung: Der Artikel ist nach wie vor aktuell und die beschriebene Vorgehensweise unverändert anwendbar.

Heute habe ich bei Horst gesehen, dass eine weitere Stelle innerhalb der WordPress Datenbank Optimierungspotenzial bietet. In der „wp_options“-Tabelle werden sogenannte Transients erzeugt, die sich mit der Zeit anhäufen und die Datenbank füllen. Dabei handelt es sich um zwischengespeicherte Werte von Plugins und WordPress selbst. Ab WordPress 3.7 sollen abgelaufene Transients bei einem Datenbank-Upgrade angeblich selbst entfernt werden. Allerdings scheint dies je nach Implementierung in den Plugins nicht so gut wie erwartet zu funktionieren, weshalb eine Menge Einträge existieren, die nicht mehr benötigt werden.

Bevor ihr startet, solltet ihr unbedingt ein Backup der Datenbank anlegen. Sicher ist sicher. Anschließend müsst ihr folgenden SQL-Befehl ausführen, um die Transients zu löschen:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%')

Am einfachsten dürfte dies mit phpMyAdmin zu bewerkstelligen sein.

Kategorien: Tutorials Wordpress