Я не программист, и в этом плане дельных советов дать не смогу, в голову лезут только глупости по типу введения в БД какого то поля с полным адресом, которое формируется по кнопке или автоматически, но думаю это бред...
Зато по поводу полумер, есть тривиальная мысль:
Кстати ещё ссылки вида site.ru/tovar идут из раздела Рекомендуем внутри товара, этот раздел сносить и не заполнять так же опрометчиво, по этому в шаблоне лучше код вывода раздела ограничить тегами , кстати это по идее должно спасти и "хиты продаж" и "витрину" от индексации, для тех кому такая функция магазина очень полезна, но дубли плодить не хочется...
В принципе таким образом можно частично решить проблему, что касается поисковиков, закрыв в коде места появления этих ссылок noindex`ом и nofolow`ом ... единственно немогу понять, где поисковик находит ссылки вида site.ru/podkategoriya/tovar (если кто знает прошу написать) если найду отредактирую пост...
И чтобы всё в одном месте было, http://forum.opencart.com/viewtopic.php?f=56&t=11759 тут так же поднята эта проблема, есть способ решения приведения всех урлов к формату site.ru/tovar , кстати тема имеет некоее продолжение, где человек пишет как сохранить хлебные крошки (хотя с некоторыми "затыками"), но впринципе возможно в этом есть более или менее приемлемое решение!?