Hola de nuevo,
Quería consultaros por un problema que llevo arrastrando desde hace meses con una tienda en WordPress + WooCommerce. Desde octubre más o menos, he estado viendo en Google Search Console que, aunque tengo bloqueadas ciertas URLs en el robots.txt, se siguen generando e indexando URLs parametrizadas de este tipo:
Son solo un ejemplo. La segunda, además, me desconcierta especialmente porque no tiene mucho sentido: es una paginación de un listado, no un producto.
Para intentar solucionar esto, y de paso optimizar el enlazado interno, he hecho varios cambios:
Actualmente, he hecho una prueba quitándoles el bloqueo en robots.txt y añadiendo la etiqueta noindex para intentar que Google las desindexe, pero esto no es una solución definitiva, ya que sigo viendo que se generan nuevas URLs parametrizadas todos los días.
El sitio tiene unas 1500 URLs válidas indexadas, pero estas URLs parametrizadas ya suman más de 1500, lo que claramente está afectando al presupuesto de rastreo y puede perjudicar el SEO.
¿Os ha pasado algo similar? ¿Sabéis por qué podrían seguir generándose estas URLs?
Agradezco mucho cualquier consejo o experiencia que podáis compartir.
Un saludo y gracias de antemano.
Contenido solo visible a usuarios registrados
Que tal María,
El comportamiento que nos comentas es totalmente normal y relacionado a las URL dinámicas que se generan al consultar acciones como añadir al carrito, a la lista de deseos o la paginación del listado de productos
Una posible solución que se puede contemplar es añadir parte de la ruta dinámica al archivo de robots.txt para que dichas URL que contienen esos parámetros no sean reconocidas por los motores de búsqueda, por ejemplo
Disallow: /?add-to-cart
Disallow: /*?add-to-cart
Disallow: /?add_to_wishlist
Disallow: /*?add_to_wishlist
Por otro lado el tema de la paginación es un poco mas complejo ya que la primera pagina de resultados si que es tomada en cuenta
Existen fragmentos de código como por ejemplo el siguiente pero solo ha sido probado bajo sitios web que utilizan Yoast SEO
add_filter('we_robots', 'yoast_no_noindex_paginacion', 999);
function yoast_no_noindex_paginacion($string= "") {
if (is_paged()) {
$string= "noindex,follow";
}
return $string;
}
Para usar este código debes incluirlo en el contenido del archivo funtions.php o preferiblemente usando el plugin de Code snippets
https://wordpress.org/plugins/code-snippets/
Vale la pena echarle un vistazo a las impresiones del propio plugin al respecto
https://yoast.com/pagination-seo-best-practices/
Echale un vistazo
Saludos!
Hola,
Muchas gracias por la respuesta.
Creo que quizá no me expliqué bien al plantear la consulta. Esos disallow han estado añadidos al archivo robots.txt durante más de un año. Sin embargo, desde octubre he visto que esas páginas parametrizadas han empezado a aparecer en el Search Console y se han indexado (pasando olímpicamente del disallow del robots).
Como comentaba, ahora mismo estoy haciendo una prueba y eliminé los disallow para permitir el rastreo y he implementado una etiqueta noindex en todas esas páginas parametrizadas con el objetivo de gestionar la desindexación.
Mi consulta, sin embargo, no va tanto sobre cómo tratar estas URLs en Google (que creo tener claro), sino sobre por qué WordPress o WooCommerce sigue generando estas URLs si hace meses ya realicé los siguientes cambios:
A pesar de estos cambios, estas URLs parametrizadas siguen apareciendo en Google Search Console a diario. De hecho están indexadas el doble de las URLs que envío al índice de Google.
Os confirmo también que no hay enlaces en el sitio a ese tipo de URLs.
¿Podría haber algún elemento residual en WordPress o WooCommerce que esté generando estas URLs automáticamente?
Gracias de nuevo por vuestra ayuda.
Un saludo.
Hola María.
Estas URLs son normales y necesarias para el funcionamiento de WooCommerce. Suele venir si en algún momento tenías botón que dirigiera directamente a la página de checkout de Woocommerce, o botones personalizados para la compra.
Puedes añadir lo siguiente en el archivo robots.txt para que no se indexen:
Disallow: /*?add-to-cart=
Ten en cuenta que esto no elimina las páginas que tengas indexadas sino que dejarán de indexar a partir del momento en el que lo añadas.
Desde Search Console -> Retirada de URLs podrás eliminarlas de la búsqueda:
Un saludo
Hola @pepesoler
Gracias por tu respuesta.
Como comentaba, ya tenía añadido el Disallow en el robots.txt, pero de un día para otro las URLs comenzaron a indexarse igualmente. Como se ha ido de madre, he optado por añadir una etiqueta noindex y quitar el Disallow, permitiendo así que Google pueda rastrearlas nuevamente, detectar el noindex y proceder a eliminarlas del índice.
Hasta donde sé, la funcionalidad de Retirada de URLs en Search Console solo permite eliminar URLs específicas o las que compartan un prefijo, pero creo que no es posible eliminar todas las que contienen /*?add-to-cart=. ¿Es correcto? Por ese motivo, y por razones obvias de operatividad, no me queda más remedio que facilitar el rastreo a Google para que detecte el noindex.
Lo que me trae de cabeza es por qué, después de tanto tiempo y con los plugins que generaban estas URLs eliminados hace meses, siguen generándose e indexándose nuevas URLs de este tipo cada día (pasando por completo del disallow del robots que tenía puesto), incluso cuando no hay ningún enlace que apunte a ellas.
¿Podría haber algún proceso interno en WooCommerce o en la configuración de WordPress que siga generándolas automáticamente? ¿Hay alguna forma de comprobarlo?
Gracias de nuevo por tu tiempo.
Un saludo.
Hola Maria.
pero creo que no es posible eliminar todas las que contienen /*?add-to-cart=. ¿Es correcto?
Correcto, tienes que eliminar la URL completa, por ejemplo:
Contenido solo visible a usuarios registrados
¿Podría haber algún proceso interno en WooCommerce o en la configuración de WordPress que siga generándolas automáticamente?
No no hay nada, es una URL normal de WooCommerce para añadir el producto al carrito.
La estructura ?add-to-cart=59115 corresponde a la acción que WooCommerce utiliza para añadir un producto al carrito.
59115
es el ID del producto en la base de datos de WordPress.Para que no se indexe a partir de ahora tienes que añadir la etiqueta Disallow: /*?add-to-cart= en el archivo robots.txt
Un Saludo