Jan 10, 2024

How to Implement Canonical & Hreflang Tags Correctly?

Vaishnavi Ramkumar

Table of contents

Website owners and digital marketers often face multiple challenges and confusion while maintaining a website's SEO health.

One such often misunderstood area that requires a clear understanding is hreflang and canonical tags.

These small bits of HTML code play crucial roles in ensuring clean, efficient, and user-friendly browsing experiences.

While they might seem "another SEO task for dev folks," its functionality holds immense importance, especially when dealing with websites offering multilingual content or targeting audiences from different geographical locations.

So, read further to know everything about canonical and hreflang tags.

What are Hreflag tags?

Hreflang tags are HTML codes used to indicate the language and geographical target of a webpage. They help search engines understand which version of a webpage to display to users based on their language and location settings.

For example:

Let's say you have a website with content in English and Spanish, and you want to ensure that users searching in English see the English version of your page while users searching in Spanish see the Spanish version.

For these pages, implementing hreflang tags will look like the following:

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="alternate" href="https://www.example.com/en/page" hreflang="en">
<link rel="alternate" href="https://www.example.com/es/pagina" hreflang="es">

In this example:

  • The hreflang="en" attribute in the first <link> tag indicates that the linked page is the English version.
  • The hreflang="es" attribute in the second <link> tag indicates that the linked page is the Spanish version.
  • The 'rel' attribute defines the relationship between the current and linked documents.
  • The value 'alternate' indicates that the linked document is an alternative version of the current document.
  • The 'hreflang' attribute denotes the language (ISO 639 language codes) and the region (ISO 3166 country codes, optional) of the alternate URL.
  • The 'href' attribute specifies the URL of the alternate version

Search engines will use this information to serve the appropriate version of the page based on the user's language and location.

If a user in an English-speaking country searches for relevant content, the search engine will prioritize the English version of the page.

It's important to note that hreflang tags should be reciprocal. This means if page A links to page B with a specific hreflang value, page B should also link back to page A with the same hreflang value. This bidirectional linking helps search engines understand the relationship between the pages and ensures accurate language and regional targeting.

What are Canonical tags?

Canonical tags, also known as rel=“canonical,” are HTML elements used to indicate the preferred or canonical version of a webpage when there are different versions of similar content. 

When duplicate or highly similar content is spread across different URLs, the canonical tag specifies which URL should be indexed and considered the official or primary page. This helps avoid duplicate content issues as it guides the search engine to index only the preferred version.

For example:

If there is a blog that covers technology news and an article is published with the following URLs:

  1. Original Article URL:

URL: https://www.techblog.com/articles/latest-tech-trends

  1. Category Page URL:

URL: https://www.techblog.com/category/tech-trends/latest-tech-trends

  1. Date-based Archive URL:

URL: https://www.techblog.com/archive/2024/01/latest-tech-trends

In this scenario, the content of the article remains the same across all these URLs, but the blog uses different URL structures for organizational purposes. 

Search engines might treat these variations as separate pages, potentially diluting the SEO value of the original article.

To address this, a canonical tag can be added to each non-canonical version of the page, pointing to the preferred version:

<!-- Canonical Tag on Category Page -->

<link rel="canonical" href="https://www.techblog.com/articles/latest-tech-trends" />

<!-- Canonical Tag on Date-based Archive Page -->

<link rel="canonical" href="https://www.techblog.com/articles/latest-tech-trends" />

In this example, both the category page and date-based archive page include a canonical tag referencing the original article URL. 

This signals to search engines that the original article URL is the preferred version, helping consolidate ranking signals and avoid potential duplicate content issues.

By using canonical tags in scenarios like this, the blog ensures that search engines understand the relationship between different URLs and prioritize the preferred version, maintaining the integrity of the site's SEO and improving the user experience.

In the case of e-commerce, let's say you have an e-commerce website selling a popular product in different colors. Each color variant has its own dedicated product page, but the product description and specifications remain the same across all variants.

  1. Original Product Page:

