Gruse Maschinenbau

Überblick
Dieses Projekt war ungewöhnlich. Die Website war bereits fertig gebaut, Konzept und Design waren längst erledigt. Es ging um die technische Basis, die nicht wie gewünscht funktionierte. Sie musste ausgetauscht werden, ohne dass man davon an der Oberfläche etwas bemerken sollte.

Hintergrund

Die Agentur kilometer19 bat uns, einen Blick auf die Website ihres Kunden Gruse GmbH zu werfen. Die Ladezeiten machten dem Kunden Sorgen.
Der Blick unter die Haube zeigte, dass elf Sekunden und mehr vergingen, bevor man etwas erkennen konnte.

Gemessen mit Google Chrome DevTools; mittlere DSL-Geschwindigkeit; zwei Messungen kurz hintereinander

Beim Seitenaufruf wurden sehr viele Dateien geladen (183 requests), nur ein Teil davon war für die Darstellung der Seite notwendig. Standard-Maßnahmen wie Caching oder das Optimieren von Bildern brachten kaum Verbesserung. Wir haben daher vorgeschlagen, auf ein schlankeres Theme umzustellen.

Gruse Maschinenbau

  • Multisite
  • WPML zu MLP
  • Mehrsprachigkeit
  • Rückbau Allzweck-Theme

gruse.de

Prozess

Wir haben zunächst eine 1:1 Kopie der Website erstellt und ein neues Theme sowie das PageBuilder-Plugin BeaverBuilder installiert.

Herauslösen der Inhalte

Die Website war mit dem Theme Avada aufgebaut, einem Bestseller unter den Allzweck-Themes. Diese Themes sind keine Themes im eigentlichen Sinn, sondern Plugin-Sammlungen. Theme und Plugins werden zu einem festen Paket verschnürt. Es ist nicht möglich, Funktionen, die man nicht nutzt, zu deaktivieren. Individuelle Anpassungen sind ebenfalls kaum möglich.

Normalerweise ist der Wechsel eines WordPress-Themes nicht schwierig. Aber der Fusion-Builder von Avada packt Text und Layout in ein komplexes Geflecht aus Shortcodes. Das hat zu Folge, dass man Texte nicht einfach übernehmen kann, nachdem man das Theme gewechselt hat. Im Editor sieht man eine Shortcode-Wüste:

So sieht die mit Avada erstellte Startseite im Editor aus (nach dem Wechsel des Themes)

Normalerweise kann man in WordPress nahezu nahtlos das Theme wechseln: Das Design ändert sich, aber die Inhalte sind unverändert. Mit Avada — und vielen anderen Allzweck-Themes — funktioniert das aufgrund der Shortcodes im Editor leider nicht.

Durcheinander in der Datenbank

Als nächstes haben wir das Theme Avada gelöscht, um mit dem neuen Theme und WPML (Plugin für Mehrsprachigkeit) weiterzuarbeiten. Es stellte sich jedoch heraus, dass sich sowohl das Theme Avada selbst als auch die Verknüpfungen des Themes Avada mit WPML nicht vollständig löschen liessen.
Normalerweise sollten Themes und Plugins beim Löschen alle Daten „mitnehmen“, die sie in die Datenbank geschrieben haben. Daran halten sich aber nicht alle Entwickler. Avada hinterliess jedenfalls jede Menge Tabellen und mehrere Tausend Datensätze in der Datenbank.

Der Versuch, WPML zu löschen und neu zu installieren, schlug fehl. Auch hier verblieben alte Daten in der Datenbank, die das Plugin beim Löschen nicht entfernt hatte. WPML liess sich dadurch mit dem neuen Theme nicht zum Laufen bringen.

Inzwischen hatten sich die Ladezeiten allerdings deutlich verbessert:

Gemessen mit Google Chrome DevTools; mittlere DSL-Geschwindigkeit; zwei Messungen kurz hintereinander

Clean Install

Wir haben uns dann entschieden, alle Inhalte (Texte und Bilder) in eine frische WordPress-Installation zu übertragen und mit einer sauberen Basis weiter zu machen. Das kostete zwar noch einmal Zeit, aber wir haben uns dadurch Aufwand erspart, der zuvor in Fehlersuche und -behebung geflossen war.

Für die Umsetzung der Mehrsprachigkeit haben wir uns für ein Multisite-Installation entschieden. Die Sprachen managt das Plugin MultilingualPress Pro.

Fazit

Die Ladezeit der Website hat sich drastisch verbessert. Die Startseite lädt jetzt unter zwei Sekunden. Ursprünglich musste man über 10 Sekunden warten bis die Seite geladen war.

Gemessen mit Google Chrome DevTools; mittlere DSL-Geschwindigkeit; zwei Messungen kurz hintereinander

Das schnelle Hosting bei unserem Partner Spacehost erzeugt keine Wartezeiten mehr, das neue Theme lädt nur 62 statt 180 Dateien beim Seitenaufruf.

Die Sprachversionen sind jetzt getrennt. Jede Sprache hat eine eigene Website mit eigenen Datenbank-Tabellen innerhalb einer Multisite-Installation. Das Plugin WPML hatte alle Sprachversionen innerhalb seiner Datenbank-Tabellen gemanagt. Das passiert über viele komplizierte Verknüpfungen, was in der Vergangenheit häufig zu Konflikten und Fehlfunktionen führte. Mit MultilingualPress ist die Struktur einfacher und deutlich weniger fehleranfällig.