Mit einfachen Mitteln eine mehrsprachige WordPress-Site aufsetzen

Eine einfache WordPress-Installation unterstützt Mehrsprachigkeit nicht wirklich und entspricht üblicherweise genau einer Sprache.

Beim Aufsetzen der Webseite von monkkee.com standen wir deshalb zunächst vor einer Herausforderung, denn die Seite wollten wir in Englisch und Deutsch anbieten. Wie macht man das?

Eine wichtige Ressource ist der offizielle WordPress-Artikel hierzu. Außerdem gibt es hilfreiche Blog-Artikel, die das Thema adressieren (siehe unten).

Eigene WordPress-Seite je Sprache

Wir haben uns dazu entschieden, für jede Sprache eine eigene WordPress-Seite aufzusetzen. Diese Option wird auch im WordPress-Artikel unter der Überschrift "Each language in its own WordPress installation" aufgeführt.

Voraussetzung ist das Aufsetzen eines WordPress-Multisite-Netzwerks. Seit WordPress 3.0 ist dies möglich. Anschließend hat man statt einer einfachen WordPress-Site ein Multisite-Projekt.

Hier eine Gegenüberstellung von Pros und Cons:

Pros

  • Keine Kosten. Die besten Plugins zur Unterstützung von Mehrsprachigkeit kosten ein bisschen was. Mit der hier vorgestellten Variante kommt man zum Nulltarif ans Ziel.
  • Unabhängigkeit der sprachspezifischen WordPress-Sites und damit volle Kontrolle über Permalinks, SEO- und weitere Plugins, Themes und Widgets.

Cons

  • Mehr Pflegeaufwand. Strukturen und Einstellungen müssen zwei- bzw. mehrfach angelegt bzw. eingerichtet werden. Bei umfangreichen und sich ständig weiterentwickelnden Seiten fällt das umso mehr ins Gewicht.
  • Bindeglied zwischen den Sprachen sowie eine "Sprachweiche" müssen noch eingerichtet werden. Wie das geht zeige ich im Folgenden.

Eingerichtete Sites und "Sprachweiche"

Das WordPress-Netzwerk von monkkee.com besteht aktuell aus drei WordPress-Sites: Der root-Site, der deutschsprachigen Site sowie der englischsprachigen Site.

multilingual_wordpress_multisites

root-Site

Die root-Site http://www.monkkee.com/ enthält keine Inhalte. Sie ist nur eine Sprachweiche. Basierend auf der Browsersprache wird der Benutzer auf eine sprachspezifische Site weitergeleitet.

Das Erkennen der Sprache sowie die Weiterleitung übernimmt ein Plugin. Das Plugin ist im Rahmen der Entwicklung der monkkee-Webseite entstanden und ich habe es jüngst veröffentlicht: http://wordpress.org/plugins/language-redirect/.

Das Plugin zieht zur Erkennung der Sprache den HTTP-Header "Accept-Language" heran. Wohin dann weitergeleitet wird lässt sich über eine Konfigurationsoberfläche einstellen. Im Fall von monkkee ist das wie folgt konfiguriert:

screenshot-1

Benutzer mit der Sprache en werden an /en/, Benutzer mit der Sprache de werden an /de/ weitergeleitet. Wird keine der beiden Sprachen erkannt, wird ebenfalls an /en/ weitergeleitet (Default-Einstellung).

Deutschsprachige Site

Die deutschsprachige Site ist http://www.monkkee.com/de/. Wichtig ist zu bemerken, dass es uns auf die deutsche Sprache ankommt, nicht auf das Land Deutschland. Uns interessiert nur, ob der Benutzer deutsch versteht und deutsche Inhalte bevorzugt. Falls es um geschäftliche Dinge geht, kann es aber durchaus interessant sein, ob der Benutzer aus Deutschland, Österreich oder der Schweiz kommt. Dann wäre es aber besser auf Basis der IP-Adresse zu unterscheiden und nicht auf Basis der Sprache.

Englischsprachige Site

Die englischsprachige Site ist http://www.monkkee.com/en/. Durch die Defaulteinstellung wird auf diese Site auch weitergeleitet, wenn die Sprache nicht de oder en ist.

Umschalten zwischen den Sprachen

Es besteht bei monkkee die Möglichkeit, manuell zwischen den Sprachen zu wechseln. Dazu besteht ein einfacher Link rechts oben auf den Seiten:

multilingual_wordpress_english_version

Dies ist auch mit einfachen Mitteln realisiert. An entsprechender Stelle wird einfach ein Text-Widget definiert, wie hier beschrieben. Es wird auch immer auf die Startseite verlinkt, nicht auf die Seite, die der aktuellen Seite entspricht (z.B. Nutzungsbedingungen -> Terms of use). Für's erste war das für uns ausreichend, es gibt aber mit dem Multisite Language Switcher die Möglichkeit, das noch zu optimieren.

