A common question is how to remove the id from the Joomla article link. Today I will teach you how to easily fix the link for further promotion on the Internet.

Numbers in Joomla article URLs are not just an aesthetic problem. This is a direct path to reduced clickability, poorer site perception, and loss of positions in search results. In this article, we will cover all possible ways to remove ID from Joomla links, from simple settings to advanced methods, and you will learn which approach is right for your site.

What is ID in Joomla links and why does it appear there

By default, Joomla generates article URLs using a scheme that includes a numeric identifier. For example: https://yoursite.ru/category/123-article-title. The number "123" in this URL is the very ID that spoils the impression of the link and hinders SEO.

In older versions of Joomla (before 3.8), the URL was formed as "article id + article alias". For example, 145-my-article-alias. The old Joomla router was not ideal and created duplicate pages.

Starting from Joomla 3.8, a new router was included in the core that removes the article id from the URL. However, this feature is not enabled by default and must be activated manually.

Impact of ID in URL on SEO and usability

Search engines, primarily Google, prefer clean, human-readable URLs. Links without extra numbers and characters are better perceived by users, easier to remember, and easier to share on social networks.

According to official Joomla documentation, when the option to remove ID is enabled, "URLs become cleaner and more user-friendly. This will also improve your SEO."

In addition, the old router created a duplicate page problem – the same article could be accessed via several different URLs, which negatively affected rankings.

Ways to remove ID from Joomla article URLs

Method 1: Through Joomla settings (recommended for Joomla 3.8+)

This is the simplest and safest method available in modern Joomla versions.

Step-by-step instructions:

  1. Log in to the Joomla administration panel
  2. Go to System → Global Configuration
  3. Select the "Articles" section in the left sidebar
  4. Go to the "Integration" tab
  5. Change the "URL Routing" parameter from "Legacy" to "Modern"
  6. Enable the "Remove ID from URL" option to "Yes"
  7. Click "Save" or "Save & Close"
Important! On a live site, enabling this option will change all article URLs. If you already have indexed pages, you need to set up redirects from old URLs to new ones.

Method 2: Editing the config.xml file (for older Joomla versions 2.5–3.7)

If you are using an older version of Joomla, this method will allow you to add the required option to the article settings.

We need the config.xml file located in the folder: /administrator/components/com_content/config.xml on your hosting.

Copy this file and open it with any text editor. This file is responsible for article settings, or more precisely, for display in the system.

Find the code in it:

 description="COM_CONTENT_CONFIG_ARTICLE_SETTINGS_">

and after it insert the following:

 <field name="sef_advanced_link" type="radio" default="1" label="SEF: Remove article ID from URL" description="Remove ArticleID from URL?"> <option value="0">JNO</option> <option value="1">JYES</option> </field>

After this, a new parameter "Remove article ID from URL" will appear in the article settings. Setting it to "Yes" will remove the article ID from links.

Method 3: Editing the router.php file (alternative hack)

This method is suitable for situations where for some reason you cannot edit config.xml.

You need to open the file /components/com_content/router.php and find the line:

$advanced = $params->get('sef_advanced_link', 0);

Replace it with:

$advanced = $params->get('sef_advanced_link', 1);
Important caveat: This method requires modifying the Joomla core, and all changes will be lost when the system is updated. Use it only as a temporary solution.

Method 4: Direct database editing (for Joomla 3.7)

In Joomla 3.7, the developers left the new router code but did not add an interface to enable it. The problem can be solved through the database:

  1. Open phpMyAdmin and select your site's database
  2. Find the table #__extensions
  3. Open the row where the name field equals com_content
  4. Add to the params field before the closing curly brace: ,"sef_advanced":"1","sef_advanced_link":"1"
  5. Save the changes and clear the Joomla cache

Comparison table of ID removal methods

Method Joomla versions Complexity Safety Preservation on update
Settings (Modern Router) 3.8+ Low High Preserved
Editing config.xml 2.5–3.7 Medium Medium Lost
Editing router.php Any Medium Low Lost
Database editing 3.7 High Medium Preserved

Solving the problem when upgrading from Joomla 3 to Joomla 4/5

When upgrading large old sites to Joomla 4 and Joomla 5, many webmasters face a dilemma: the new router removes ID from URLs, but the old URLs are already indexed by search engines.

The solution is quite simple: you need to save the Joomla article ids into aliases and then disable the old Joomla router. In the database, the article id is prepended to each alias, making it look like the old router format.

To automate this process, there is a plugin "Console - Save old articles aliases". Instructions for use:

  1. Connect to the server via SSH
  2. Navigate to the CLI folder of your site
  3. Run the command: php joomla.php oldarticlesaliases:save

The plugin will process all articles on the site. To test before applying, use the test argument: php joomla.php oldarticlesaliases:save test. To process only selected categories, specify their IDs via the --cats option: php joomla.php oldarticlesaliases:save --cats=12,140,211.

Creating redirects from old URLs to new ones

When changing the URL structure, it is crucial to set up redirects so as not to lose positions in search results and avoid broken links.

Joomla has a built-in component "Redirects" for this:

  1. Go to Components → Redirects
  2. You may need to enable the redirect plugin – follow the on-screen instructions
  3. Click the "New" button in the toolbar
  4. In the "Expired URL" field, enter the old URL with ID
  5. In the "New URL" field, enter the new URL without ID

Alternative solutions: third-party extensions

If the built-in Joomla tools are not suitable for some reason, you can use third-party extensions:

Extension Functionality Installation complexity
Direct Alias Pro Removes ID from URLs of articles, categories and tags Low
SEF Wizard Removes ID from URLs of standard Joomla components, removes duplicate pages Low

Extensions have their advantages: they do not require core editing, are easy to install and update. However, it is worth noting that most of them are paid.

Frequently Asked Questions (FAQ)

Will ID removal work after updating Joomla?

If you used the built-in settings (Modern Router), the settings will be preserved during update. If you edited core files (config.xml, router.php), the changes will be lost during update.

What to do if links do not work (404 error) after enabling the option?

This can happen on old sites that already have indexed URLs with ID. The solution is to set up redirects through the "Redirects" component or use the Console - Save old articles aliases plugin before enabling the new router.

How to check that the ID has actually been removed from the URL?

Open any article on the site and look at the URL in the browser address bar. If there are no numbers before the article title in the link – everything is working correctly. You can also check using browser developer tools.

Does removing ID affect existing links in social networks?

Yes, old links will stop working. Therefore, before changing the URL structure, it is recommended to set up redirects so that users who follow old links are automatically redirected to the new URLs.

Is it possible to remove ID only for certain articles?

With built-in Joomla tools this cannot be done – the option applies globally to all articles. For selective removal of ID, you will need to use third-party extensions or customize the code.

Conclusion

Removing ID from Joomla article URLs is an important step towards SEO optimization of your site. Clean, human-readable links are better perceived by users and search engines, which positively affects rankings.

The choice of method depends on the version of Joomla you are using:

  • Joomla 3.8 and above – use the built-in settings (recommended method)
  • Joomla 2.5–3.7 – edit config.xml
  • Joomla 3.7 (special case) – edit the database
  • Any version – you can use third-party extensions

Do not forget about redirects when changing URLs on a live site – this will preserve link equity and prevent broken links.

Now you know all the ways to remove ID from Joomla article. Choose the one that suits your site and take action!

Судебный мониторинг - Все дела в одном месте
Отслеживайте процессы, получайте уведомления, анализируйте решения

Tap to react