URL: https://www.example.com/products/product-xyz

  1. Color Variants:

Blue Variant: https://www.example.com/products/product-xyz-blue

Red Variant: https://www.example.com/products/product-xyz-red

Green Variant: https://www.example.com/products/product-xyz-green

In this case, the content (product description, specifications, etc.) on the color variant pages is nearly identical to the original product page. However, search engines might treat each variant as a separate page, potentially causing duplicate content issues.

To address this, a canonical tag can be added to each color variant page to indicate the preferred canonical page:

<!-- Canonical Tag on Blue Variant Page -->

<link rel="canonical" href="https://www.example.com/products/product-xyz" />

<!-- Canonical Tag on Red Variant Page -->

<link rel="canonical" href="https://www.example.com/products/product-xyz" />

<!-- Canonical Tag on Green Variant Page -->

<link rel="canonical" href="https://www.example.com/products/product-xyz" />

In this example, all color variant pages reference the original product page as the canonical version. This signals to search engines that, despite having multiple URLs, the preferred and authoritative source of information is the original product page. 

As a result, search engines are more likely to consolidate the ranking signals for the canonical link, reducing the risk of SEO problems associated with duplicate content.

By using canonical tags appropriately, website owners can manage duplicate content scenarios and ensure that search engines index and rank the most relevant and preferred version of a page.

Canonical vs. hreflang tags

While both canonical and hreflang tags guide search engines on indexing and ranking, they work towards different goals.

Canonical tags are used to indicate the preferred version of a web page when there are multiple versions with similar content. They help search engines understand which page to index and rank. Whereas Hreflang tags are used to signal to search engines the language and regional targeting of a webpage, ensuring that the right version is served to users based on their location and language preference

What is the Major Difference between Canonical vs. hreflang tags?

The language and content duplication factor differentiates both canonical and hreflang tags.

For example:

A website may have separate pages for British English and American English versions. Although the content would be remarkably similar, these are not duplicate pages but regional language variations catered to different audiences.

In such situations, hreflang tags are used to denote the various language versions, which informs search engines to index both versions and serve the correct one to users based on the set location and language.

Content duplication occurs when identical content is found on multiple URLs within the same language and region. Canonical tags come to the rescue here, signaling to search engines which version to index and disregard potential duplicates.

When to Use Hreflang and Canonical Tags?

When to use hreflang tags?

When to use canonical tags?

Hreflang tags should be used in situations where a website has multiple language versions or targets different regional audiences.

Canonical tags should be used when a website has duplicate or highly similar content existing under different URLs.

They signal search engines to display the appropriate version of a website depending on the user's language and location settings.

This usually occurs in e-commerce sites where product sorting options or tracking parameters might spawn multiple URLs with identical content.

Websites that cater to international users and offer geo-targeted, multilingual content will greatly benefit from correctly implementing hreflang tags.

Canonical tags help signal to search engines which URL should be taken as the official version amongst the duplicates to prevent potential indexing conflicts and enhance SEO efficacy.

Best Practices for Implementing Hreflang Tags

Take note of these 3 core best practices to avoid common mistakes while adding Hreflang tags to your website.

  1. Proper Language and Region Codes:

Ensure that you use the correct language and region codes. For example, "en" for English, "es" for Spanish, "fr" for French, and "en-US" for English in the United States. Each page should include a specific hreflang tag for every language version available, including itself

  1. Correct Format:

Use the correct format for hreflang tags. The syntax is typically in the form of <link rel="alternate" hreflang="xx-XX" href="https://example.com/page" />. This helps cement the relationship between pages for search engine understanding.

  1. Self-Referencing Tags:

Include a self-referencing hreflang tag to specify the default language of the page. For example, <link rel="alternate" hreflang="x-default" href="https://example.com/default-page" />.

  1. Handling Internationalized Content:

Include hreflang tags for all language and regional versions of your content. This helps search engines understand the complete set of alternatives available for users.

  1. Bi-Directional Tags:

