In the world of search engine optimization (SEO), things can get tricky quickly, even for someone who’s been working in the industry for more than two years. And this is no different for 301 and canonical redirects. While many think these function in the same way, they’re actually used for completely different purposes.

(Click on images to enlarge)

Let’s go into more depth of what they are and when you should use them:

What is a 301 redirect?

A 301 redirect is permanently moving one URL to another. With 301 redirects, 90 to 99% of the “link juice” is passed on to the new page. One thing to keep in mind with 301 redirects is that it can take time for the search engines to find, identify and attribute the old rankings and credibility to the 301’d page.

What is a rel= “canonical” attribute?

A rel= canonical attribute(tag) is telling the search engines that you have multiple pages with highly similar content, but that only one of the pages should be indexed. The rel= canonical tag tells the search engines that it’s the preferred version of the similar URLs.

When should I use a 301 redirect?

One of the most obvious and important times to use a 301 redirect is when you move your website to a new domain. Even if a visitor types in your old address, with a 301 redirect, they will automatically be taken to your new website. Another time you should set up 301 redirects is when you are moving or replacing your site’s pages. 301s are also a great way to remedy 404 errors, but ONLY if a relevant page or relevant content exists.

One common problem with 301 redirects is setting them up incorrectly. Many times, when a new website is created, all of the old pages get pointed to the homepage. This bad practice can result in high bounce rates, and more importantly, it undermines the intended goal of 301 redirects. Instead of redirecting numerous irrelevant pages from the old website to the new homepage, you’re better off letting them become soft 404 errors.

When should I use the rel= “canonical” attribute?

As opposed to using a 301 redirect, set up a rel= “canonical” attribute when your site has duplicate content, but you want to keep both pages live. A canonical is also a great option when you have two domains with similar content, but you want them both to remain live. And if you’re unable to implement a 301 redirect, a canonical is the second best option.

Unlike 301s, canonicals are considered a suggestion. While most of the major search engines do follow the suggestion of the rel= “canonical”, they aren’t required to. Some of your duplicate pages may continue to remain in the SERPs, and occasionally, these pages might even rank ahead of the preferred page.

Additional resources about 301 redirects and canonicalization: