PrestaShop: remove ID from product URLs, when it pays off and how to do it safely
Removing the ID from product addresses in PrestaShop is not possible through settings alone, as the shop recognises the product by the number in the address. You need a third-party module, and the change affects every product and category at once. It rarely pays off, except for a new shop or a move from another platform. In a running shop, start on a test copy.
Author: The TellMyShop team. A guide for PrestaShop store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
Why does PrestaShop keep the ID in the address?
The default product address looks like this: /lanterns/215-nora-lantern.html. The number 215 is the product ID. When a customer opens that address, PrestaShop looks the product up by its number and treats the rest of the address as a description.
You set the pattern under Shop Parameters → Traffic & SEO, in the SEO and URLs settings, in the route to product field. By default it contains the category, ID, name and optionally the combination and EAN. You can reorder the keywords, but the ID has to stay. This is described in the PrestaShop documentation on SEO and URLs, and the InMotion Hosting guide shows an example of changing the pattern.
The ID also has an advantage few people remember. When you change a product's name and friendly URL, the old address still contains the same number. The shop finds the product and redirects to the new address. Without the ID, that safety net is gone. The details are in the article on changing a product URL.
When is it worth removing the ID, and when not?
In short: it is worth it when you are changing all addresses anyway. It is not worth it when the shop is running, gets traffic from Google and the only reason is how the address looks.
| Situation | Worth it? | Why |
|---|---|---|
| New shop, no Google traffic yet | yes, if you want | there are no old addresses to redirect |
| Moving from another platform with addresses without numbers | often yes | you keep addresses Google already knows |
| Running shop with Google traffic | usually not | you change every address in the shop, and the gain is uncertain |
| Shop with many products with similar names | probably not | friendly URLs will repeat |
| Shop in several languages | with care | each language is a separate set of addresses and redirects |
| Shop on PrestaShop 1.7 | update first | URL modules are written for specific versions |
Google's guide to URLs in online shops, covered by Search Engine Land, recommends descriptive words in the address and as few different addresses for the same page as possible. A PrestaShop address with an ID has descriptive words. Removing the number adds no content, and for a while it increases the number of addresses, because old and new ones work side by side.
What can go wrong?
Most problems come from things you don't see on a single test product.
Repeated friendly URLs. Two products called “Linen cushion” have the same friendly URL. With the ID that doesn't matter. Without the ID the module has to pick one, and the other becomes unavailable or gets a suffix.
Old addresses without a redirect. Links from Google, ads and other sites lead to the old addresses. If the module doesn't redirect them with a 301 code, you get a wave of 404 errors. How to find and fix them afterwards is in the article on 404 errors in PrestaShop.
Dependence on the module. ID-free addresses work only as long as the module works. Disabling it, a failed update or a PrestaShop version change can break all addresses at once.
Clashes with categories and pages. A product, a category and an information page can have the same friendly URL. The module has to know what to show.
Google has to learn the shop again. Even with good redirects, it takes a while for Google to move from the old addresses to the new ones. Nobody can tell in advance whether and how visits will change in that time.
How to do it safely if you decide to
Test copy first, then production. You make the whole change once on the copy, check it and only then repeat it on the live shop.
- Make a test copy of the shop with your host, for example at staging.yourdomain.com, and block it from Google.
- Export the list of current addresses for products, categories and pages. You will need it to check the redirects.
- Find repeated friendly URLs and fix them before you install the module.
- Install the module on the test copy and set the address pattern without the ID.
- Check a sample of old addresses. Each should redirect with a 301 code to the new one, and the new one should respond with 200 and a canonical pointing to itself.
- Check the other languages, product combinations and category pages with filters.
- Repeat the change on the shop on a quiet day, update the sitemap and watch the 404 report over the following weeks.
How can the chat help?
Your chat (Claude or ChatGPT) won't replace a module for ID-free addresses. It will help you assess the risk before you decide and go through the whole plan without skipping steps.
You: I want to remove the ID from product addresses. Assess how much risk that is in my shop.
Your chat: The shop has 1,240 active products in two languages. 37 products in English and 52 in German have a friendly URL repeated in another product. Without the ID those addresses will clash. The redirect to the canonical address is set to 302, not 301.
Your chat: I suggest a plan: first I fix the repeated addresses, then you install the module on the test copy, and I check a sample of 50 old addresses. The first fix:
You: I agree with the plan. Save this address.
Your chat: Saved. The old address redirects to the new one, for now with a 302 code, because that is how the shop is set. I'll show the other addresses in the next previews.
old version: linen-cushion
new version: linen-cushion-40x40-grey
The numbers in the example are illustrative.
In the free TellMyShop Free the chat reads the shop's reports: products, addresses, 404 errors and the module list, so it helps with a first assessment. It changes nothing. TellMyShop Pro reads the whole shop, including settings and the database, so it finds repeated addresses in all languages. It saves friendly URL fixes straight after you activate the licence. You undo an address change with another change, not from the change history, which is why the chat shows each one in a preview. Installing a module needs the Modules switch, and changing a hidden setting, such as the redirect from 302 to 301, needs the Service switch. The use case changing a setting hidden in the admin shows this.
The licence works on test domains without limit, so you go through the whole plan on a copy first, as in the use case risky changes on a test copy first. A single address change with a redirect is described in the use case changing a product URL without losing traffic. Plans are in the pricing.
Questions and answers
Can I remove the ID from the address without a module?
Not in PrestaShop itself. The route to the product in the SEO and URL settings requires the id keyword, because the shop uses it to recognise the product. Addresses without the ID come from third-party modules that recognise the product by its friendly URL.
Does the ID in the address hurt in Google?
A number in the address is not a mistake in itself. Google advises that an address should contain descriptive words, and a PrestaShop address has them next to the ID. That is why removing the ID is rarely the first thing to fix in a shop.
What happens to the old addresses after removing the ID?
They must redirect with a 301 code to the new ones. Some modules do this themselves, others need a separate redirect list. Without it, links from Google, ads and other sites lead to a 404 error.
Can I go back to addresses with the ID if something goes wrong?
Technically yes, but it is a second change of every address at once. Google has to learn the new addresses again, and the redirects have to work both ways. That is why you decide after a trial on a test copy, not after changing the live shop.
Will TellMyShop remove the ID from addresses?
TellMyShop does not replace a module for ID-free addresses. The chat in TellMyShop Pro assesses the risk in your shop, finds duplicate friendly URLs, installs the chosen module on a test copy and checks the redirects. The free TellMyShop Free helps with the assessment, but saves nothing.
PrestaShop is a registered trademark of PrestaShop SA. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.