Dies ist das technische Support-Forum für WPML - das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team beantwortet Anfragen im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Heute stehen keine Supporter zur Arbeit im German-Forum zur Verfügung. Sie können gern Tickets erstellen, die wir bearbeiten werden, sobald wir online sind. Vielen Dank für Ihr Verständnis.

This topic contains 10 Antworten, has 2 Teilnehmer.

Last updated by Cristina vor 1 Jahr, 1 Monat.

Assigned support staff: Cristina.

Autor Beiträge
September 28, 2018 um 11:19 am

AndreasTanke1

Ich betreibe eine Seite mit Woocommerce und WPML. Diese Seite gibt es in DE und EN (via subdomains www und en).
Beim Aufruf der Seite ist diese sehr langsam.
Mir ist dabei aufgefallen, dass beim Aufruf der deutschen Seite viele Sachen von der en-Subdomain geladen werden. Das kann ich mir nicht erklären.
Das scheint das System auch auszubremsen.

September 28, 2018 um 12:58 pm #2773867

Cristina

Hallo Andreas,

vielen Dank für die beigefügten Infos.

Ich glaube, das liegt an einigen Problemen mit der Einstellung von Sprachen in Domains:

1: Sicherheitszertifikate und Schriften-Abruf

Domains und Subdomains werden bei der Einrichtung von Sprachen in Domains gleich gewertet. Die Subdomain hidden link ist also eine andere Domain als hidden link.

Da Sie jetzt wahrscheinlich zwei SSL-Zertifikate nutzen, weil ja jedes SSL Zertifikat nur für eine Domain gültig ist, tritt hier bei den Schriften ein Sicherheitsproblem auf.

Wenn Sie in einem Browser die Fehlerkonsole öffnen (F12 und dann im Reiter "Konsole" die Fehler aufrufen) sehen Sie Fehlermeldungen wie diese:


Access to Font at '
hidden link' from origin 'hidden link' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'hidden link' that is not equal to the supplied origin. Origin 'hidden link' is therefore not allowed access.
?

Das ist ein Fehler der Same-Origin Security Policy, die bei SSL in Kraft tritt, weil es Ressourcen auf der Seite, die nicht von der gleichen Domain abgerufen werden, wie im SSL-Zertifikat definiert.

Diese Sicherheitsregel besagt, dass Skripte von einer Quelle (Domain) keine Inhalte einer fremden Quelle (domain) aufrufen dürfen. Das wird auf Serverebene definiert.

Das bedeutet, dass hier z.B. die Schriften von der ersten Domain abgerufen werden, um in der zweiten genutzt zu werden.

Da beiden Domains gesichert sind, wird damit die Sicherheitsregel gebrochen, nach der nur Inhalte der eigenen / gleichen Domain geladen werden dürfen. Das führt wahrscheinlich dazu, dass diese Ladezeit höher ist, weil die Schriften dann irgendwie doch noch geladen werden.

In einer WordPress-Installation kann es helfen, wenn in der .htaccess die Erlaubnis für diesen Schrift-Type erteilt wird.

<FilesMatch ".(eot|ttf|otf|woff)">
    Header set Access-Control-Allow-Origin "*"
</FilesMatch>

Auf Serverebene begradigt man so etwas mit der einer expliziten Erlaubnis gefixt, die der Hosting vornehmen muss.

Weitere Infos über diese Policy:
hidden link

Gute Tipps für eine einfache Lösung in der .htaccess bei Subdomains finden Sie hier:

hidden link

Dort wird erwähnt, dass ein Eintrag mit "http" statt "https" in einem CDN / Remot Cache ebenfalls zu diesem Problem führen könnte.

2: "Falsche" URLs für eingeloggte Nutzer

Wenn man die englischen Seiten aufruft, während man eingeloggt ist, sehen Sie diese Art von URLs:

"hidden link"

Das liegt an der Einstellung "Argumente über GET übergeben (die URL)" in WPML > Sprachen.

Wenn Sie hier auf die Option "Argumente über BEITRAG übergeben" (sollte eigentlich "Argumente über POST übergeben" heißen), wird das korrigiert.

MfG,
Cristina

September 28, 2018 um 2:10 pm #2774162

AndreasTanke1

Hallo Cristina,
Danke für Deine schnelle Antwort.
Aber mir erklärt sich noch nicht, warum denn überhaupt auf der deutschen Seite die Subdomain en. aufgerufen wird.
Ich hätte erwartet, dass ich auf der deutschen Seite nur die deutsche Domain und auf der englischen Seite nur die englische Domain finde.

Was passiert eigentlich, wenn ich WPML mal deaktiviere? Wird gibt es dann irgendwelche Auswirkungen auf Woocommerce und WPML, oder kann ich es danach wieder ganz einfach aktivieren und es bleiben alle Einstellungen erhalten?

mfg

Andreas

September 28, 2018 um 3:10 pm #2774297

Cristina

Hallo Andreas,

Das reine Deaktivieren in der Plugin-Liste ist etwas unterschiedliches als ein Reset.

Wenn Sie WPML nur deaktivieren, beispielsweise mit einem Klick auf deaktivieren in der Plugins-Liste, und dann wieder aktivieren, passiert eigentlich gar nichts.

Das machen wir hier ständig und es ist neutral. Nach der Wiederaktivierung bleibt in der Regel alles genauso wie es war.

Wenn jetzt aber irgendwas auf der Seite nicht ganz ok ist, beispielsweise die https- oder Domaineinstellungen der Zweitsprache, was also mit dem Server zu tun hat, gibt es eventuell einen Fehler bei der Wiederaktivierung. In dem Fall wäre aber die Ausnahme, wenn es vor der Deaktivierung funktioniert hätte. Die gespeicherten Inhalte und Sprachinformationen sind aber dann genauso gespeichert wie zuvor.

Wenn auf der Seite gemischte Inhalte vorhanden sind, betrifft das entweder Admin-Texte oder den Content.

Könnten Sie mir ein paar Beispiele zeigen, wo diese Fehler auftreten?
Dann würde ich mir das ansehen. Wenn es Content betrifft, kann das mit eine Konfiguration oder Arbeitsweise in WPML zusammenhängen.
Wenn es Admin-Texte betrifft, könnten hier eventuell die WordPress Sprachdateien durcheinander gekommen und fälschlicherweise übersetzt worden sein.

MfG
Cristina

September 28, 2018 um 3:34 pm #2774327

AndreasTanke1

Hi Cristina,
das passiert schon auf der Startseite.
Dort sind einige Inhalte von hidden link und einige von hidden link.
Ich hatte gerade noch einmal die englische Domain (in Sprachen) geändert und da haben sich diese Dateien auch geändert....

mfg

Andreas

September 28, 2018 um 5:06 pm #2774494

Cristina

Hallo Andreas,

ich habe erst nicht gesehen, was Sie meinen, aber beim zweiten Blick sehe ich ein Problem im Warenkorb oben links, wo in der englischen Version die Info im Mini-Cart verkehrt ist "Es befinden sich keine Produkte im Warenkorb."

Das ist irgendwie ein ständiges Problem mit manchen Themes und WooCommerce Germanized. Das müsste man debuggen, um zu sehen, ob es ein Prioritätsproblem ist, oder mit dem Theme zusammenhängt. Wenn ich da nicht weiterkomme, würde ich das an den 2nd Level eskalieren.

Ich habe abgesehen davon keine englischen Strings im deutschen Shop und keine deutsche im englischen Shop gesehen.

Auch bei der Startseite war das die einzige Stelle, wo etwas vertauscht ist. Wenn Sie noch mehr Inhalte sehen, leeren Sie bitte den Cache und testen Sie mit einem sauberen Browser oder im Incognito-Fenster.

Ich bin eventuell schon etwas betriebsblind, aber ich habe keine weiteren Verwechslungen gesehen.

MfG,
Cristina

September 28, 2018 um 5:23 pm #2774508

AndreasTanke1

Hi Cristina,
ne, ich meinte eigentlich, dass was man sieht, wenn man im Browser auf "untersuchen" klickt. dann gibt es im Tab "Netzwerkumgebung" oder auch "Network" eine Liste aller Dateien die für diese Seite geladen werden.
Dabei ist fast die Hälfte mit der englischen Domain...

mfg
Andreas

Oktober 1, 2018 um 1:46 pm #2778333

AndreasTanke1

