A 301 redirect instructs the Google bots and forwards the visitors from one URL to another. Whereas the Canonical Tag suggests that a page or the URL has multiple versions. The difference here is that a canonical tag ensures that only the original page is indexed by the search engine.