Within a content management system like Joomla! it is a common problem that one content can be addressed via multiple links. For example directly from the menu, by a category, a tag or with its dynamic URL. In general it must not become a problem, but there are cases that can be bad for your website's ranking and user experience.
This article shows some examples, the impact and a solution for handling it with a canonical plugin.
Endless URLs for one content
Within Joomla! you can reach the content with its alias (the SEF URL) or with its dynamic link.
A dynamic URL looks like this index.php?view=article&catid=2&id=2
.
Any SEF URLs is internally interpreted with these parameters. But for humans, the SEF link (like /news/2-news-on-my-topic.html
)
is much more convenient.
And it is the link you would like to see in search engine results.
Besides that you may have noticed strange URLs, that may look like this /news/2-news-on-my-topic-and-some-more-text.html
.
This is possible because Joomla! resolves any URL that starts with an existing item ID correctly.
Note
Since Joomla! 3.8. IDs from articles are no longer necessary - you may use
modern routing and remove IDs from URLs. That is recommended for new websites, but if you have an existing site with good rankings, it would change all your URLs. That means: old links listed in search engines will result in an HTTP 404 error, you have to add redirects for those links and search engines have to reindex all pages.
The possibility to generate weird URLs may lead to some problems:
User experience
Users
see the content, but maybe modules and/or style are missing. In the
following example, search and image on the right are missing:
Page URL: /news/2-news-on-my-topic.html
Page URL: /component/content/article/2
or
/index.php?option=com_content&view=article&id=2
Reputation
Harmful links placed by anyone somewhere in the web may lead to your website like
/news/2-free-porn.html
. Arbitrary suffixes are possible and as they do not result in an error (like 404),
search engines might index these links.
SEO
Several URLs for one content might cause duplicate content problems.
Do you have arbitrary links pointing to your website?
Find out if your website already has problems with arbitrary links, with
tools like Google Analytics or the search console.
Handling arbitrary links
So what can you do about it?
One solution is to use canonical URLs on your Joomla! website,
so search enginges get the information which URL should be added to their index.
A canonical URL (also called canonical link or canonical tag) is
a meta tag within the code. It points to one main page if several
pages have similar content or can be reached via several URLs.
So all copies of one content point to the original page that you wish to
be indexed by search engines.
But if you use the native SEF system plugin from Joomla! the canonical will always be the URL itself - even dynamic URLs. The plugin Aimy Canonical tries to detect the intended correct SEF URL to set this one as a canonical tag (for a growing set of Joomla! components).
Page and Canonical URLs with SEF plugin
Page: /news/2-news-on-my-topic.html
Canonical: /news/2-news-on-my-topic.html
Page: /component/content/article/2
Canonical: /component/content/article/2
Page: /index.php?option=com_content&view=article&id=2
Canonical: /index.php?option=com_content&view=article&id=2
Page and Canonical URLs with Aimy Canonical
Page: /news/2-news-on-my-topic.html
Canonical: /news/2-news-on-my-topic.html
Page: /component/content/article/2
Canonical: /news/2-news-on-my-topic.html
Page: /index.php?option=com_content&view=article&id=2
Canonical: /news/2-news-on-my-topic.html
In combination with the feature Redirect on path mismatch you solve this issue not only for the index of search engines, but for your visitors as well. They will be redirected to the intended URLs with all modules and/or styles active.
Entered Page URL: /component/content/article/2
Redirected to : /news/2-news-on-my-topic.html
Please note that Aimy Canonical is a plugin for setting canonicals. In combination with its redirect feature it helps to handle the problem of strange URLs but it is no plugin for routing. It will not solve all problems found in Joomla!'s routing system. But for a lot of common cases, it helps to add clean URLs to a search engine's index, leads users to the intended page and reduces the risk of being a victim of harmful link attacks.