WordPress-Templates für Übersetzung vorbereiten

Texte in einem WordPress-Theme, die übersetzbar sein sollen, müssen in den Templates gekennzeichnet werden. Dar Code dazu sieht ein wenig ungewöhnlich aus und es gibt viele verschiedene Schreibweisen für diese Funktion. Ich hab eine Weile gebraucht, bis ich mir einen Reim drauf machen konnte.

Der Aufbau eines übersetzbaren Strings ist immer gleich:
__( 'Der zu übersetzende Text', 'text-domain' );

Am Anfang stehen zwei Unterstriche. Die Syntax __() ist ein Kürzel für die translate()-Funktion und setzt das Signal „Achtung, hier gibt’s was zu übersetzen“. Danach kommt der zu übersetzende Textschnipsel, am Ende steht die Textdomain.
An der Stelle, wo die zwei Unterstriche platziert sind, können ganz unterschiedliche Funktionen stehen. Ich möchte vier Varianten vorstellen, die ich im meinem Theme-Alltag am Häufigsten verwende.

Es gibt natürlich noch viel mehr Funktionen. Eine vollständige Übersicht mit ausführlichen Code-Beispielen gibt es im WordPress Theme Handbook.

1. Einfacher Text

esc_html_e('Ich bin ein Text, sonst nix' , 'text-domain');
Damit kennzeichne ich einen einfachen Text.
Im Prinzip würde diese Schreibweise ausreichen:
_e('Ich bin ein Text, sonst nix' , 'text-domain');
Ich bin nicht sicher, wie hoch das Risiko tatsächlich ist, aber theoretisch könnte bei der zweiten Variante ein Übersetzer HTML-Codeschnipsel oder Übleres in die Übersetzung reinschmuggeln. Die Escape-Funktion schmeisst solche Sachen raus.

2. Text innerhalb eines Attributs

Ist ein Text Teil eines Attributs und sitzt z.B. im title-Attribut innerhalb eines Links, dann sieht das Ganze so aus:
esc_attr_e( 'Skip to content', 'text-domain' );
Auch hier ist das Escapen wichtig, damit niemand über die Übersetzung Schadcode einschleusen kann.
Weiterlesen →

5 einfache SEO Tipps

Wir bekommen häufig Anfragen von Kunden, die unzufrieden sind, weil ihre Seite unter bestimmten Suchwörtern nicht auftaucht. Was läuft da schief?

1. Kommt das Suchwort auch tatsächlich im Text vor?
Wer unter dem Stichwort „Waschmaschine“ gefunden werden möchte, muss dafür sorgen, dass dieses Wort auf der Webseite auch tatsächlich vorkommt. Oft stellt sich bei näherem Hinsehen heraus, dass da nirgendwo „Waschmaschine“ steht, sondern nur verwandte oder ähnliche Wörter vorkommen wie z.B. „Waschvollautomat“.

2. Vor dem Schreiben überlegen, unter welchen Stichwörtern die Seite gefunden werden soll.
Am besten ist es, Du überlegst Dir, welche Suchwörter zu Deiner Seite passen, bevor die Texte fertig geschrieben sind. Eine gute Idee ist es auch, sich in die Besucher der Webseite hineinzuversetzen. Wonach suchen sie? Häufig sind das komplett andere Begriffe, als die, die einem selbst spontan eingefallen sind.

3.  Suchwort-Kombinationen nutzen
Manche Suchwörter kommen sehr häufig vor und haben einen sehr großen Konkurrenzdruck. Für das Stichwort „T-Shirt“ zum Beispiel ist es fast unmöglich, eine kleine Seite nach vorn zu bringen. Hier hilft es, mehrere Suchwörter zu kombinieren, zum Beispiel: „T-Shirt, Übergrößen, Siebdruck“.

4. Keywords nicht streuen, sondern bündeln
Es bringt wenig, in jedem Text sämtliche Suchwörter zu verteilen. Besser ist es, wenn Du Dir für jeden Artikel zwei bis drei Suchwörter vornimmst. Das kommt auch der Lesbarkeit der Texte zu Gute.

5. Die Suchwörter an den richtigen Stellen platzieren
Ein Suchwort, das in der ersten großen Überschrift vorkommt, hat die besten Chancen von Suchmaschinen gesehen zu werden. Aber auch im Rest des Textes gibt es einige Punkte, an denen Suchwörter gut aufgehoben sind. Und zwar an Stellen, die man gern übersieht: Zwischenüberschriften, Link-Titel, alt-Tags in Bildern, Bildunterschriften. Suchrobots lesen sie alle.

ZUM WEITERLESEN
Keyword-Tools zur Recherche von Suchbegriffen (t3n)

Was kostet eine WordPress-Seite?

