Let’s start this post off by clearing up a few canonical misconceptions. A canonical tag is a band-aid for when a single URL cannot be used for variations of duplication (or near duplicate) content – think faceted navigation or content hosted across several sites. Canonical tags are also not be used as a substitute 301 redirect. With that said, let’s continue!
Why/When To Use Canonical Tags?
Google identified five situations in which a user may want to leverage the canonical tag within their website.
- To specify which URL that you want people to see in search results.
- To consolidate link signals for similar or duplicate pages
- To simplify tracking metrics for a single product/topic.
- To manage syndicated content.
- To avoid spending crawling time on duplicate pages.
Each of these reasons is more than enough justification to implement the canonical tag. What Google doesn’t tell you are the many ways that a canonical tag can (and often is) implemented that causes them to ignore the tag altogether.
Common Canonical Tag Errors
Mixing a canonical tag with a noindex tag
The noindex tag is a directive to search engines to not include a URL within its index. A canonical tag is a hint to engines that this page is duplicative, should not be indexed BUT its value should be passed to another URL.
<link rel="canonical" href="https://nickleroy.com/blog/canonical-errors/"/>
In this situation, a “directive” is prioritized over a “hint” to the search engines resulting in the canonical tag being ignored completely.
Canonicalizing URLs in rel=next/prev pagination
If a canonical tag passes value from a duplicate URL to its original URL why wouldn’t someone canonicalize URL 1,2,3 in a pagination series to the base URL? In this situation, Google implicitly states that rel=next/prev will hint to the crawler how to crawl the full set of paginated URLs.
<link rel="canonical" href="https://nickleroy.com/article-part2"/>
<link rel="next" href="https://nickleroy.com/article-part3" />
<link rel="next" href="https://nickleroy.com/article" />
Implementing a non-self referencing canonical tag and rel=next/prev is extremely common and even Google reserves the right to ignore the implementation and use their best judgment. However, It’s our jobs as SEOs not rely on engines to assume anything. Make sure your canonical tags are implemented correctly.
Canonical Tags Outside of the Head
To ensure search engines honor your canonical tags it needs to be implemented within the the <head> of your page.
<title>Nick LeRoy - #SEOForLunch Newsletter Author</title>
<link rel="canonical" href="https://nickleroy.com/" />
It’s not uncommon to see users try to implement a canonical through a CMS and the canonical value ends up published within the body of the content. Sure, your users can’t see it but for all intensive purposes, neither can search engines. Makes sure your canonical tags are always found in the <head> of your page.
Commit to Absolute or Relative URLs in Your Canonical Tag
Canonical tags can be used with both relative and absolute URLs. However, another common mistake occurs when a URL is assigned without a proper protocol. For example, notice the missing “https://” below:
<link rel="canonical" href="nickleroy.com/blog/canonical-errors/" />
The correct way to implement a canonical tag for the example above would look like the following:
<link rel="canonical" href="https://nickleroy.com/canonical-errors/" />
<link rel="canonical" href="/blog/canonical-errors/" />
An Easy Way To Identify Issues With Canonical Tags
You can identify any of the above issues by looking at a websites source code. However, I recently launched a Chrome SEO extension that will do all the hard work for you. By downloading Inspect Canonical this extension will tell you if any of the above issues occur on a given URL. You can read the official launch post for Inspect Canonical here.
Never risk an improperly configured canonical tag again. This plugin is completely free for anyone to use and is an absolute must-have in my personal SEO auditing suite of tools.