... also ich denke mal, dieser Subdomain-Mischmasch sorgt auf alle Fälle für eine Verlangsamung.
Es scheint zwar bekannt zu sein, dass Woocommerce nicht unbedingt rasend schnell ist und WPML wohl auch nicht, aber in diesem Fall erscheint es mir unnötig langsam zu sein. Ich hoffe dass sich dies doch recht einfach verändern lässt.
Ich bin gerade an verschiedenen Stellen dabei den Shop zu bereinigen und hoffe, dadurch die Geschwindigkeit optimiert zu bekommen.
Woran kann es denn liegen, dass nun beide Domains auf der Deutschen abgerufen werden?

mfg

Andreas

Oktober 1, 2018 um 2:30 pm #2778464

AndreasTanke1

vielleicht kannst Du das Ticket ja auch zur Deeskalation gemäß Eurer Richtlinien weiterleiten zum Geschwindigkeitscheck?

Oktober 2, 2018 um 8:36 am #2780690

AndreasTanke1

Hi Cristina,
schon irgendwelche Resultate?

mfg

Andreas

Oktober 2, 2018 um 9:06 am #2780769

Cristina

Hallo Andreas,

aktuell werden fast alle Contents vom Disk Cache geladen.
Wenn man ohne Cache analysiert, gibt es eine Verzögerung bei den Ajax-Fragmente im WooCommerce und bei der DNS-Verbindung.

Wenn man die englische Seite aufruft, sollten die geladenen Dateien auch zu der englischen Domain gehören, sonst gibt es eine Browserfehler bei https. Das passiert zb. mit den Fonts von der deutschen Domain, was diese erwähnten Content Policy Warnungen erzeugt.

Was den Abruf von JS-Dateien und CSS betrifft: Es ist ja die gleiche WordPress-Installation.

Nicht duplizierte Bilder sind in der deutschen Domain erfasst, weil das die Domain für die WordPress Installation ist. Die englische Domain / Subdomain ist ebenfalls Teil der gleichen Installation, so dass auch alle Themes-und Plugin-Scripte den gleichen Installationspfad haben werden. Das ist aber normalerweise kein Grund für eine Verlangsamung der zweiten Sprachversion.

Ich habe die Seiten jetzt über mehrere Tools laufen lassen, die Ergebnisse sind ok für WordPress-Seiten für die englische und auch die deutsche Version:

hidden link

Für die deutsche gibt es einen Flag bei einem Hintergrundbild:
hidden link

Bei Pingdom wird ein etwas langsamer Aufruf der DNS erfasst, was aber eher mit dem Server zu tun hat als mit dem WordPress:

Deutsche Seite: hidden link
Englische Seite: hidden link

Was nicht ok angezeigt wird, sind die Ergebnisse im Google Pagespeed Insights.

Hier kann es aber auch z.b. am Chrome-Browser liegen, wenn etwas anders ausfällt, weil der Chromebrowser nicht nur ziemlich invasiv ist (wenn man z.B. eingeloggt ist), sondern auch ab und an selbst Probleme mit DNS-Abrufen hat.

In den Tests werden die Ajax-Fragmente von WooCommerce mit einer längeren Wartezeit angezeigt. Das kann mit der Sprache zusammenhängen (wenn die Seite mehrmals Strings für den Warenkorb hin- und her lädt und diese im Cache gelandet sind.

Eventuell könnte es helfen, dieses kleine Helferlein einzusetzen, um die Ajax-Fragmente im Warenkorb nicht zu laden: hidden link

Ich würde die Geschwindigkeit und Ladezeiten der Seite auf jeden Fall mit externen Tools und unabhängigen Browsern testen, um ein realistisches Bild zu gewinnen, denn vom eigenen Browser aus sind die Ergebnisse fast immer verfälscht und entsprechen nicht unbedingt dem, was ein Nutzer sieht.

Ich kann die Seite auf einem virtuellen Host nachbilden, auch mit zwei Domains, und dann schauen, wie die Performance aussieht. Das wird aber in einer Testinstallation eventuell nicht gleich sein, wie auf Ihrem Server.

Um zu testen, in wie weit man mit WPML auf Ihrem Server etwas verbessern / optimieren kann, müssten Sie wie hier beschrieben vorgehen:
https://wpml.org/de/faq/so-loesen-sie-leistungsprobleme/

Wenn Debug Objects installieren, können wir die Ergebnisse analysieren und ich würde das dann an den 2nd Level leiten.

MfG,
Cristina

Das Thema „[Geschlossen] WPML Woccommerce langsam“ ist für neue Antworten geschlossen.