Magento 2 Canonical Urls for Category, Product, CMS, and Other pages

99% of 100
Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition

Magento 2 Canonical URLs extension allows you to set canonical URL link tag in the head section for the category, product, CMS and other pages on your Magento 2 site. It also comes with robots meta tag which you can set on each and every page of your website including specific product, category,CMS or any other pages.

  • Add or Override canonical URL tag on category, product, CMS or any other pages
  • Solves duplicate content issue
  • Add primary category path in the canonical tag for the product pages
  • Set No Index and No Follow for any page
  • Ability to append text to all category canonical URLs
  • Compatible with HYVA Theme(NEW!)

Free Support

up to 60 days

Free Upgrades

up to 1 year

Fully open source


5 Easy migration
We bought same extension for our Magento 1 website and bought this for Magento 2 as part of our migration project. Upgrading to Magento 2 was a painful challenge but this module worked straight away which was a great relief. Thanks SCommerce team.
5 Great SEO extension
This module works, our SEO agency is well pleased with this extension and claiming that since we installed this module our duplicate content issue has disappeared so I thought it is good to add review for these guys based on the feedback given to me by my SEO guys :)
4.7 Must have Magento 2 module!
This should be must have Magento 2 module from SEO of point of view. Not sure why Magento doesn't including this feature out of the box, we bought the same module from SCommerce for Magento 1 as well and it works perfect. Definitely helps from SEO prospective. Their customer service is great too, they offered us discount as well for this upgrade From Happy Customer!
5 Great module and support!
Great module and support. We have most of our products in multiple categories and this module solves the problem by allowing us to set canonical URL by simply setting the primary category of the product. It also comes with the script which allows to set primary category automatically. Great addition from SEO point of view.
5 It works as advertised
We have been using this extension along with hreflang extension and both works as advertised. Support team is responsive and very helpful!
Composer Package name:
Latest Version:

Product description

Magento 2 Canonical Urls

Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition

What is Canonical URL?

Canonical URL is a URL recognized and crawled by Google. Sometimes we have multiple URLs for the same page, for instance, you may have two URLs for the same page for example: " bags=1234" and "". In this scenario, google automatically recognizes one URL as canonical and skips the other. Moving forward it only crawls that page. So unless if you specify which URL is canonical it won’t get crawled. Google will consider them as duplicate pages which will also affect the search engine optimization(SEO) and impact your Google ranking.

Why are Canonical URLs Crucial for SEO(Search Engine Optimization)?

Canonical URLs help resolve the duplicate content issue caused by various URLs on your store. Duplicate content is a big NO for Google. If your website contains duplicate or identical content then it is highly likely that the right URL won't be indexed by Google and hence won't get ranked as deserved. All of your hard work can go in vain. Magento 2 Canonical URLs can help you resolve this issue by telling Google which URL is the original version of the page. It tells Google exactly which pages to index and rank.

The extension allows you to set canonical URL link tags in the head section for the category, product, and CMS pages. It also allows you to set "no index, no follow" or "index, no follow" or "no index, follow" for each and every page of your website. You can also define Action names and Route names from the configuration.



"I have one product in multiple categories (i.e one product can be browsed through different URLs. It creates duplicate content issue and affects SEO). Can your extension provide me a solution to resolve this issue?"

Yes our extension can help you resolve this issue. Suppose you have a certain product in different categories. It can be reached through following URLs:- Search engines see all of these URLs as unique pages and crawls them accordingly. This causes the duplicate content issue. It won’t know which URL to rank. Using our extension you can assign a unique canonical URL so no matter from which category the product is browsed there will only be one URL sent to Google. To enable this simply go to Stores>Configuration>Scommerce Configuration>Canonical Tags>Product canonical Tags and set “Product Canonical Enabled” to yes. Now if we stop here then one of these URLs will be randomly selected as the canonical URL and will be the same no matter which category you are browsing from. However, you can also provide a unique URL using two methods. First, by going into Catalog>Products edit your product and scroll down to find “Search Engine Optimization”. Here, under override canonical URL enter the text or specific URL that you want as your unique canonical tag link. You can see in the below image we have entered the first URL here so now if you browse this product from any category you will say that they all have the first URL as the canonical tag link. Second, you can choose a primary category(also available in the Search Engine Optimization section) for the product. Your canonical URL will contain the primary category path for all the URLs. Keep in mind if you add both primary category and override canonical then override will get precedence.


"I want to add canonical meta tag links on custom pages of my store. How can I do that using your extension?"