If applicable, use bi-directional hreflang tags.

For example, if page A is targeted to English speakers in the United States, and page B is targeted to Spanish speakers in Mexico, include both <link rel="alternate" hreflang="en-US" href="https://example.com/pageA" /> and <link rel="alternate" hreflang="es-MX" href="https://example.com/pageB" /> on each respective page.

Best Practices for Implementing Canonical Tags

Use this checklist while implementing canonical tags on your site.

Canonical tags are an important tool in managing duplicate content on a website, helping search engines understand the preferred version of a page. 

Here are some best practices for implementing canonical tags:

  1. Point to the Preferred Version:

The canonical tag should point to the preferred version of the page. This is typically the version with the most complete or relevant content.

  1. Absolute URLs:

Always use absolute URLs in the canonical tag. This provides a clear and unambiguous reference for search engines.

  1. Consistent Canonicalization:

Be consistent in your use of canonicalization. If you choose to use www in your canonical tag, stick with it across all pages.

  1. Check Syntax:

Ensure that the canonical tag is syntactically correct. Even small errors can cause search engines to misinterpret your intent.

  1. Self-Referencing Canonicals:

It's common practice to have canonical tags that point to the current page. This can help in situations where URLs might be accessed with different parameters.

  1. Responsive and Mobile Versions:

If you have separate mobile and desktop versions of your site, make sure to use the appropriate canonical tags to specify the preferred version for search engines.

  1. Use in HTML Head Section:

Place the canonical tag in the head section of your HTML document within the `<head>` tags.

  1. Regular Audits:

Regularly audit your website for duplicate content and ensure that canonical tags are correctly implemented. This is especially important if your site structure or content changes over time.

Common Mistakes to Avoid while Using Hreflag and Canonical Tags

Incorrect usage of hreflang and canonical tags can result in indexing inconsistencies, reduced SEO efficacy, and compromised user experience.

Some common issues include confusing or merging the two tags, misusing self-referencing features, and incorrect tag ordering or structure.

Here are some in-depth details:

Confusing or Merging Hreflang and Canonical Tags

Confusing or combining hreflang and canonical tags can lead to unintended SEO consequences. They are not interchangeable and serve different purposes in website indexing.

For instance, using a canonical tag across different languages or regional versions can inadvertently direct search engines to ignore those other versions.

Similarly, setting hreflang tags for pages that point to another page via a canonical tag can potentially lead to Google ignoring the hreflang markup.

Suppose you have an e-commerce website with different language and regional versions for your product pages. You want to make sure that search engines understand and index each version correctly.

Correct usage of Hreflang:

```html
<!-- Example for the English version of a product page -->
<link rel="canonical" href="https://www.example.com/products/product-english" />
<link rel="alternate" hreflang="en" href="https://www.example.com/products/product-english" />
<!-- Example for the Spanish version of the same product page -->
<link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/producto-espanol" />
```

In this correct example:

  • The canonical tag indicates the preferred version of the page (in this case, the English version).
  • The hreflang tags specify alternative language versions, linking each version to its corresponding page.

Incorrect usage of Hreflang:

```html
<!-- Incorrect usage: Using canonical across different language versions -->
<link rel="canonical" href="https://www.example.com/products/product-english" />
<link rel="alternate" hreflang="es" href="https://www.example.com/es/productos/producto-espanol" />
```

In this incorrect example:

The canonical tag is used across different language versions, which might lead search engines to prioritize only the English version, potentially ignoring the Spanish version.

It's crucial to use hreflang tags to indicate language or regional alternatives and canonical tags to specify the preferred version within each language or region. 

Mixing them incorrectly can confuse search engines and impact the visibility of your website across different languages and regions.

Misusing Self-Referencing Features

Misusing self-referencing with hreflang and canonical tags can lead to indexing errors. Each version of a page should self-reference with an hreflang annotation.

For instance, if a Spanish version is using an hreflang tag, it should reference itself for "es" language code along with referencing other language versions.

