Aimy Canonical creates a canonical link tag for your website. Plugin for Joomla! 3, 4 and 5.

English German Spanish Farsi (Iran) Polish Slovak French Portuguese (Brazil) Dutch Italian Hungarian Slovenian Bulgarian Dari (Afghanistan) Thai Russian Czech Romanian

Feature list

Feature Aimy Canonical Aimy Canonical PRO
Canonical URLs
Set your preferred domain
Set your preferred protocol (http or https)
Set custom paths (in Joomla! articles, categories, tags and menu items)
Override protocol and/or domain for single items (in Joomla! articles, categories, tags and menu items)
Remove query strings (i.e. ?print=1)
Cleanup query strings
Add query strings for pagination (i.e. ?start=4)
Custom handling of trailing slashes (in paths)
Remove /index.php from path
Convert case (of paths) to lowercase or uppercase
Redirect to Canonical URLs
… on protocol mismatch
… on domain mismatch
… on path mismatch
… on query string mismatch
Other Features
Enables canonical SEF URLs for VirtueMart
Extended support for third party extensions (i.e. HikaShop)
Workaround for broken SEF URL paths (for details have a look at the "Extension Specific Hints" section of the manual or read our article on handling arbitrary URLs)
Cleanup <head> (automatically remove unnecessary canonical link tags)
Updates on new releases (for one year - 15 month on renewal)

Buying the PRO version

If buy the PRO version of Aimy Canonical you get automatic updates in the Joomla! backend for the domain(s) you name in the order process for one year (15 months on renewal).
You may still use the extension afterwards and on unlimited websites, but benefit from the update service only on the domains ordered.

14.28€
(Incl. 19% tax)
Germany
* Unlimited installs - updates for number of domains:

A canonical link tag helps with search engine optimization to prevent the duplicate content problem: set the preferred domain and preferred protocol ("http" or "https") with this system plugin for all of your website's pages.

<link href="https://my-domain.com/content.html" rel="canonical" />

Aimy Canonical is easy to set up and ready for use in about 5 minutes.

Please note that Aimy Canonical does not handle the path of the URL in the free version. For some special cases or custom canonical paths use the PRO version.

<link href="https://my-domain.com/content.html" rel="canonical" />

If necessary, you can change protocol and/or domain information using the PRO version for single items as well.

If you use a third party extension that is not supported for custom paths yet, feel free to contact us.

Aimy Canonical for Joomla!

Documentation

User Manual

PDF Download

Introduction

The Joomla! plugin Aimy Canonical allows you to set a unique domain name and protocol that is used to create a canonical link tag for all of your website's pages. Aimy Canonical PRO provides a couple of ways to handle a canonical link's path as well.

Using a canonical link tag helps to optimize your website for search engines, as it allows you to set a preferred domain and protocol used for all of your URLs. This way, the common duplicate content problem, which arises from multiple URLs having the same content, can be prevented.

Therefore, Aimy Canonical enriches your website's HTML code with a canonical link tag, which looks like this:

<link rel="canonical" href="https://my-domain.com/content.html" />

A typical canonical URL provides protocol, domain and path information — and maybe an appended query string:

Anatomy of a (canonical) URL

This manual guides you through all steps necessary to install and use the plugin.

Supported Joomla! Versions

Aimy Canonical supports Joomla!...

  • 3.9 and up,
  • 4.0 and up,
  • 5.0 and up.

Installation

The installation of the extension follows the common Joomla! procedures.

In case you are not familiar with these procedures, proceed as follows:

  1. Download the extension's ZIP archive
  2. Log into your Joomla! backend as "Super User"
  3. From the menu, choose "Extensions" → "Manage" → "Install"
  4. Click on the "Or browse for file" button and select the ZIP archive

The extension's archive will be uploaded and installed afterwards.

For further information, please have a look at the Joomla! documentation Installing an Extension.

NOTE: All plugins are disabled by Joomla! when installed for the first time. To enable Aimy Canonical, proceed and configure the plugin.

Configuration

After a fresh installation, click on the "Configure plugin now" button on the installation report page.

At any time, you can configure the Aimy Canonical plugin using Joomla!'s Plugin Manager by choosing "Extensions" → "Plugin Manager" from the menu. Locate the plugin and click on its name in the "Plugin Name" column of the plugin listing.

In order to use the plugin's functionality, you have to enable it first.

