0

I have been upgrading my Joomla 3.6.5 to 3.7.1 on my test site. I noticed that the extension 'Virtual domains' started to generate inaccessible URLs for articles that are shared between different sites.

While the URL-formation on the secondary domain is still correct, the default domain generates weird URL since the upgrade.

It now forms the URL as follows: [domain]/component/content/[ID-childcategory]/[ID-Article Alias]?Itemid=501

This results in a 404.

Without SEF-URL enabled, the URL forms as follows: [domain]/index.php?option=com_content&view=article&id=[Article ID]:[Article Alias]&catid=[Category ID]&Itemid=501

With this URL, the Article is displayed correctly but not the modules assigned to the menu item. The breadcrumb is shown, but contains only the main page.

I don't have other SEF extentions in use apart from the default Joomla one.

What has changed in Joomla 3.7.1 that causes this behaviour and how can it be reversed?

2 Answers2

1

Joomla 3.7 was planned to introduce the new Router, which allows to remove the Id from the generated URLs; this required a massive effort, but it was removed from 3.7 and pushed to 3.8 at the last minute, you can read more about it here

As a consequence, the router should behave the same; but several changes impact how urls are built even with 3.7, so any component that alter the router needs to re-test for compatibility.

I'm afraid reversing it is not advisable. There are quite a few core files changed, and if you start core-hacking into Joomla, you'll spend endless hours at every new release.

You should stay with 3.6.5 on your production site and work with the extension developer to fix the issue.

--update--

I wrote to Michael from janguo.de but all the releases on the site are old, last release 4-5 years ago, all the forum links are dead, and it may be quite some work to figure out what's needed and update the extension.

It may take week(s) until a proper solution is found. Even if Michael himself were to work on this project, you should expect at least 2-3 weeks before you have a tested version that is safe to install. With a third party developer, even longer.

In the meanwhile, you might handle the emergency with

.htaccess redirects

to block patterns or remove parts of the url (i.e. if the new urls contain an extra param or adds a new level of navigation, you can fix it there). This will be very rigid and hard to maintain, but it will remap all duplicate urls to their "official" one,

canonical

add the tag in your markup to let search engines know it's just a copy (this is fairly effective, if you can calculate the urls correctly from within the template / component). The tag looks like:

<link rel="canonical" href="https://yoursite/yourpage" />

sitemap

This is used as an alternative to determine canonical urls by search engines, make sure you have one and that it's advertised in the robots.txt (and name it /sitemap.xml this will make it faster to read by search engines).

Best of luck!

Riccardo Zorn
  • 5,590
  • 1
  • 20
  • 36
  • Thank you for your insightful, albeit a bit frustrating comment. The Virtual Domains extension seems to be more or less abandoned (I had already contacted the developer, but to no avail). My problem is that Joomla 3.6.5 creates all sorts of weird URLs that have nothing to do with the intended appearance, but unfortunately make their way to the Google search results. There are so many of them that I can't keep the pace to 'nofollow' them. I have no clue how to deal with that, in particular that the traditional SEO extensions like e.g. 404SEF don't work with multi-sites. So what should I do? – Michael May 19 '17 at 19:34
  • I wish I had the time to look into it. I edited the answer to suggest some approaches. – Riccardo Zorn May 20 '17 at 09:10
1

Update to version 1.4.1 which supports PHP 7.1 from below. It is working well for me so far and I think we can get an effort going to move it forward as well.

https://github.com/smehrbrodt/virtualdomains