ปลั๊กอินและธีมบางตัวอาศัยข้อมูลเซสชันในการทำงาน เมื่อสลับภาษา ข้อมูลเซสชันจะหายไป และผู้เข้าชมอาจไม่เห็นสินค้าของตนในตะกร้าสินค้าอีกต่อไป WPML มีกลไกในการซิงโครไนซ์ข้อมูลเซสชันนี้ระหว่างโดเมนและภาษา
ในหน้า WPML → การตั้งค่า → URL และ SEO → โดเมนที่แตกต่างกันในแต่ละภาษา ภายใต้ส่วน รูปแบบ URL ภาษา คุณจะพบตัวเลือก Pass session arguments between domains through the language switcher ซึ่งจะทำหน้าที่ซิงโครไนซ์ข้อมูลเซสชันนี้ระหว่างโดเมนและภาษา

เหตุใด WPML จึงต้องซิงโครไนซ์ข้อมูลเซสชันระหว่างภาษาในโดเมน
เบราว์เซอร์จะเก็บข้อมูลไว้ในสิ่งที่เรียกว่าคุกกี้หรือเซสชัน เมื่อคุณไปยังไซต์ที่ควรจะ 'รู้จักคุณ' ไซต์นั้นจะแสดงเนื้อหาที่ปรับให้เหมาะกับคุณโดยเฉพาะ คุณสามารถเห็นสิ่งนี้ได้ในไซต์อีคอมเมิร์ซและไซต์สมาชิกหลายแห่ง เบราว์เซอร์จะเก็บข้อมูลบางอย่างเกี่ยวกับตัวคุณไว้ในพื้นที่จัดเก็บและส่งไปยังเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะใช้ข้อมูลนี้เพื่อดำเนินการเซสชันการท่องเว็บก่อนหน้าของคุณต่อไป
เบราว์เซอร์ต้องแยกข้อมูลเซสชันนี้ระหว่างไซต์ต่าง ๆ อย่างเคร่งครัด ข้อมูลเซสชันบางส่วนที่จัดเก็บไว้ในเบราว์เซอร์ของคุณรวมถึงรายละเอียดการเข้าสู่ระบบหรือข้อมูลการชำระเงิน เห็นได้ชัดว่าคุณคงไม่ต้องการให้รายละเอียดการชำระเงินของคุณบน Amazon ถูกแชร์กับไซต์อื่นที่ไม่ใช่ amazon.com
WPML อนุญาตให้ไซต์แสดงผลภาษาจากโดเมนที่แตกต่างกันได้ เนื่องจากเบราว์เซอร์ไม่ทราบว่าจริง ๆ แล้วเป็นไซต์เดียวกัน เบราว์เซอร์จึงทำการแยกข้อมูลเซสชันระหว่างภาษาอย่างถูกต้อง ดังนั้น WPML จึงรวมกลไกของตนเองที่ส่งผ่านข้อมูลเซสชันระหว่างภาษาเข้าไว้ด้วย ไม่ต้องกังวลไป กลไกนี้จะส่งผ่านข้อมูลเซสชันระหว่างโดเมนที่ WPML ให้บริการเท่านั้น ด้วยวิธีนี้ ผู้เข้าชมของคุณจะสามารถสลับภาษาและเพลิดเพลินไปกับพื้นที่จัดเก็บข้อมูลเบราว์เซอร์ที่ต่อเนื่องได้
WPML ซิงโครไนซ์ข้อมูลเซสชันระหว่างภาษาในโดเมนที่แตกต่างกันอย่างไร
เมื่อคุณกำหนดค่า WPML ให้ใช้ภาษาในโดเมน WPML จะทราบว่าจำเป็นต้องซิงโครไนซ์ข้อมูลเซสชันระหว่างภาษา เราได้สร้างฟิลเตอร์ใน WPML ที่เรียกว่า wpml_cross_domain_language_data ฟิลเตอร์นี้ช่วยให้ปลั๊กอินและธีมสามารถส่งผ่านข้อมูลที่จำเป็นระหว่างโดเมนได้
WPML Multilingual & Multicurrency for WooCommerce ของเราใช้ฟิลเตอร์นี้เพื่อส่งผ่านคุกกี้ของตะกร้าสินค้า
ดังนั้น เมื่อคุณใช้ภาษาในโดเมนและมีคุกกี้ที่ต้องซิงโครไนซ์เมื่อสลับภาษา คุณจะเห็นอาร์กิวเมนต์ต่อท้าย URL ของตัวสลับภาษา
ซึ่งจะมีลักษณะดังนี้:
sample.es?xdomain_data=LONG_STRING
อาร์กิวเมนต์ xdomain_data 'สุดวิเศษ' นี้จะรวมข้อมูลเพื่อตั้งค่าคุกกี้หลังจากสลับภาษา
อาร์กิวเมนต์ xdomain_data ทำให้เกิดปัญหาด้าน SEO หรือไม่
ไม่เลย WPML จะเพิ่มอาร์กิวเมนต์ xdomain_data โดยใช้ Javascript ในเบราว์เซอร์ (จำได้ไหมว่าเรากำลังเข้ารหัสคุกกี้จากเบราว์เซอร์)
ผู้เดียวที่จะเห็นอาร์กิวเมนต์นี้คือผู้ใช้ที่มีคุกกี้ ข้อมูลดังกล่าวจะไม่มีอยู่ในหน้าที่แสดงผลจาก WordPress แต่จะถูกเพิ่มในภายหลังในฝั่งผู้ใช้ ข้อมูลจะไปถึงเว็บเซิร์ฟเวอร์เฉพาะเมื่อมีการสลับภาษาเท่านั้น (และเมื่อจำเป็นต้องใช้ข้อมูลนั้นจริง ๆ)
คุณจะไม่มีวันเห็น URL ที่มี xdomain_data ในไซต์แมป XML หรือในหน้าที่ถูกจัดทำดัชนีของคุณ Google จะไม่เห็นอาร์กิวเมนต์เหล่านี้ในซอร์สโค้ดของหน้าเว็บ แต่คุณจะเห็น xdomain_data ใน Google Analytics (ในบางครั้ง) เนื่องจากสิ่งเหล่านี้คือลิงก์จริงที่ผู้เข้าชมคลิก ซึ่งถือเป็นเรื่องปกติและไม่มีผลเสียใด ๆ ต่อ Google หรือ SEO
กลไกนี้จะทำงานร่วมกับตัวสลับภาษาแบบกำหนดเองของฉันได้หรือไม่
หากคุณสร้างตัวสลับภาษาแบบกำหนดเองโดยใช้ API ตัวสลับภาษาของ WPML กลไกนี้จะสามารถทำงานได้ เนื่องจากข้อมูลถูกเพิ่มโดยใช้ JS ตราบใดที่ JS ของเรารู้จัก URL ของตัวสลับภาษา ก็จะเพิ่มอาร์กิวเมนต์ที่จำเป็นลงไป