Aimy Canonical creates a canonical link tag for your website. Plugin for Joomla! 3, 4 and 5.
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.
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.
Documentation
User Manual
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:
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:
- Download the extension's ZIP archive
- Log into your Joomla! backend as "Super User"
- From the menu, choose "Extensions" → "Manage" → "Install"
- 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.
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
)
Copyright & Trademark Notice
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.
Release Notes
Read news and release notes on Aimy Canonical here.
Translators
- Bulgarian, Stanimir Karavelikov
- Czech, Aqui
- Dari (Afghanistan), Mohammad Hasani
- Dutch, Erwin Balk
- English, Aimy Extensions Team
- Farsi (Iran), Abdulhalim Pourdaryaei
- French, Raymond Vassieux & Philippe Gros Meyer
- German, Aimy Extensions Team
- Hungarian, Zoltán Szász
- Italian, Fabrizio Galuppi - www.digitest.net
- Polish, Abilion publishing house
- Portuguese (Brazil), Gilvanilson Santos
- Romanian, Daniel Gubranszki
- Russian, Aleksej Khoroshevskij
- Slovak, Pectus publishing house
- Slovenian, Ervin Bizjak
- Spanish, Marcelo Ferro & Juan Jacobo Ruiz
- Thai, Vijit Polam
Want to contribute a new translation? Great, here's how you can accomplish it!
License
This software is covered by the GNU General Public License Version 2 (GPL-2.0). You will receive a copy of the license together with the software. You may also want to have a look at the license online here.