Several sites that I have come across, including Stackoverflow, perform a 301 redirect when given an incorrect slug. For example:http://webmasters.stackexchange.com/questions/9/incorrect-slugwill be redirected permanently to:http://webmasters.stackexchange.com/questions/9/who-is-a-great-domain-registrar-companyBut since assuming that the canonical URL is already specified, wouldn't the search engine point to the correct URL? What is the rationale for doing a redirect if the a page does not require the slug to parse correctly?Further, is it a prerequisite to have at least a link pointing to the canonical URL in order for the page to be ranked? Will Google add search result to the canonical URL http://mysite.com/user/1/joe if all my links point to http://mysite.com/user/1?
Why do sites redirect to the canonical URL if it can parse a page correctly given any slug?
seo;301 redirect;canonical url
As you know, in Stack Exchange, edits can be made to the title. By this reason, for a single question, there can be generated as many URLs as titles had the question. Those older edited titles generate obsolete URLs that shouldn't exist and should 301 redirect to the fresh updated one.301 redirect is better than rel=canonical, because you're avoiding Google from indexing crawling infinite pages (as you have infinite possible slugs) with the same content, all of them pointing to the same canonical.rel=canonical is better used for URLs that should exist, like URLs with parameters that generate the same content between them (i.e. in-site searches, URLs with tracking parameters), but that should not be redirected.About your last two questions, in your case rel=canonical will work fine because all generated links point to pages with the exact same content and Google finds it easy to associate them and not index the duplicated ones.But you can't tell a search engine to point to the URL that you consider the best, Google may index both the canonical and the non-canonical if it considers that good for SERPs.