To do so, change the plugin's status from "Disabled" to "Enabled" and apply your changes by clicking on either the "Save" or "Save & Close" button in the toolbar.

Domain

Enter your website's preferred domain name.

The plugin will change the main domain name and is therefore valid on all pages of your website.

Enter your plain domain name (i.e. my-domain.com) without any protocol specification or path information.

Subdomains (i.e. sub.my-domain.com) may be set as a canonical link as well.

Protocol

You can select your preferred protocol used in your canonical URL. By changing the default of "http" to "https", so you can define your SSL-secured website as the canonical URL.

Remove Query String

Some Joomla! extensions append their required parameters as a query string to the pages of your website they are used on — even if SEF is enabled in Joomla!'s global configuration. In some cases this query string is then appended to your canonical URL as well.

If enabled, this option removes the query string from your canonical URL.

NOTE: The query string is only removed if SEF is enabled.

Cleanup Query String (PRO Feature)

If enabled, parameters of the query string of a canonical URL are sorted and the "=" character is removed in front of empty values.

Example: "x=ab&ab=x&z=&q=" is transformed to "ab=x&q&x=ab&z".

NOTE: This option is only available if the Remove Query String option is disabled.

Add Pagination Parameters (PRO Feature)

Adds pagination parameters to the canonical URL as a query string (i.e. "start=5") if required on that page and the Remove Query String option is enabled.

Add Search Parameters (PRO Feature)

Add search parameters to the canonical URL as a query string (i.e. q=term) if required on that page and the Remove Query String option is enabled.

Remove /index.php? (PRO Feature)

If enabled, "/index.php" will be automatically removed from a canonical URL's path.

NOTE: This feature requires both "Search Engine Friendly URLs" and "Use URL Rewriting" to be enabled in Joomla!'s "Global Configuration".

Cleanup <head> (PRO Feature)

Under some conditions, multiple canonical link tags may be inserted into your pages' <head>. For example, the designer of your Joomla! template may insert one as well as a SEO extension you have installed on your website, without using Joomla!'s mechanism for handling links in a page's <head>.

If this is the case, just enable this option and Aimy Canonical PRO will clean up any canonical link tag from your head automatically and insert a single one at the end of the page's <head> afterwards.

Use <base> Path (PRO Feature)

Under some conditions, the path of the SEF-URL generated by the component which handles a page may not be accurate.

If this is the case, enable this option to use the path of the <base> element's href attribute instead.

NOTE: If SEF is disabled, this option is not evaluated.

Trailing Slashes (PRO Feature)

To prevent duplicate content issues and to keep your website's canonical link paths consistent with the way links are placed on your website, Aimy Canonical PRO allows you to customize trailing slash handling.

Keep As-Is

Trailing slashes will be kept as-is.

Remove

Trailing slashes are removed from a page's canonical link path.

Examples:

  • "/index.php/about-us/" → "/index.php/about-us" (Plain SEF)
  • "/about-us/" → "/about-us" (SEF & URL Rewriting enabled)
  • "/about-us.html/" → "/about-us.html" (SEF & URL Rewriting & Suffix enabled)
Add

A single slash is added at the end of a page's canonical link path if necessary.

NOTE: If "Add Suffix to URL" is enabled in the "SEO Settings" of Joomla!'s Global Configuration, this option is not evaluated.

Examples:

  • "/index.php/about-us" → "/index.php/about-us/" (Plain SEF)
  • "/about-us" → "/about-us/" (SEF & URL Rewriting enabled)

NOTE: If SEF is disabled, this option is not evaluated.

Convert Case? (PRO Feature)

Should the case of the canonical link's path be automatically converted?

Keep As-Is

No conversion, the path is kept as-is.

Lowercase

All letters of the canonical link's path will be converted to lowercase.

Uppercase

All letters of the canonical link's path will be converted to uppercase.

NOTE: If SEF is disabled, this option is not evaluated.

Enable Custom URL Support (PRO Feature)

If enabled, a custom URL may be set in a special "Aimy Canonical" tab for any content of a supported Joomla! component.

Have a look at the chapter "Using Custom Canonical URLs" for details.

NOTE: If SEF is disabled, this option is not evaluated.

Enable Redirects (PRO Feature)

If enabled, Aimy Canonical PRO will send a redirect if a mismatch between a page's URL ("address") and the chosen parts of its canonical URL occurs.

