Hace poco me contactó un cliente para una consultoría online porque su tienda online había dejado de indexar en Google y estaba perdiendo TODAS sus ventas en cuestión de días, pasando de facturar varios miles de euros al día a facturar cero euros.
El problema de SEO
Como siempre en lo que se refiere a SEO, revisé primero el archivo robots.txt
y me encontré una línea así:
Disallow: /?v=*
Al revisar la Search Console de Google del sitio comprobé, como era lógico, que todas las URLs estaban bloqueadas por el archivo robots.txt, con lo que todo lo indexado previamente, ahora estaba desapareciendo a toda velocidad de los resultados de búsqueda de Google, y cuando antes tenían montones de productos como primer resultado orgánico, cada día estaban más hundidos en las SERP, con tendencia a desaparecer del todo.
Pregunté que por qué habían añadido esa línea y me dijeron que era porque desde siempre sus URLs terminaban con parámetros del tipo tienda.com/?v=a1234b56
o similares, totalmente aleatorios, y en un momento dado consideraron desindexar todas las URLs que terminasen así para no confundir a Google con parámetros de URL, siguiendo sus «directrices» al respecto.
El problema era que TODAS SUS URLS TENÍAN PARÁMETROS de ese tipo y, en consecuencia, desindexaron toda la web.
La solución, en principio, parecía sencilla: Quitar la línea del archivo robots.txt que estaba provocando el problema. Pero seguía la duda de por qué todas las URLs de la tienda online, creada con WordPress y WooCommerce, añadía esos parámetros sistemáticamente a todas las URLs del sitio.
En principio no habría un problema grave de SEO manteniendo los parámetros en las URLs, al menos no tan grave ni de lejos como el de desindexar toda la web, pero mejor si investigaba más el por qué se estaban añadiendo esos parámetros, y si se podían quitar sin problemas.
¿Por qué WooCommerce añade parámetros a las URLs?
Siempre tengo varias instalaciones de prueba, de WordPress, de WooCommerce, con Elementor, con Divi, con todo, para hacer pruebas y detectar problemas, y revisando las demos, encontré una de ellas que también añadía este tipo de parámetros a las URLs de la tienda online.
Y el caso es que no añadía los parámetros solo a las páginas de producto, los añadía a todas las URLs del sitio, sin excepciones.
Como siempre se debe de hacer en estos casos, desactivé todos los plugins menos WooCommerce y cambié a un tema por defecto de WordPress y el problema persistía, así que debía ser algo de WooCommerce.
El misterio debería estar en alguna configuración de WooCommerce y la única diferencia entre esta web de pruebas y el resto, en las que no pasaba, era el siguiente ajuste:
Esta configuración está en WooCommerce → Ajustes → General → Ubicación del cliente por defecto, y permite elegir entre varias opciones si tratar de identificar o no la ubicación del cliente que visita nuestra tienda antes de introducir su dirección al finalizar compra, y cómo hacerlo.
Esto es útil para, por ejemplo, mostrar a los clientes un cálculo de impuestos o de gastos de envío acorde con su país, aunque en realidad sería con la IP declarada por su navegador.
¿Debería geolocalizar a los clientes?
Personalmente nunca suelo recomendar la geolocalización, por varios motivos, pero principalmente porque no suele ser real, ya que la ubicación desde la que se conecta el cliente no tiene porqué coincidir con su dirección de facturación o residencia, entre otros posibles problemas.
Hace poco publiqué la solución a uno de estos problemas, en este artículo:
¿Por qué WooCommerce muestra un precio diferente al que yo introduzco en los productos?
Cómo quitar los parámetros añadidos al final de las URLs de WooCommerce
Dicho esto, comprobé que cambiando ese ajuste a cualquiera de las otras opciones (Sin ubicación por defecto, Dirección principal del negocio, Geolocalizar) desparecían los parámetros de las URLs.
Hecho esto, quedaba solucionado el problema y limpiadas las URLs, ahora ya sin parámetros aleatorios extraños.
¿Qué significan esos parámetros en las URLs? ¿qué hacen?
Por si te ha quedado la curiosidad de saber el por qué de que WooCommerce añada esos parámetros aleatorios al final de las URLs cuando eliges la opción de geolocalizar con compatibilidad con caché de página vamos a ver el motivo, totalmente lógico y razonable, dicho sea de paso.
La opción de geolocalizar a los clientes para mostrarles cálculos de impuestos y envíos antes de tener que introducir su dirección de facturación se introdujo en la versión 2.3 de WooCommerce, pero pronto se comprobó que esta opción no servía de nada cuando el sitio tenía activo algún sistema de caché de página, y casi todos los tienen, simplemente porque es conveniente, porque acelera la carga de la tienda online.
Pero resulta que en estos sitios con caché de página activa la geolocalización fallaba más que una escopeta de feria, porque no se actualizaban realmente las páginas en cada visita, sino que se mostraba la versión en caché, ofreciendo cálculos de impuestos y envío que no se adaptaban al cliente actual, sino al de la versión almacenada en la caché.
Así que en la versión 2.4 de WooCommerce se añadió esta configuración de geolocalización, pero ahora compatible con sitios que tuviesen activo algún sistema de caché de página.
El nuevo ajuste funcionaba así al activarse:
- Cuando un cliente visita una página del sitio, se lanza una llamada AJAX en segundo plano que geolocaliza a ese usuario vía AJAX y le devuelve su ubicación.
- La ubicación devuelta se compara con la ubicación conocida del usuario. Si la ubicación no se conoce todavía, o la ubicación ha cambiado, la página se redirige a sí misma con una cadena de consulta adicional. por ejemplo,
v=a123b456
Se trata de un parámetro basado en la ubicación del usuario. - El parámetro, como cualquier otro que empiece por
?
al final de una URL (un truco muy habitual para saltarse la caché de una página), provoca la invalidación de la caché: La nueva página (con la cadena de consulta) se almacenará en la caché por separado.
De este modo, si un cliente de España visita una página, obtendrá una cadena de consulta (parámetros) basada en España – sólo verá las versiones en caché de las páginas de otros clientes españoles. Esto soluciona el problema de la caché, sin necesidad de desactivarla por completo.
Lo negativo de esto es la petición AJAX extra por página, sin embargo, esto es necesario, pues sin esto no habría geolocalización en una página cacheada.
¿Debería dejar activos esos parámetros al final de las URLs?
Si, a pesar de lo que he comentado antes, sigues queriendo geolocalizar a tus clientes, o necesitas hacerlo por algún motivo, mi consejo es que uses el ajuste de «Geolocalizar (compatible con caché de página)» y asumas que se añadirán los parámetros mediante llamadas AJAX a tus URLs.
Es menos óptimo de cara a la velocidad de carga y optimización de recursos de las páginas de tu tienda online, pero al menos la – supuesta – geolocalización estará adaptada a tus visitantes, en vez de volverles locos con versiones almacenadas en caché de otros visitantes.
¿No es un problema de SEO dejar esos parámetros al final de las URLs?
Si usas WordPress, aunque no uses ningún plugin de SEO, no es ningún problema que se generen esos parámetros al final de las URLs porque WordPress declara automáticamente la URL canonical correcta, con lo que para los bots de los buscadores quedará siempre claro qué URL deben indexar: La canonical.
Otra cosa es la ralentización de la web, asociada a las llamadas AJAX que debe hacer WooCommerce para generar las cadenas de consulta, que al ralentizar tu tienda online puede tener un efecto adverso en la experiencia de los usuarios y, en consecuencia, en el SEO.
Como todo, la información la tienes, las decisiones quedan de tu parte 😉
La entrada ¿Por qué hay «?v=letrasynumeros» al final de las URLs de mi tienda WooCommerce? la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.
0 Commentaires