What is a Canonical tag?
A canonical tag is an HTML tag used to show the search engines that similar URLs are actually the very same page. The canonical tag is then added to pages using a link element in the HEAD of the HTML document.
If two URLs contain the same canonical tag. This indicates to search engines to index the pages as a single entry.
For example, take the following URLs:
Technically, these are the same exact place. It means that they all pull up our KB home page despite having different URLs. To Google and other search engines, these all would be indexed and crawled as individual pages, even though they’re all the same exact content.
Enter the Canonical tag!
Exactly what does a Canonical tag do?
Using the canonical tag, we can show to search engines that all these different URLs serve the same resources or page. Continuing with our example the canonical page used would look like:
With this Meta tag included in our documents HEAD, then we should see all of the example URLs indexing as the same page.
Why should I use Canonical tags?
You should use canonical tags whenever serving the same content from multiple URLs. The affected URL variations include changes to protocol (http vs https), query parameters, and (of course) URL structure. Implementing Canonical tags is especially useful when serving the same content over various URLs. Usually, we call it the “Duplicate Content” problem when looking into a website’s SEO performance.
Additionally, in the case of URLs with query parameters, it helps ensure that search engines only index a page with the “cleanest” form of the page’s URL. This helps to prevent indexing the pages with query parameters separately from your main page.
To 301 redirect, or to Canonical; that is the question.
If you are familiar with the SEO topic, you will understand how important it can be to redirect your URLs properly. So you might be wondering, “Why not just redirect these pages?”. That’s a great question! If you ever have the option you should always add a redirect. Think of canonical tags as a way of clearing up a potential ambiguity (if the same content is visible on two pages), whereas a 301 redirect removes any potential ambiguity. That said, basically, you should always aim to include Canonical tags. This is because they help cover URL variations based on query parameters as well.