refactor: fix: canonical is always the parent variant; fix url stuff, url caching and url cleanup for products