Hi,
So when you use sh404SEF and canonical URLs you need to be extra careful :
1. If you clear the cache of the URLs of sh404SEF, the canonical URLs in HikaShop won't be valid anymore and you need to clear the canonical URLs in your products.
2. You can't directly write the canonical URL you want in your products. You need that sh404SEF first registers once the canonical URL you want in its URLs listing to be able to then set it as canonical URL in HikaShop, otherwise, the URL might not work.
3. Just setting the canonical URL in your product won't make it so that other URLs won't be generated for the product. What it does is that it tells search engines that this is the main URL of the product page, regardless of all the other URLs (and thus avoid the "duplicate content" SEO errors). If you want to stop sh404SEF and/or the Joomla sef system to generate other URLs, you also need to activate the "force canonical URLs on listings" setting of the HikaShop configuration. That way, HikaShop will always use that URL on product listings.
4. But even if you do that, if you use a third party products listing module/plugin/extension which doesn't support the canonical URL system, you might end up with other URLs being generated for your product pages (even though it won't affect your seo), and in that case, you need to check with the developer of that module/plugin/extension if you're missing something in the settings of that module/plugin/extension or if they need to change something in their code to support it.