By default Magento 2 only supports canonical URL meta tag links for category and product pages. Let us go through an example:- suppose you have a contact us page on your store. You can reach this page using several URLs such as :- Keep in mind, this is just a basic example there can be many more links reaching the same page. Search engines such as Google will treat each of these URLs as a unique page that in turn will create a complex duplicate issue affecting your SEO. Our extension can help you create canonical meta tag links for such custom pages. To do that go to Stores>Configuration>Scommerce Configuration>Canonical Tags. Scroll down to find “Other Pages Canonical tags” set the “other page canonical enabled” to yes then enter the route name of the custom page and canonical tag link. For example for the contact page, the route name can be “contact” and the canonical tag link can be “contact/index”. So now no matter which URL is used to visit the contact page the canonical URL sent to search engines will be


Below are main features of the module:-

  • It allows you to add or override canonical URL tag for category pages
  • It allows you to add or override canonical URL tag for product pages with or without category path
  • It allows you to add primary category path in canonical tag for product pages
  • It allows you to add canonical URL tag for cms pages
  • It allows you to add canonical URL tag for any other pages such as contact us. for example, you can add the route name and then the custom canonical tag link. (New !!)
  • It allows you to set No Index and No Follow for any page of your website including specific CMS, product, and category pages
  • It allows you to set route names and action names for No index No follow. (New !!)
  • It allows you to map one category to another for canonical URL tag for example on shoes -> heels and shoes -> new style can have shoes category as canonical tags
  • It also allows you to append text to all category canonical URLs which works really well when you have filters, pagination and sorting on category pages. For example you can add "?product_list_limit=all" to all category pages which means google will only index one unique category URL instead of many version of same category page
  • It also resolves duplicate content issue problem for your site as search engines will find one unique url for each page of your site with the help of canonical tags
  • It fully supports multi websites and store**
  • It can be used along side Magento inbuilt canonical tag functionality
  • This module can be completely disabled whenever required via system configuration in admin


Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition

We offer 60 days of free support and 12 months of free upgrade for any standard Magento site when you buy this extension. You can also get our installation service for a small fee. If you want more benefits, you can purchase our 12 months of free premium support and free lifetime upgrade package. Please contact us if you need any assistance or customization for this extension. We will reply to you within 48 hours. We may also offer you a special deal or a free solution if we like your idea.

** Please refer to our FAQ or T&C section for running our extensions on multiple domains or sub-domains


Q. I have pagination in my category pages. How can I pass all products on one page to Google so that when this page is crawled all products are sent to Google?
A. If you have pagination on your category pages then it is most likely that Google won't crawl through all of your products and you are missing out on SEO. You can configure the category page URL in such a way that all products are displayed in one URL so Google won't be missing any products. To do that you will need to append text a certain text with a category URL path. Go to Stores>Configuration>Scommerce Configuration> Canonical Tags>Category Canonical Tags and enter your text in the Append Text with Category URL Path input box.
canonical append text with category url
N.B - If you have a huge amount of products in your categories then we wouldn't recommend you to turn this on because it could take much longer for Google to crawl your category pages"
Q. I want to add canonical tag links to custom pages. how can I achieve that using your extension?
A. By default Magento 2 only supports canonical URL for Category and Product pages. However using our extension you can also add unique canonical URL tag links to your custom pages. You can add custom canonical tag links for any pages you want. Simply go to the configuration settings by navigating to Stores>Configuration>Scommerce Configuration> Canonical Tags>Other Pages Canonical Tags. Make sure Other page Canonical Enabled” is set to “yes”. Then under custom canonical tag links click on add and enter the route or Full action name as well as the canonical tag linkcanonical custom tag links
Q. What is Route Name and Full Action Name?
A. Let us understand by example, say we have the following url for the checkout page "". In this case Route name is "checkout" and Full Action Name is "checkout_payment". Developers can get Route name using
return $this->_request->getFullActionName();
and Full Action name using
return $this->_request->getRouteName();
. Some examples of route names and full action names:-
Route Names Full Action Names
contact contact_index_index
checkout checkout_index_index
account account_index_index
Q. How can I add Canonical URL in Home Page?
A. To add canonical URL in home page login to your admin panel then go to Content>Pages. From the actions column click edit on home page. Scroll down until you find Search Engine Optimization. Lastly enter your text in "Override Canonical URL" and save.
canonical append text in home page
Q. Why am I getting duplicate canonical tags since I installed the module?
A. his could be because you might have canonical tags enabled at Magento default level. You can turn them off from stores -> configuration -> catalog -> catalog -> search engine optimisation section. The settings are called "Use Canonical Link Meta Tag For Categories" and "Use Canonical Link Meta Tag For Products"
Q. I have previously setup some canonical tags on my store. If I install your extension then will it override my previous settings?
A. Our extension won't override your previous settings on Category, Product, and CMS pages unless you explicitly set the robot settings for each page.
canonical previous settings
However, aside from Category, Product and CMS pages it will force override canonical tags on all other pages as per the configuration

