Einige Plugins und Themes sind für ihre Funktionalität auf Sitzungsinformationen angewiesen. Wenn beim Wechseln der Sprachen die Sitzungsinformationen verloren gehen, sehen Besucher ihre Produkte möglicherweise nicht mehr im Warenkorb. WPML bietet einen Mechanismus, um diese Sitzungsdaten zwischen Domains und Sprachen zu synchronisieren.
Auf der Seite WPML → Einstellungen → URLs und SEO → Eine andere Domain pro Sprache finden Sie im Abschnitt Sprach-URL-Format die Option Sitzungsargumente zwischen Domains über den Sprachumschalter übergeben. Diese synchronisiert diese Sitzungsdaten zwischen Domains und Sprachen.

Warum WPML Sitzungsdaten zwischen Sprachen in Domains synchronisieren muss
Browser speichern Informationen in sogenannten Cookies oder Sitzungen. Wenn Sie eine Website besuchen, die Sie „kennen“ soll, zeigt diese Website personalisierte Inhalte an. Dies sehen Sie auf vielen E-Commerce- und Mitglieder-Websites. Der Browser speichert einige Informationen über Sie in seinem Speicher und sendet sie an den Server. Der Server nutzt diese Informationen, um Ihre vorherige Browsersitzung fortzusetzen.
Browser müssen eine strikte Isolation dieser Sitzungsinformationen zwischen verschiedenen Websites aufrechterhalten. Zu den in Ihrem Browser gespeicherten Sitzungsinformationen gehören unter anderem Anmeldedaten oder Zahlungsinformationen. Offensichtlich möchten Sie nicht, dass Ihre Zahlungsdaten auf Amazon mit anderen Websites geteilt werden, die nicht amazon.com sind.
WPML ermöglicht es Websites, Sprachen über verschiedene Domains bereitzustellen. Da Browser nicht wissen, dass es sich tatsächlich um dieselbe Website handelt, handeln die Browser richtig, indem sie die Sitzungsinformationen zwischen den Sprachen isolieren. Daher enthält WPML einen eigenen Mechanismus, der Sitzungsinformationen zwischen Sprachen übergibt. Keine Sorge: Dieser Mechanismus übergibt Sitzungsinformationen nur zwischen Domains, die von WPML bedient werden. Auf diese Weise können Ihre Besucher die Sprachen wechseln und von einem dauerhaften Browser-Speicher profitieren.
Wie WPML Sitzungsdaten zwischen Sprachen in verschiedenen Domains synchronisiert
Wenn Sie WPML so konfigurieren, dass Sprachen in Domains verwendet werden, weiß WPML, dass es Sitzungsinformationen zwischen den Sprachen synchronisieren muss. Wir haben in WPML einen Filter namens wpml_cross_domain_language_data erstellt. Dieser Filter ermöglicht es Plugins und Themes, notwendige Informationen zwischen Domains zu übergeben.
Unser WPML Multilingual & Multicurrency for WooCommerce verwendet diesen Filter, um das Warenkorb-Cookie zu übergeben.
Wenn Sie also Sprachen in Domains verwenden und es Cookies gibt, die beim Wechseln der Sprachen synchronisiert werden müssen, sehen Sie Argumente, die an die URLs des Sprachumschalters angehängt sind.
Das sieht so aus:
sample.es?xdomain_data=LONG_STRING
Dieses „magische“ Argument xdomain_data enthält die Informationen, um das Cookie nach dem Wechseln der Sprachen zu setzen.
Verursacht das Argument xdomain_data SEO-Probleme?
Ganz und gar nicht. WPML fügt das Argument xdomain_data mithilfe von JavaScript im Browser hinzu (denken Sie daran, dass wir Cookies aus dem Browser kodieren).
Der Einzige, der dieses Argument sieht, ist der Benutzer, der die Cookies hat. Diese Information ist auf der von WordPress gerenderten Seite nicht verfügbar. Sie wird später auf der Benutzerseite hinzugefügt. Die Information gelangt nur dann an den Webserver, wenn die Sprachen gewechselt werden (und die Information tatsächlich benötigt wird).
Sie werden URLs mit xdomain_data niemals in Ihrer Sitemap oder in indexierten Seiten sehen. Google sieht diese Argumente niemals im Seitenquelltext. Sie WERDEN xdomain_data (manchmal) in Google Analytics sehen, da es sich um tatsächliche Links handelt, auf die Besucher klicken. Das ist in Ordnung und hat keine negativen Konsequenzen für Google oder SEO.
Funktioniert dieser Mechanismus mit meinem benutzerdefinierten Sprachumschalter?
Wenn Sie Ihren benutzerdefinierten Sprachumschalter mithilfe der Sprachumschalter-API von WPML erstellen, wird es funktionieren. Da die Informationen mithilfe von JS hinzugefügt werden, fügt unser JS den URLs des Sprachumschalters das erforderliche Argument hinzu, solange es diese URLs erkennt.