Лучшее, что вы можете сделать, это предоставить как url_key, так и url_path. У нас была такая же проблема. Это происходит, если вы не полностью загрузили продукт, а затем сохранили его. Magento думает, что вы не предоставили url_key, и он сгенерирует какой-нибудь для вас.
Чтобы отключить эту функцию, обязательно полностью загрузите продукт и / или всегда указывайте ключ url_ *. 1003 *
Второе, что вы можете сделать, это установить скрытый переключатель при сохранении продукта:
$product->setData('save_rewrites_history');
Это создаст 301 для вашего старого url_key, и вы их вообще не потеряете.