Weitere Blogartikel zum Thema

Weitere Plugins zum Thema

 

bjoerne_com_bjoern_weinbrenner_softwareentwickler_icon_leistungen_02

Lust auf mehr? Als Experte für WordPress und individuelle WordPress-Entwicklung kann ich Sie in Ihren Projekten unterstützen. Melden Sie sich gerne bei mir.

2017-01-28T13:52:48+00:00 22.09.2013|Tags: , , , , , |11 Comments

11 Kommentare

  1. Katarina 9. September 2015 um 13:03 Uhr- Antworten

    Danke für den Artikel! Ich bin gerade auf der Suche nach einen Weg das WPML-Plugin zu ersetzten (langsam, unverträglich mit vielen Plugins, Support from Hell…). Das ist der Weg der mir einiges erspart hätte.

  2. Brie 27. April 2016 um 10:20 Uhr- Antworten

    Wenn du willst eine WordPress-Site übersetzen, kannst du sehr einfach diese Lokalisierungstool benutzen: https://poeditor.com/

  3. Michael 22. Januar 2017 um 0:50 Uhr- Antworten

    Wie ist das mir der Root-Seite zu verstehen? Ist da auch ein WordPress-Installation dahinter? Ohne Inhalt mit dem Language-Redirect Plugin und jeweils eine WordPress-InstallationDE und EN Inhalt aber ohne Language-Redirect Plugin?

    • bjoerne 22. Januar 2017 um 0:59 Uhr- Antworten

      Genau so ist es. Die Installationen sind Teil einer Multisite-Installation.

  4. Michael 22. Januar 2017 um 0:53 Uhr- Antworten

    und wie sieht das mit duplicate content aus?

    • bjoerne 22. Januar 2017 um 1:01 Uhr- Antworten

      Damit hatte ich bisher keine Probleme. Jede meiner Seiten ist einmalig.

  5. Michael 23. Januar 2017 um 19:46 Uhr- Antworten

    Soweit so gut, aber die Root Seite ist und bleibt leer und dient nur der reinen Weiterleitung? Oder kann ich z.B auf der Root Seite die DE Variante setzen und nur die EN Variante weiterleiten?

    • bjoerne 23. Januar 2017 um 19:49 Uhr- Antworten

      Mit meinem Plugin ist es so, dass die Root-Seite leer bleiben muss. Es mag andere Lösungen geben, die DE als Root-Seite ermöglichen. Diese benötigen aber Cookies. Mein Plugin kommt ohne Cookies aus.

  6. michael 23. Januar 2017 um 20:11 Uhr- Antworten

    OK, als brauch ich auf der Root-Seite auch für die Suchmaschinen (Texte, Titel, Beschreibung usw.) angeben? Wenn mich jetzt andere Seiten direkt auf example.com verlinken, kommen da die Suchmaschinen mit der Weiterleitung zurecht oder bleiben die Bots dann auf der Root-Seite hängen? bzw. macht es Sinn zu gucken das die Links auf meine Seite auf example.com/de/ und example.com/en/ geändert werden, was ja nicht bei allen Seiten klappen wird.

    Eine letzte Frage noch, da Sie Autor vom Language-Plugin sind, mein Test hat ergeben das es unter der neusten Version von WordPress läuft, auf der WordPress -Seite steht noch Kompatibel bis: 4.3.7.

    Das letzte Update ist ja schon 8 Monate her: Sollte das Plugin nicht mehr kompatibel sein, würde es dann noch ein Update geben oder ist das Projekt "eingeschlafen"

    Eins noch, ich habe ja auf der WordPress-Seite ein Button gesehen wo ich für das Plugin Spenden kann, kommt das Ihnen zugute? wenn ja dann würde ich gerne eine Kleinigkeit für das Plugin und den Support spenden.

    • bjoerne 23. Januar 2017 um 21:39 Uhr- Antworten

      Suchmaschinen kommen gut mit Redirects zurecht. Von jeder Sprache aus sollte es jedoch einen Link auf alle anderen Sprachen geben, damit Suchmaschinencrawler alle Sprachen einfach finden. Soweit ich weiß, ruft der Google-Crawler die Seite mit verschiedenen Spracheinstellungen auf uns findet so alle Sprachvarianten direkt. Die Root-Seite benötigt keine Inhalte oder Metadaten, diese sind erst auf der Zielseite relevant.
      Das Plugin ist mit der aktuellen WordPress-Version getestet. Ich habe die Info soeben aktualisiert.
      Die Spende würde bei mir ankommen und ich würde mich sehr freuen. Vielen Dank!

  7. MIchael 29. Januar 2017 um 19:15 Uhr- Antworten

    Ich wollte mich noch mal für die Unterstützung bedanken.

Hinterlassen Sie einen Kommentar