Ein Mensch, nennen wir ihn Paul, braucht eine Webseite und er fragt sich, was das wohl kosten würde. Unter dem Stichwort „WordPress Agentur“ spuckt die Suchmaschine eine lange Liste von Ergebnissen aus. Kleine und große Dienstleister – und ein wildes Durcheinander an Preismodellen.

Eine Agentur bietet ein „WordPress Komplettpaket“ für 600€ an, eine andere spricht von „WordPress Custom Themes“ und will dafür 3.000€ haben. Und bei Themeforest gibt es coole Themes schon für 60€.

„Geht’s noch?“, empört sich Paul. „Ich bin doch nicht blöd und zahle 3.000€, wenn ich das Ganze für 60€ kriegen kann!“

Wie kann das sein, dass für ein und dasselbe Produkt so unterschiedliche Preise aufgerufen werden?

Es steht zwar überall WordPress drauf, aber es ist nicht überall dasselbe drin

Option 1: Selber machen

Auch ein Laie kann sich eine WordPress-Seite ganz bequem über die Benutzeroberfläche (aka WordPress Dashboard) zusammenbauen. Dafür wurde WordPress erfunden. Mit dem Code dahinter kommt man dabei nicht in Berührung.
WordPress selbst und viele gute Themes sind gratis und lassen sich kostenlos herunterladen. Man muss allerdings bereit sein, sich in die Thematik einzuarbeiten. Je nach Vorwissen und Ziel kann das schon mal ein paar Tage dauern.

Schneller geht’s auch mit dem Premium Theme nicht. Im Gegenteil: Diese Themes sind sehr komplexe Konstruktionen, weil sie für jeden etwas bieten müssen. Zusätzlich zu den WordPress Grundlagen muss man sich hier noch in die individuelle Systematik des jeweiligen Themes einarbeiten.

GEEIGNET FÜR
Kleine Projekte mit einfachen Anforderungen.

WENIGER GEEIGNET FÜR
Komplexe Projekte, bei denen Eingriffe in die Theme-Dateien (Templates) nötig sind oder spezielle Plugins gebraucht werden. Natürlich ist auch hier selber basteln möglich und die WordPress Community ist sehr hilfsbereit. Aber das Risiko, eines Tages vor einer kaputten Seite zu sitzen, steigt mit jedem Codeschnipsel, den man irgendwo aufgegabelt, aber nicht so ganz verstanden hat.
Weiterlesen →

WordPress & Vagrant für visuelle Menschen

Letzte Woche habe ich mir angeschaut, wie sich MAMP und Pressmatic im direkten Vergleich so anfühlen. Um das Bild etwas zu erweitern, habe ich mir noch Vagrant angeguckt. 

Beim Zusammenbauen eines Vagrant-WordPress-Workflows haben mir diese beiden Artikel sehr geholfen:

WordPress Development mit VVV (Tuts+)
Setting up a WordPress VVV Workflow (WP Beaches)

In den Artikeln werden alle Schritte zur Installation genau beschrieben.

Optische Oberflächen für VVV und Vagrant

Für mich ist die Arbeit mit dem Terminal deshalb so schwierig, weil ich vor einer „Black Box“ sitze. Erst wenn ich einen passenden Befehl eintippe, spuckt mir das Terminal eine Rückmeldung aus. Weiss ich den Zauberspruch Befehl nicht, sitze ich nur dumm davor und komme nicht weiter.

Spannend fand ich deshalb diese beiden Module:

  1. VVV Dashboard
  2. Vagrant Manager

VVV Dashboard ist eine optische Oberfläche für eine VVV-Installation. Dort kann ich sehen, was sich in meiner Serverumgebung tut und ich kann direkt vom Dashboard aus Aktionen ausführen. Das VVV Dashboard hat mir den Zugang zur Vagrant-Welt sehr erleichtert.
Weiterlesen →

Pressmatic und MAMP 4.x im Schnell-Vergleich

Was ist Pressmatic?
Pressmatic tut das Gleiche wie MAMP, es ist eine Serverumgebung für lokale Rechner. Man kann damit WordPress lokal auf seinem Rechner installieren.

Was macht Pressmatic besser als MAMP?
Pressmatic wirkt auf mich viel moderner als MAMP. Technisch ist der Hauptunterschied der, dass Pressmatic jede Seite in einen separaten VirtualBox-Container packt.
Das Aufsetzen einer neuen Seite geht ausgesprochen flott und ist in wenigen Sekunden erledigt.

Seiten zu clonen und zu duplizieren geht genau so schnell und man kann sich ganze Konfigurationen als Template speichern. Dadurch entfällt der Teil, bei dem man sich zum x-sten Mal durch sämtliche Dashboard-Einstellungen klickt. Das ist schon ziemlich genial.

