WPML

Algunos plugins y temas dependen de la información de la sesión para su funcionamiento. Al cambiar de idioma, la información de la sesión se pierde y es posible que los visitantes ya no vean sus productos en el carrito. WPML proporciona un mecanismo para sincronizar estos datos de sesión entre dominios e idiomas.


En la página WPMLConfiguraciónURL y SEOUn dominio diferente por idioma, en la sección Formato de URL de idioma, puede encontrar la opción Pasar argumentos de sesión entre dominios a través del selector de idiomas. Esta sincroniza estos datos de sesión entre dominios e idiomas.

La opción «Pasar argumentos de sesión entre dominios a través del selector de idiomas».
La opción «Pasar argumentos de sesión entre dominios a través del selector de idiomas».

Por qué WPML necesita sincronizar los datos de sesión entre idiomas en dominios


Los navegadores guardan información en lo que se denomina cookies o sesiones. Cuando visita un sitio que se supone que debe «conocerle», el sitio mostrará contenido personalizado. Puede ver esto en muchos sitios de comercio electrónico y de membresía. El navegador guarda cierta información sobre usted en su almacenamiento y la envía al servidor. El servidor utiliza esta información para continuar su sesión de navegación anterior.

Los navegadores deben mantener un aislamiento estricto para esta información de sesión entre diferentes sitios. Parte de la información de sesión almacenada en su navegador incluye detalles de inicio de sesión o información de pago. Obviamente, usted no quiere que sus datos de pago en Amazon se compartan con otros sitios que no sean amazon.com.

WPML permite a los sitios ofrecer idiomas desde diferentes dominios. Como los navegadores no saben que en realidad se trata del mismo sitio, hacen lo correcto al aislar la información de sesión entre idiomas. Por lo tanto, WPML incluye su propio mecanismo que pasa la información de sesión entre idiomas. No se preocupe. Este mecanismo solo pasa información de sesión entre los dominios que sirve WPML. De esta manera, sus visitantes pueden cambiar de idioma y disfrutar de un almacenamiento persistente en el navegador.

Cómo sincroniza WPML los datos de sesión entre idiomas en diferentes dominios


Cuando configura WPML para usar idiomas en dominios, WPML sabe que necesita sincronizar la información de sesión entre idiomas. Hemos creado un filtro en WPML llamado wpml_cross_domain_language_data. Este filtro permite a los plugins y temas pasar la información necesaria entre dominios.

Nuestro WPML Multilingual & Multicurrency for WooCommerce utiliza este filtro para pasar la cookie del carrito.

Por lo tanto, cuando utiliza idiomas en dominios y hay cookies que necesitan sincronizarse al cambiar de idioma, verá argumentos añadidos a las URL del selector de idiomas.

Se verá así:

sample.es?xdomain_data=LONG_STRING

Este argumento «mágico» xdomain_data incluye la información para configurar la cookie después de cambiar de idioma.

¿Causa problemas de SEO el argumento xdomain_data?


En absoluto. WPML añade el argumento xdomain_data utilizando Javascript en el navegador (¿recuerda que estamos codificando cookies desde el navegador?).

El único que ve este argumento es el usuario que tiene las cookies. Esa información no está disponible en la página que se renderiza desde WordPress. Se añade más tarde, en el lado del usuario. La información llegará al servidor web solo al cambiar de idioma (y cuando la información sea realmente necesaria).

Nunca verá URL con xdomain_data en su sitemap o en páginas indexadas. Google nunca ve estos argumentos en el código fuente de la página. SÍ verá el xdomain_data en Google Analytics (a veces) porque se trata de enlaces reales en los que hacen clic los visitantes. Esto es normal y no tiene ninguna consecuencia negativa para Google ni para el SEO.

¿Funcionará este mecanismo con mi selector de idiomas personalizado?


Si crea su selector de idiomas personalizado utilizando la API del selector de idiomas de WPML, funcionará. Dado que la información se añade mediante JS, siempre que nuestro JS reconozca las URL del selector de idiomas, les añadirá el argumento necesario.

Escrito por Amir · Última actualización 25 de agosto de 2020