You can choose on which condition or conditions such a redirect should be used:

On Protocol Mismatch

If the protocols differ, i.e. "http" vs. "https".

On Domain Mismatch

If the domain name differs, i.e. "www.my-domain.com" vs. "my-domain.com".

On Path Mismatch

If the path differs, i.e. "/" vs. "/index.php".

On Query String Mismatch

If the query string differs, i.e. empty vs. "rCH=2".

After you enabled the plugin, Aimy Canonical will automatically generate and insert a unique canonical link tag to all pages of your website.

No further action required — unless you like to assign a custom URL to (some of) your website's pages!

Using Custom Canonical URLs (PRO Feature)

Aimy Canonical PRO allows to set a custom canonical URL to specific content which is used regardless of the URL that points the content. You may enter a custom path and can choose to override the default settings made in Aimy Canonical's configuration for the protocol and domain part of the URL.

A special new tab (labeled "Aimy Canonical") is placed right where you edit your content, so the path can be easily assigned and maintained. To get the tab, make sure the "Enable Custom URL Support" option is switched on.

A custom canonical URL is assigned

Supported Components

This feature is currently supported for the following components:

Joomla! Articles (com_content.article)
Joomla! Category Descriptions (com_content.category)
Joomla! Tag Descriptions (com_tags.tag)
Joomla! Menu Items

Except for those of the "System Links" category: "Menu Heading", "Menu Item Alias", "Separator" & "URL".

Notes and Limitations

Custom Paths

All other path related options of Aimy Canonical PRO (i.e. "Use <base> path" or "Trailing Slashes") won't take effect for custom canonical paths. However, all other options are evaluated, that means protocol and domain are set according to your preferences, query strings are processed as configured and redirects will be send when enabled (and appropriate).

If a custom canonical URL has been assigned to both content and its menu item (that directly references it), the custom canonical URL assigned to the menu item is used instead of the one assigned to the content.

Aimy Canonical PRO does not check whether the entered path is actually handled by your website or correct — you need to take care of that yourself. That means, Aimy Canonical PRO inserts the custom path you entered, but does not route a request to that path on your website to the content.

Be sure to set the complete path (i.e /blog/category/article.html). If you enter an absolute path (that starts with a slash), the path will be kept as is. In case of a relative path (no leading slash), the path is prefixed with the website's base path as well as index.php if required by your website's Joomla! SEF configuration.

This feature requires SEF to be enabled.

Pages with noindex

If a page's meta robots information contains noindex, Aimy Canonical will not set the canonical link tag on that page.

Frontend Editing

If frontend editing is used, the canonical link tag will be omitted for the active user session. To inspect the canonical link tag in the HTML code of a page during frontend editing, either wait until you logged out, use an external tool or a second browser (instance).

Extension Specific Hints

Some extensions require extra logic in order to generate an appropriate canonical URL:

VirtueMart (PRO Feature)

Aimy Canonical PRO includes a workaround to enable SEF canonical URLs for VirtueMart. With the PRO version installed, no further action is required if you enabled SEF on your website.

Stock Joomla! Components (PRO Feature)

In some cases, the SEF URL's path generated by stock Joomla!'s components used in a page's canonical URL may not be correct.

For example, this is the case on article pages that are not directly referenced by a menu item and referenced using an URL that is misspelled but still resolvable by the component. As a result, the page is shown in the frontend, but the generated SEF URL's path is not correct and, if followed, results in a 404 error.

Besides that arbitrary paths may be used in a SEF URL that contains a leading numeric Id under certain conditions, i.e.:

    https://my-domain.com/blog/2-article (the correct one)

    https://my-domain.com/blog/2-this-should-not-work-but-it-does

Aimy Canonical PRO detects and fixes most of these issues automatically for the following Joomla! components & their views:

Joomla! Articles (com_content.article)
Joomla! Category Descriptions (com_content.category)
Joomla! Tag Descriptions (com_tags.tag)

The Joomla!® name and logo are trademarks of Open Source Matters, Inc. in the United States and other countries.

Mentioned hard- and software as well as companies may be trademarks of their respective owners. Use of a term in this manual should not be regarded as affecting the validity of any trademark or service mark. A missing annotation of the trademark may not lead to the assumption that no trademark is claimed and may thus be used freely.