Pressmatic hat noch mehr schicke Features, zum Beispiel kann man über ein Addon einen Tunnel über ngrok aufbauen, über den man z.B. Kunden auf die lokale Installation gucken lassen kann. Den Tunnel kann man auch dazu nutzen, eine Seite mit mobilen Geräten zu testen.
Ein weiterer Vorteil ist, dass Pressmatic automatisch die neueste WordPress-Version (derzeit 4.6.1) herunterlädt. In MAMP (4.0.4) wird WordPress 4.6. angeboten, es gibt also nur die Major-Release-Versionen. Das ist allerdings ein Riesenfortschritt gegenüber MAMP 3.x, da gab’s eisern nur WordPress 4.0.

Was macht Pressmatic nicht so gut wie MAMP?
Ein kleiner Dämpfer ist für mich der Umgang von Pressmatic mit Multisite.
Dabei fing alles so gut an: Man kann mit einem Klick entscheiden, ob man eine Einzelseite oder eine Multisite-Installation haben möchte. Kein Gehampel mit htaccess und wp-config.php mehr. Bei der Installation kann man sogar zwischen Subdomains und Subfolders wählen.
Weiterlesen →

Unterstreichung näher am Text positionieren

Ein guter Tipp von Florian Brinkmann zum Gestalten von Links
Florian schreibt: „Wenn ihr einen Link oder anderen Text mit einer Unterstreichung versehen möchtet, dann greift ihr vermutlich auf border-bottom zurück, statt text-decoration: underline zu nutzen. Wenn diese Unterstreichung aber zu weit vom Text entfernt angezeigt wird, habt ihr ein Problem (jedenfalls hatte ich das vor Kurzem), denn weiter nach oben lässt sich so ein Rahmen nicht positionieren. Wie ihr das lösen könnt, zeige ich euch in diesem Artikel.“

Link zum Artikel

Nachfahre, Kind oder Geschwister? CSS-Selektoren kombinieren

Quizfrage: Was ist der Unterschied zwischen diesen beiden Schreibweisen?

ul li {font-size:20px;}
ul > li {font-size:20px;}

In beiden Fällen geht es um Elemente in einer ungeordneten Liste (ul). Im ersten Beispiel werden alle Listenelemente angesprochen, im zweiten Fall nur die Listenelemente der obersten Ebene.
TLDR: Am Ende des Artikels gibt es ein CodePen mit Beispielen.

1. Descendant selector

ul li {font-size:20px;}

Das Listenelement ist ein descendant der ungeordneten Liste (ul). Descendant kann man mit „Nachfahre“ übersetzen.
Diese Kombination legt fest, dass alle Listenelemente in der Liste eine Schriftgröße von 20 Pixeln haben sollen. Egal wie viele Listenelemente es gibt und an welcher Stelle sie stehen. Diese Anweisung greift auch bei mehreren ineinander verschachtelten Listen. Alle Listenelemente sind immer 20 Pixel groß.

2. Child selector

ul > li {font-size:20px;}

Bei dieser Schreibweise ist das Listenelement ein child der ungeordneten Liste (ul), also ein Kind der Liste. Das bedeutet, dass nur die Kinder, also die direkten Nachkommen der ungeordneten Liste, 20 Pixel groß sind.
Wird in die Liste eine weitere Liste hineingeschachtelt, werden diese Elemente nicht angesprochen.
Weiterlesen →

„Vollgemüllt ist doof.“ „Clean aber auch!“

Bei t3n erschien kürzlich der Artikel Aufgeräumt? Clean? Von wegen! Warum erfolgreiche Interfaces chaotisch und komplex sind. Der Text ist eine gekürzte Übersetzung eines Posts von Jonas Downey, der bei Medium erschienen ist: Why I love ugly, messy interfaces — and you probably do too.

In dem Artikel geht es darum, dass ein unaufgeräumtes Interface oft erfolgreicher ist als ein reduziertes.

User Interfaces sind ein vielschichtiges Thema, für das es keine Patentrezepte gibt. Es gibt nur individuelle Lösungen. Die sind nicht schwer zu finden, wenn man bereit ist, sich mit der Materie auseinanderzusetzen (Mit welchen Anliegen kommen die Besucher? Auf welchem Weg können sie ihr Anliegen lösen?).

Aber diese Auseinandersetzung ist mit Arbeit verbunden. Arbeit, die Geld kostet, weil man dafür gute Leute engagieren muss.

Komplex, aber bitte nicht chaotisch

Ein komplexes Angebot wie Die Zeit oder The Guardian braucht eine andere Art von Interface als ein einfaches Blog wie dieses hier. Für mich als Leserin einer Tageszeitungs-Webseite ist es aber überaus wichtig, dass das Interface übersichtlich und klar strukturiert ist. So kann ich mich gut orientieren und finde die Inhalte, die mich interessieren.
Weiterlesen →