A long awaited feature is finally coming to Joomla. In Joomla 3.7 we will finally get an improved URL routing system. This will not immediately solve all wishes we could have for our URL's, but the underlying structure for further improvements is there now. And one thing we will get now already: no more ID's in the URL!
Update March 23rd 2017: Unfortunately it has been decided improved URL's will not be in 3.7, see this blogpost
All this is mainly due to the crowd funding program started by Hannes Papenberg (see www.indiegogo.com for details). Especially Hannes' last announcement was very encouraging, where he mentioned that the last code changes were merged in Joomla:
"Today three important Pull Requests were merged by the Joomla team, one closing a bug in non-SEF mode, one cleaning up routing further in Joomla 4.0 (thus completing the proper implementation for this in 4.0) and the last one making it possible to remove IDs from URLs in Joomla. With that and after around 500 hours of coding, explaining and defending, the work for the Joomla project in this crowdfunding project is finished."
This will make Joomla 3.7 a huge step forward, especially with the other new features that are also included, like the new admin interface and the editor changes.
Joomla 3.7 URL routing changes
Under the hood, the routing system has changed considerably, but many of those improvements may not be immediately visible to many users. One option is, though: we can now finally remove the irritating ID-numbers from our URL's. If you currently have a blog or featured article listing, the article-alias will be prepended with the corresponding ID in the Joomla article table, like this:
The only way to get rid of this currently is to attach the individual article to a menu. In Joomla 3.7 this will change. However, only if you wish too: if you want to preserve your existing URL-structure, nothing will change. Having said that, let's take a look at the new options. The options are available from the Options button in the Articles overview. Actually, you see it in action in this animated GIF:
If you head over to the Integration tab, you will see an option called URL Routing (it's located here because you can switch on per component). By default, it is set to Legacy and if you leave it like that, really nothing will change and URL's will be built using the pre-Joomla-3.7 procedure. If you use Modern though, the new routing mechanism will be activated, which is a lot more efficient. However, your URL's will remain the same. Make sure to test this, but most probably you will see no changes (also mentioned at the end of this video by Brian Teeman).
However, you may also notice that a new option popped up after changing Legacy to Modern, called Remove IDs from URLs. Well, no explanation needed, it will do just that: remove the ID. The earlier mentioned URL will now show as follows:
And your URL's are nice and clean!
Should you use this right away?
This is definitely the way to go for new sites. However, existing sites should either leave the Legacy mode or use Modern with the Remove-ID setting left to No. Never change URL's just like that, it could have serious SEO consequences! If you do decide to use the new structure and change your URL's, make sure to reroute them using a 301-redirect (there is no automatic redirection from legacy to modern URL's!).
Finally, next to the ID change, the code has become much more efficient and also it will become much easier for third-party developers to write clean URL's for their extensions. While many would perhaps even expect more changes, these will probably come in Joomla 4, like Wordpress-style options to choose a custom URL-scheme. Check out this great video on the Joomladay London site with an interview with Hannes Papenberg if you want to know more of the technical backgrounds of the changes.
Joomla 3.7 is currently aimed for December 2016.