We upgraded from Joomla 3 to Joomla 4 and since upgrading have found that many (almost all) links on the site are broken.

Here is an example of a broken link: https://guildofenamellers.org/index.php/92-journal2021/1196-desert-island-enamels-sally-davis

I have asked the same question on the Joomla forum, I have checked the SEF settings following suggestions from that question. I have set up a test site from a back up of the old J3 site so that I can compare what happens between J3 and J4.

All I can see using the debugger is that Joomla 4 is not able to parse this string as a valid path:"92-journal2021/1196-desert-island-enamels-sally-davis" and throws an exception.

I am using the purity iii/T3 template but have tried uninstalling and switching to Cassiopea - this makes no difference. There are no routing overrides under templates/purity_iii/html.

This must be something simple - it's so basic. If anyone has any idea on how to debug it please let me know.

2 Answers 2


I suggest checking that the article categories have all been migrated properly and are still published.


I think your issue is not related to SEF as such but with the change between the Legacy and the Modern routing used in Joomla3 and Joomla4. I have found under Joomla 4 if you have any digit at the beginning of an article or a category then you run into a '404 Not found' message.

For example if your Journal article was called "2020- The Guild of Enamellers Journal" the 2020 at the beginning would also break links. I am not an expert by any stretch in regards to the Modern routing, still trying to get my head around it all but here are some things you can play with that might help lead you to the solution.

In the Joomla 3 site you have set up for comparison, go into the Artcile Options/Configuration and look at the Integration tab. I think if you will probably have Routing set to Legacy and if you change it to Modern you will probably see the same issue on your Joomla 3 site. enter image description here

In Joomla 4 you have no choice you are using the Modern routing, however under the same Integration tab of Articles you have a routing option to remove the ID, the record number, from the URL. It defaults to Yes, but I suspect if you change it to No then your existing links might work.enter image description here

If this works for you, then long term you probably should go with Remove ID equal to Yes, however you may need to review the links in each of your Journal articles to also remove the ID and over time the links in Google will sort themselves out.

  • Thank you so much! Yes, I can make the Joomla 3 site fail the same way if I change the routing to 'Modern'. Unfortunately removing the ID didn't help, but at least I know what I need to look at now. I have reverted the main site to J3 and now have two test sites, one at J3 and one at J4 so that I can keep experimenting.
    – zoe
    Feb 18, 2023 at 8:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.