Performance-Experiment mit gzip und Browser-Caching

Auf dem WordCamp Nürnberg hat Jan Thiel einen tollen Vortrag zum Theme Performance gehalten: WordPress Performance Mythbuster. Den Vortrag könnt Ihr Euch hier auf wordpress.tv anschauen.

Performance ist ein wichtiges Thema, nicht nur seit Google ein Auge drauf hat. Je langsamer eine Seite lädt, desto schlechter ist die User Experience. Jede Millisekunde zählt, bei mobilen Geräten umso mehr.

Spannend fand ich, wie Jan herausgearbeitet hat, wo denn der Flaschenhals bei den Ladezeiten tatsächlich liegt. Vorsicht Spoiler: Weder die Server-CPU noch der PHP-Code vom WordPress-Core sind hier die Bremse, der PHP Code von Themes und Plugins ist es, der aufs Tempo drückt.

Was logischerweise bedeutet, dass noch’n Plugin Eure Seite nicht unbedingt schneller macht. Auch wenn Performance-Optimierung draufsteht. Ausnahmen bestätigen die Regel.

Das Experiment

Ich hab mir mal zwei Sachen vorgenommen, die Jan in seinem Vortrag erwähnt hat, mit denen man der Netzialisten-Seite Beine machen kann. Ich hab dazu das Google Page Speed Tool genutzt, obwohl ich ein etwas gespaltenes Verhältnis dazu habe: Die Angaben dort muss man mit Vorsicht geniessen und immer die Verhältnismäßigkeit im Auge behalten. Beispiel: Man kann schon „Punktabzug“ kriegen, wenn ein einziges 32KB-Bild nicht optimiert ist.

Die beiden Techniken, die ich mir angeschaut habe, sind:

  1. gzip -Komprimierung
  2. Browser-Caching

Weiterlesen Performance-Experiment mit gzip und Browser-Caching

Google Fonts über den eigenen Server einbinden

Es gibt verschiedene Methoden, um Google Fonts in eine Webseite einzubinden. Die klassische Methode ist, die Schriften über einen Link in der header.php oder – besser – über die functions.php ins Theme einzubinden. Ellen Bauer hat einen ausführlichen Artikel dazu geschrieben: Google Fonts in WordPress Themes

Bei dieser Methode liegen die Schriften auf den Google-Servern und werden über einen Link auf meine Webseite geholt. Wird meine Seite geladen, schickt sie eine Anfrage an den Google Server und der liefert dann die Schriften aus. Davon merkt man in der Regel nicht viel. Aber es bleibt die Tatsache, dass eine Abfrage passiert und das dauert ein paar Millisekunden.

Je nach der Qualität der Datenverbindung kann es auch passieren, dass die Schriften nicht schnell genug ausgeliefert werden. Dann erscheinen alle Texte plötzlich in Arial oder Times.
Auch Firewalls können ein Problem darstellen – in manchen Firmen gelten so strenge Regeln, dass die Mitarbeiter keine Google Fonts zu sehen kriegen.

Google Fonts herunterladen und Webfont erzeugen

Aus diesen Gründen bin ich in letzter Zeit dazu übergegangen, Google Webfonts nicht mehr per Link einzubinden, sondern direkt auf den Sever zu laden, auf dem auch das WordPress-Theme liegt. Ich gehe davon aus, dass das rechtlich kein Problem ist, denn die Google Webfonts haben eine SIL Open Font License, die das Herunterladen erlaubt.
Weiterlesen Google Fonts über den eigenen Server einbinden

Flexbox jetzt! IE8 und IE9 und die Bremse im Kopf

Das Web entwickelt sich im Sauseschritt. Heute ist SVG das Grafik-Format der Wahl und die Flexbox-Methode bringt uns endlich flexible CSS-Raster ohne semantische Verrenkungen. Wenn da nicht die alten Browser wären.

So lange wir Code vorhalten müssen, den auch alte Browser lesen können, haben wir ein Problem. Wir müssten eine Menge Sachen doppelt schreiben, eine Version für moderne Browser und eine für die alten Herrschaften.

Das ist natürlich mühsam. Bevor ich mir die doppelte Arbeit mache, bleibe ich doch lieber bei den altbewährten Methoden. Floats und clearfixes können neue und alte Browser lesen. Wegen dem bisschen Semantik lohnt sich der Aufwand nicht.

Ist das nur eine bequeme Ausrede oder ist da was dran?
Weiterlesen Flexbox jetzt! IE8 und IE9 und die Bremse im Kopf

