Tengo un problema/duda parecida.
En mi caso, los productos tienen una URL diferentes dependiendo de la catagoría desde la que accedes.
Para el mismo producto, existen:
dominio.com/producto
dominio.com/categoria/producto
dominio.com/categoria/subcategoria/producto
Me dice mi programador que tranquilo, que está con la canonical.
Puedo comprobarlo? No debería redirigir de una URL a otra cuando está con la canonical?
En nuestro caso tras mucho investigar el problema era el siguiente: Pese a que le indicaba a Magento que las urls de los productos tenían que ser dominio/nombre-del-producto.html Magento en algunos de ellos construía las Urls como dominio/categoria/nombre-de-producto.html y si el producto estaba en varias categorías una vez ponía una categoría en la url , otra vez otra ... incluso los breadcrumbs de las páginas del producto las mostraba mal.
El problema era que tras migrar de Magento 1.9 a 2.2 había urls de productos que estaban mal y daba igual que se reindexara porque había varios 301 que daban error.
Lo que hice fue eliminar cada 301 erroneo y utilizar una herramienta para reindexar cada categoria y cada producto y ahora si los muestra bien.
Además desde que solucionamos ese error las visitas via Seo se han incrementado casi en un 30% de un día para otro.
Yo te recomendaría que tus productos fuesen dominio/nombre.hmtl y ver si alguno de ellos no se está mostrando así, si te sucede esto te toca reindexarlos todos.
Si quieres dime tu página y le pego un vistazo.