Also, pages with a canonical tag should either point to themselves or point to an alternate version, in which case they should not include an hreflang tag.

If the canonical tag points to a different URL, it could mislead search engines into believing there are conflicting versions, causing hreflang annotations to be disregarded. 

Ensuring proper self-referencing in hreflang and canonical tags is critical to maintaining consistent indexing and search visibility to increase organic traffic.

Incorrect Tag Ordering or Structure

Improper ordering or structuring of hreflang and canonical tags can result in improper indexing by search engines.

In terms of structure, the hreflang syntax is critical and should include accurate ISO 639 language codes and ISO 3166 country codes (if applicable).

On the other hand, incorrect ordering of hreflang tags, such as specifying multiple language or region codes for a single URL, may confuse search engines.

However, it doesn't matter in what order the alternate versions are listed as long as every version is listed consistently across pages. 

Consistent ordering makes auditing or updating hreflang easier, improving overall site indexing and user experience.

Your Next Steps

Successfully optimizing a website for international SEO and building a solid SEO strategy requires a clear understanding and correct implementation of hreflang and canonical tags.

These technical SEO aspects may appear daunting initially, but with an awareness of their distinct roles and functionalities, their application becomes easier.

To sum up, canonical tags are your ideal solution for handling duplicate or highly similar content across different URLs, ensuring the preferred page version gets indexed. Conversely, hreflang tags come into play when serving content to a multilingual or multi-regional audience, guiding search engines to offer the most suitable language and region-specific version to users.

Errors in implementing these tags can lead to SEO complications, from incorrect indexing to poor user experiences. 

Therefore, observing the best practices and avoiding common mistakes is crucial in effectively implementing hreflang and canonical tags.

Frequently Asked Questions

How do search engines use Hreflang and Canonical tags?

Search engines use hreflang tags to understand which language and region-specific versions of a webpage serve users based on their geographical location and language settings. Canonical tags help search engines identify the 'official' version of a page amongst duplicates and decide which URL to index and rank.

What tools can help with implementing Hreflang and Canonical tags?

Several SEO tools help with implementing hreflang and canonical tags. XML sitemap generators, HTTP header checkers, and on-page markup tools can be leveraged for large-scale hreflang implementation. For canonical tags, Webtune can 

Are there any specific cases when both Hreflang and Canonical tags are necessary?

Both hreflang and canonical tags become necessary when dealing with multilingual or multi-regional international websites that also have duplicate or highly similar content. These tags work congruently to guide search engines in indexing language-specific versions of a page while also managing potential duplicate content issues.

What is meant by canonical URL?

A canonical URL is the URL of the 'master' or 'official' version of a webpage as specified via the canonical tag. This is the preferred URL that search engines should index and rank amidst duplicate or similar versions existing under different URLs.

What is a canonical tag in HTML?

A canonical tag in HTML, also known as rel=“canonical”, is a snippets of code that helps webmasters prevent duplicate content issues by informing search engines which version of a page should be considered as the primary or official one for indexing and ranking.

How do I know if my URL is canonical?

You can check whether a URL is canonical by looking at the source code of the webpage. If you find a link element with a 'rel' attribute value of 'canonical' and the 'href' attribute value of the URL in question, it confirms the URL is canonical.

What are the benefits of a hreflang tag in SEO?

Hreflang tags have various benefits for SEO. They help search engines understand which languages and different countries you're targeting with your website. This ensures that the right version of your site appears in search results to users from different locations, improves your website's visibility, and reaches a larger international audience.

About the Author

Vaishnavi Ramkumar

Vaishnavi Ramkumar is a content marketer specializing in creating BOFU content for SaaS brands. She believes reader-centric content is the sure-shot way to generate high-quality leads through content marketing. As part of the Scalenut team, Vaishnavi curates content that drives brand awareness and boosts signups. When she's not crafting content, you can find her immersed in the pages of a good book or a course.

Everything SEO,
One click away.

Try for free