Tipps für eine barrierefreie Webseite

Wie viele Leute verwenden wohl einen Screenreader um diese Webseite zu betrachten? Der Anteil dürfte im niedrigen einstelligen Prozentbereich liegen. Warum also so viel Aufwand für eine so kleine Benutzergruppe?
Weil es nicht um Screenreader geht. Sondern um Usability.

Wer profitiert von einer barrierefreien Webseite?

  • Menschen mit einer Sehbehinderung, die starke Kontraste auf ihrem Bildschirm brauchen
  • Menschen, die im hellen Sonnenlicht eine Adresse auf ihrem Smartphone lesen wollen
  • Menschen, die per Tastatur statt Maus navigieren, weil sie keine Arme haben
  • Menschen, die per Tastatur statt Maus navigieren, weil sie Rheuma in den Händen haben oder ihr rechter Arm vorübergehend einen Gipsverband hat
  • Menschen, die eine geistige Behinderung haben
  • Menschen mit einem Hochschulabschluss, deren Muttersprache nicht Deutsch ist
  • Menschen, die eine Aufmerksamkeitsstörung haben und sich schlecht konzentrieren können
  • Menschen, die nach einem langen Arbeitstag müde sind und sich schlecht konzentrieren können
  • Alte Menschen, die unsicher sind und leicht die Orientierung auf der Webseite verlieren
  • Junge Menschen, die unsicher sind und leicht die Orientierung auf der Webseite verlieren

Weiterlesen Tipps für eine barrierefreie Webseite

Sieben Fragen und Antworten für WordPress-Einsteiger

Eine WordPress-Seite ist schnell aufgesetzt (siehe der berühmte Fünf Minuten Install). In Gesprächen mit Kunden stelle ich jedoch fest, dass viele Leute den Einstieg in WordPress ganz schön kompliziert finden.

1. Ich hab‘ gar kein Blog, kann ich trotzdem WordPress benutzen?

Das Argument „WordPress ist nur für Blogs“ ist zwar Unsinn, aber dafür hält es sich eisern. Damit ist wohl gemeint, WordPress sei gar kein „richtiges“ CMS.
Das Gegenteil ist der Fall: Gerade weil WordPress (unter anderem) mit einer Blog-Funktionalität daherkommt, ist es ein sehr modernes Content Management System (CMS).

Mit WordPress kann man alle möglichen Projekte umsetzen. Große, kleine, mittlere, mit Blog und ohne Blog.
In Zeiten der REST-API werden die Möglichkeiten, große Projekte mit WordPress zu realisieren, noch einmal wachsen.

Kurze Antwort: Na klar. Nächste Frage.

Lange AntwortMan kann auch Webseiten ohne Blog mit WordPress bauen. Dann erstellt man einfach eine Reihe von statischen Seiten. Aber auch große Projekte mit Schnittstellen zu allen möglichen Funktionen sind umsetzbar.
Weiterlesen Sieben Fragen und Antworten für WordPress-Einsteiger

Meine schwierige Beziehung zu Baukasten-Themes

„Du machst doch was mit WordPress, kannst Du mir mal schnell mit meinem Theme helfen?“ Wenn ich diese Frage höre, dann weiß ich: Das könnte knifflig werden. Denn nicht bei jedem Theme kann ich mein WordPress-KnowHow anwenden.

Es gibt Themes, die haben nicht mich im Visier, sondern den Endkunden, der selbst etwas zusammenbauen möchte. Diese Baukasten-Themes bieten eine große Vielfalt an Einstellungsmöglichkeiten im Backend und/oder über den Customizer an. Dort kann man dann für jedes Element die Farbe, Abstände, Größen und so weiter festlegen und sich ganze Seiten-Layouts zusammenklicken.

Es kann allerdings passieren, dass das Theme, das zuerst so vielversprechend aussah, nicht so funktioniert wie erwartet. Auch bei 200+ Optionen gibt es immer Dinge, für die der Entwickler keine Einstellungsmöglichkeit vorgesehen hat.
Das ist der Punkt, an dem viele Leute Hilfe suchen.
Weiterlesen Meine schwierige Beziehung zu Baukasten-Themes

WordPress-Seite lokal auf verschiedenen Geräten testen mit MAMP Pro

In diesem Artikel möchte ich eine Methode vorstellen, wie Ihr eine WordPress-Seite, die auf einem lokalen Rechner liegt, über das WLAN testen könnt. Ich arbeite mit MAMP Pro auf einem Apple-Rechner. 

