We believe that Joomla users deserve better

Canonical Links All in One

Learn how to install the extension, enable permanent redirection, set default K2 tag menu, or set alternative domain.

What it does

The extension inserts canonical links to the code of the website. Here is a parctical example of the problem: there is an article on the Joomla website https://www.joomla.org/announcements/general-news/5763-because-open-source-matters-and-domains-too.html. However, exactly the same article can be viewed at url like this: https://www.joomla.org/announcements/general-news/5763-old-link.html. This could happen if for some reason you renamed the article. Or it can be viewed at: https://www.joomla.org/announcements/release-news/5763-because-open-source-matters-and-domains-too.html. This could happen if you moved the article to another category. The problem is that Google can index this article in all three versions of the link, and since they all exist, it can consider it a duplicate content, and degrade it in the search results. This is the problem that the extension corrects - no matter which of these three links you open, it would insert the same canonical link in the code of the article, it would looks like this: <link href="/https://www.joomla.org/announcements/general-news/5763-because-open-source-matters-and-domains-too.html" rel="canonical">. This code says to the search engine "the original content can be found at this address, please use only this one for indexing".


1. To install extension, go from administrator backend of Joomla to Extensions -> Extension Manager.

2. Click Choose, select canonicallinksXX.zip, and hit Upload & Install button.

3. That's it! Plugin will be automatically enabled after the installation, and canonical links set.


1) If you have sh404sef installed, go the the sh404sef settings -> SEO -> Remove other canonicals -> set it to No.

2) If you have Canonical by StyleWare installed, you must disable it.

3) If you have an advanced caching mechanism enabled, please check what you need to know.

Advanced settings

1. Permanent redirection: If you want, you can always force users to land on the canonical version of link. This means if you changed your alias for example and someone tries to access the old one, they'll automatically land on the new page.

2. Ignore query: Applicable only if permanent redirection is enabled. If enabled, links with query in url (everything after the question mark in the link, if it exists) will not be redirected to the canonical page. Useful if you have a dedicated print page (so at the end of url you have something like ?print=1) etc.

3. Ignore specific query variables (developer option): In use only when Ignore query is set to No. Add comma separated list of query variables that should be ignored, e.g. 'print,filter'. Useful if you want to prevent redirection for particular variables only.

4. Canonical domain: If your website can be accessed via more than one domain, you can write the preferred one to be used for all canonicals.

5. Remove trailing slash: Choose whether to remove trailing slash from canonical links, www.example.com/ vs www.example.com. Defaults to "Yes".

6. Unset canonical tags on canonical pages: If you are viewing a link which is equal to the canonical version, unset the canonical tag. Defaults to "No".

7. Set default menu for K2 tags: If you have tags assigned to articles which belong to different categories and can be reached via different menus, any tag (no matter if it's assigned to any article from a particular category or not) can be reached via any K2 menu. If no option is selected here, plugin will use the first matched K2 category list menu for tag canonicals, unless a specific menu item is selected in the options.

8. Override canonicals: If absolutely necessary, you can override automatically generated canonical link. First insert full link to the duplicate page, followed by a vertical separator |, and finally insert full link to the canonical page. If you need to insert multiple override, place each of them on a new line. Do not use unless you are sure you really need it.

9. Remove canonicals: If you need to remove canonical links from some pages, insert full links to those pages, where each link goes on a new line. You can also use wildcards so that all links under certain path are excluded. Writing example.com/exlude-this/* will remove everything exclude-this, and everything under it. To use wildcard always end it with /*


options k2

If you use an advanced caching mechanism

To output canonical plugin, the extension must run at least once before the page is cached. It means that if you install the plugin, then open a page you haven't accessed before, it will be cached with the canonical link set, so in the future if the page is opened only from cache, canonical link will be set. If you have currently cached pages, depending on the type of caching you use, the extension might never run, so clearing the cache once may be required.

If you plan to use permanent redirection feature of the plugin, then javascript redirection must be added for client side redirection, as extension wouldn't be runnng after initial caching, so server side redirection could not be performed. Currently client side redirection is not supported, but can be if needed, please contact us if you need this feature.

Disabling the plugin

1. To disable the plugin, go from administrator backend of Joomla to Extensions -> Plug-in Manager.

2. Under Select Type choose System.

3. Change status to unpublished where the plugin name is Canonical Links All in One

Uninstalling extension

1. To uninstall extension, go from administrator backend of Joomla to Extensions -> Extension Manager -> Manage.

2. Find Canonical Links All in One and click uninstall button.