Q. How can I get license key for my development website?
A. Please login to your account and Go to My account section > From the left menu select Generate Dev License key > Enter the Dev site url and select the extension from the dropdown and click on generate to get the license key
Q. Can I test the extension before buying?
A. Unfortunately we can't provide you extension for testing purposes but we have demo available for most of our extensions and happy to provide full refund if the extension doesn't work
Q. Can I request for customisation on your extensions?
A. Yes we do provide all sort of customisation for our clients at the reasonable rates. And if we believe the customisation will help our product then we also provide great discount on the customisation
Q. I have two live domains, do I need a separate license key for each live domain?
A. Yes you need to buy a separate license key for each live domain ( or sub-domain ( or subfolder ( If you are buying licenses for more than four live sites in one transaction then we can offer you 30% discount on total amount
Q. How can I upgrade my extension to the latest version?
A. If your extension is within the free upgrade period (12 months from purchased date) then simply email us with your order number and our team will send you the latest version of the extension but if it is outside free upgrade period then you need to buy an upgrade using the following link

Once you received the latest version of our extension then we would highly recommend to delete all the files and folder of our extension from your website first before uploading the latest version because we might have removed existing files and keeping existing files could cause problems on your website.
Q. Does my license get expired after certain period?
A. No, your license is not going to get expired but we would highly recommend upgrading to get all the latest fixes (including security fixes if any), improvements and new features. In the upgrade, we also ensure it is compatible with the latest version of Magento and when you upgrade you will have a smooth transition.
Q.Where can I download the extension files?
A. Please login into your account on our website and go to the download link under my account section to download the extension package.
Q.Can you provide a key that works for our development (NOT PRODUCTION) environment which will work on a dynamic URL, for example, and
A. Unfortunately it is not possible to generate license keys based on the dynamic URLs. License keys need to be generated per domain or subdomain whether it is production or non-production.
Q. How can I manually uninstall your module?
A. Please follow the below steps -:

Step 1: Navigate to our store and login to your account. Then go to the My Account Section, on the left menu click on Composer Instructions.
My account section
Step 2: Next, run the config commands shown on the top of the page then click on the extension that you want to install. A composer require command will be revealed in the dropdown menu. Run the command then clear caches to complete the installation. Composer instructions
Q. Do you support SPA (Single Page Application) / PWA (Progressive Web Application) / AMP ?
A. Unfortunately, we don’t support SPA or PWA or AMP but we may be supporting them in future depending upon the demand.

Change Log

Version 2.0.18
2024-04-03 15:46:15
Transitioned from installation scripts to db_schema.xml for Magento compliance.
Version 2.0.17
2023-09-20 11:58:12
Added PHP8.1 support
Version 2.0.16
2023-08-22 10:06:40
Added PHP 8.1 support to work with 2.4.6 Magento
Version 2.0.15
2023-02-28 08:33:49
Fixed issue when "Override Canonical URL" field is empty
Version 2.0.14
2023-02-02 12:55:20
Bugfix for PHP8.1
Version 2.0.13
2022-06-14 09:32:16
Minor version fix to check if override canonical URL has full URL or not
Version 2.0.12
2021-03-23 11:05:30
- Fixed no index no follow settings as it wasn't working on certain action or route names. Also fixed issue related to "exclude current category" setting as it wasn't getting excluded when selecting canonical URL category.
Version 2.0.11
2021-03-02 13:30:56
Added new configuration to add canonical tags for custom / others pages using either using route name or full action name
Version 2.0.10
2020-09-11 11:01:41
Added default canonical for CMS pages, also added PHP 7.4 support to the module
Version 2.0.9
2020-07-15 10:55:22
Performance improvement on product listing page
Version 2.0.8
2020-05-14 15:41:45
Added 7.3 PHP version support
Version 2.0.7
2020-03-12 21:57:40
Optimised SEO base module in version 2.0.3 so changing version number with wildcard instead of hard coded value for future releases
Version 2.0.6
2019-07-04 14:18:02
Fixed minor issues
Version 2.0.5
2019-07-02 13:10:42
Fixed minor issues
Show More
Show Less

Reviews 5

Write Your Own Review
Write a Review
You may also like