VORAUSSETZUNGEN

  • Ein Apple-Rechner unter OSX
  • MAMP Pro
  • Ein gemeinsames WLAN, in dem alle Geräte (Server-Rechner, Tablets, Smartphones) angemeldet sind

1. Einen virtuellen Server in MAMP Pro einrichten

MAMP Pro kann man sich als Testversion kostenlos herunterladen.

Um eine lokale WordPress-Seite anzuzeigen muss man zuerst einen virtuellen Host (einen virtuellen Server) einrichten. Wie das geht, wird hier beschrieben. Anschliessend kann man WordPress installieren, der Ablauf ist derselbe wie bei der Installation beim Hoster.

Sobald die WordPress-Seite installiert ist, kann man sie über den Browser aufrufen.
In meinem Beispiel ist es die URL http://testing-stuff.

Bildschirmfoto 2015-12-18 um 11.17.58

Weiterlesen WordPress-Seite lokal auf verschiedenen Geräten testen mit MAMP Pro

Neu in WordPress 4.4 Responsive Images mit srcset und sizes

Meistens lädt der Browser eine deutlich größere Bild-Datei, anschließend wird das Bild auf die passende Größe verkleinert.

Bei kleinen Webseiten mit wenigen Bildern ist das vielleicht kein großes Problem. Aber bei größeren Seiten mit vielen Bildern kommen schnell ordentliche Datenmengen zusammen.

Was WordPress bisher macht

WordPress sorgt schon lange dafür, dass Bilder nicht unnötig groß werden. Aus jedem Bild, das in die Mediathek hochgeladen wird, erzeugt WordPress automatisch drei (in Zukunft vier) verkleinerte Varianten. Die Maße kann man in Einstellungen/Medien vorgeben.

Nach dem Hochladen liegt jedes Bild in vier Größen vor:

  1. Originalgrösse (so wie hochgeladen)
  2. Mittlere Größe
  3. Klein
  4. Thumbnail

Schon heute kann man also bestimmen, in welcher Größe – groß, mittel oder klein – ein Bild in einen Artikel eingebunden werden soll. Wie groß ein Beitragsbild ausgegeben werden soll, kann man im Template festlegen:

<?php the_post_thumbnail( 'medium' ); ?>

Responsive Design ist schön, aber…

Im Desktop-Layout brauche ich andere Bildgrößen als im Smartphone-Layout.
Ein Beispiel: Das Headerbild in der Desktopansicht ist stattliche 1400 Pixel breit. Der Smartphone-Screen ist aber so schmal, dass 1400 Pixel gar nicht draufpassen würden. Hier würde ein Headerbild von 400 Pixeln Breite vollkommen ausreichen.

responsive

Was kann man tun, um dem Browser mitzuteilen, dass er auf mobilen Gräten die 400 Pixel breite Version des Headerbildes laden soll anstatt der riesigen 1400-Pixel-Variante?
Man könnte versuchen, dieses Problem mit Javascript oder CSS zu lösen. Aber das hat einen Haken.
Weiterlesen Neu in WordPress 4.4 Responsive Images mit srcset und sizes

Content-Strategie: Welche Texte kommen auf die Webseite?

Alle warten darauf, dass die neue Webseite endlich online geht. Das Web-Team arbeitet schließlich schon eine ganze Weile daran. Momentan diskutiert das Team über die Frage: Welche Inhalte kommen rein in die Webseite und welche bleiben draussen?

Diese Frage hat es in sich. Denn über nichts kann man sich schöner in die Haare kriegen.
Hier hilft ein Blick auf die drei Leitfragen der Content-Strategie:

  1. Mit wem wollen Sie ins Gespräch kommen?
  2. Welche Botschaft möchten Sie vermitteln, was wollen Sie [als Unternehmen] erreichen?
  3. Mit welchen Fragen kommen die Besucher auf Ihre Seite?

Aus diesen Leitfragen lassen sich objektive Kriterien zur Bewertung der Inhalte ableiten. Jeder Text, jedes Bild, Video usw. kann anhand dieser Kriterien auf seine Verwendbarkeit abgeklopft und eingeordnet werden.

  1. Welche Nutzergruppe spricht Text A an?
  2. Welche Botschaft vermittelt Text B?
  3. Welche Fragen der Besucher beantwortet Text C?

Weiterlesen Content-Strategie: Welche Texte kommen auf die Webseite?