J3.x:New Routing System
From Joomla! Documentation
The New Routing System
The new routing system defines a new and more flexible interface for developers to handle creating and processing URLs and gives end users more options as it relates to how URLs are displayed (including the often requested ability to remove content item IDs from the URL).
As of Joomla! 3.8, for the components which support the new router (Content, Contacts, Users, and Newsfeeds), it is possible to set up the router to run in one of three different configurations:
- The current routing system (which will remain the default behavior for new installations and the option that will be generally recommended for existing sites when upgrading),
- The new routing system,
- The new routing system with content item IDs removed.
Because the URLs generated with the new routing system are not 100% compatible with the existing router and its URLs, it is suggested that existing sites do not enable the new system without thoroughly testing their sites in a staging environment and addressing any URL changes.
New sites are encouraged to make use of the new system immediately.
What are the changes in the URLs?
When SEF options are enabled, here are two pages from the testing sample data set with each of the routing configurations:
- Animals Photo Gallery Category Page:
- Existing router: /article-categories/72-park-site/photo-gallery/animals
- New router enabled with IDs: /article-categories/26-park-site/28-photo-gallery/72-animals
- New router enabled without IDs: /article-categories/park-site/photo-gallery/animals
- Koala Article Page:
- Existing router: /article-categories/72-park-site/photo-gallery/animals/25-koala
- New router enabled with IDs: /article-categories/26-park-site/28-photo-gallery/72-animals/25-koala
- New router enabled without IDs: /article-categories/park-site/photo-gallery/animals/koala
The numbers indicate the IDs of your categories and articles.
With the new router and the Remove IDs option enabled, the IDs are removed, which allow to have cleaner and more friendly URLs. It will also improve your SEO.
How can I enable the new routing system?
The New Routing System is available for Content, Contacts, Users, and Newsfeeds. The way to enable this new features is the same for each of them.
Let's take Content as example.
- Log in the backend
- In the top menu, navigate to Content → Articles
- Click on the button Options at the top right
- Click on the Integration tab
- Activate the New Routing System:
- Click on Save or Save & Close at the top left
- Visit your frontend and check your URLs.
(Remember to clear the cache first to see the effects.)
Follow the same process for Contacts, Users and Newsfeeds.
NB: There are cases where changing the routing system can change a page’s URL and cause an existing page to give a 404 response. Developers are still discussing ideas for a migration plan to keep old URLs working to some extent.