J3.x

J3.x:New Routing System

From Joomla! Documentation

Revision as of 05:34, 8 November 2018 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português do Brasil
Tutorial
The New Routing System
Joomla! 
3.8

Introduction

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.

Note

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?

Enable the new router

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
    J3.x-New-Router-Options-en.png
  • Click on the Integration tab
    J3.x-New-Router-Integration-Tab-en.png
  • Activate the New Routing System:
    • Click on Modern (was called Experimental when it was first introduced) to enable the new URL Routing
    • Click on Yes if you want to remove IDs.
      J3.x-New-Router-Integrations-Options-en.png
  • 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.