Move products to another category in PrestaShop: 4 ways

You can move products to another category in PrestaShop in four ways: in each product page, with a CSV import containing a category column, with a paid module, or in a conversation with the chat with a preview. Before choosing, check one thing: does the default category change? If it does, product URLs will change and you will need 301 redirects.

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: · 5 min read

Move products or move the whole category?

Start with this question, because sometimes you don't need to move products at all. If Lanterns simply needs to sit under Garden lighting, you move the category in the tree. The products stay in it, and the menu and breadcrumbs change. You do this in the category edit screen by changing the parent category. The rules of the tree are described in the PrestaShop categories documentation.

You move products when their assignment changes. The Lighting category splits into wall lamps and garden lamps. The seasonal Summer category comes to an end. A supplier changed its range and some products fit better elsewhere. Then each product has to leave one category and join another.

Which ways of moving products are available?

Four sensible ones, and each has a different cost of a mistake.

MethodFor how many productsPreview before savingWhen something goes wrong
By hand in the product pagea few, a dozen or soyou only see one product at a timeyou fix it by hand
CSV import with a category columnhundredsnone, only a test importyou need an export from before the change
Paid bulk change modulehundredsdepends on the moduledepends on the module
Conversation with the chatup to 200 in one operationyes, with a list of changed URLsyou undo the whole operation from the change history

The product list in the admin has no “change category” bulk action. That's why there are modules for this one job, for example the X13 module for moving products (Polish-language page). Blogs also suggest a fifth way: an SQL query straight in the database. The PSKRK guide on bulk assigning products to a category shows it. Such a change bypasses everything the store does on save, including refreshing the search and filter indexes. Without a database backup and a developer we don't recommend it.

The import needs care. When updating products, the category column overwrites the existing assignments, and badly matched IDs will change the wrong products. Before you start, read the import documentation and make an export.

What happens to product URLs after a category change?

They only change when you change the default category and the product URL pattern includes it. In many stores the default pattern looks like /category/id-name.html. So a product moved from Summer to Lanterns gets a new URL. The old URL should redirect to the new one with a 301 so you don't lose traffic from Google and links. Google explains this in its guide to redirects.

Adding a product to a new category without changing the default one doesn't change the URL. That is a safe first step in a reorganisation. The full explanation of the difference between the default category and additional ones is in the piece on a product in several categories.

How to move products without losing traffic, step by step

Whatever method you use, stick to this order.

  1. Export the products from the categories you are changing. That is your copy of the assignments.
  2. Create the new categories and leave them disabled until you finish.
  3. Add the products to the new categories, without removing them from the old ones.
  4. Change the default category where needed. Check a few old product URLs.
  5. Enable the new categories and check them in a private browser window.
  6. Remove the products from the old categories, and disable or redirect the empty categories.
  7. After a week, go through the report of pages not found. More on this in the piece on 404 errors.

How much work does moving products by hand take?

Each product is a separate page. You open the product, untick the old category, tick the new one, change the default, save and go back to the list. A dozen products you can move straight away. With two hundred the work stretches over several evenings, and mistakes only show up when a customer lands on an empty category.

Manual work has another weakness. You don't see the whole picture before saving. You don't know how many URLs will change until you check each product separately. Nor do you have a single list of changes you can undo if the reorganisation turns out to be a bad idea. That's why for bigger changes it is worth having a preview of the whole operation and a way back.

How to move a whole range of products with one request

You write from where and to where, and your chat (Claude or ChatGPT) shows a preview with the number of products and the URL changes. After your approval it saves the changes and checks that the old URLs redirect.

You: Move all products from Summer (id 41) to Garden lighting (id 34). Keep them in Sale too and set Garden lighting as the default.

Your chat: Preview: 58 products. Each leaves Summer, joins Garden lighting and stays in Sale. The default category is in the URL, so the URLs will change:

Each old URL will redirect with a 301 to the new one.

You: Approved.

Your chat: Saved. I checked five old URLs, all redirect straight to the new ones. You can undo the operation from the change history.

Card status: waiting for your “yes”
change preview

old version: /summer/215-led-string-lights-10m.html

new version: /garden-lighting/215-led-string-lights-10m.html

Illustration: products, numbers and replies are examples.

One operation covers up to 200 products. Moving a category in the tree is also a single request, and the category's own URL doesn't change. TellMyShop Pro saves both kinds of change, with no extra switch. In TellMyShop Free the chat shows the category tree with product counts and plans the reorganisation without saving anything.

Ready-made requests are in the use cases moving products between categories and new categories and moving products into them. The cost of TellMyShop Pro is on the pricing page.

Questions and answers

Does PrestaShop have a built-in bulk category change?

Not in the product list. Bulk actions in Catalog > Products cover enabling, disabling, duplicating and deleting, but not assigning to a category. That leaves editing each product, importing a CSV file with a category column, a paid module, or a conversation with the chat with a preview of the changes.

Will I lose my Google rankings after moving products?

Not if the old URLs redirect to the new ones with a 301. A product URL only changes when you change the default category and the URL pattern includes it. After the change, open a few old URLs and check they lead straight to the new ones, without a chain of redirects.

What is the difference between moving products and moving a category?

Moving a category changes its place in the tree, for example Lanterns goes under Garden lighting. The products stay assigned to it as before. Moving products changes their assignments: they leave one category and join another. A store reorganisation often involves both.

What happens to products when I delete the old category?

When you delete a category, PrestaShop asks what to do with products that have it as their only category. You can assign them to the parent category, assign and disable them, or delete them. It is safer to move the products first, check the store and delete the empty category last. Redirect its URL as well.

How many products will the chat move at once?

One operation covers up to 200 products and up to 20 categories to add or remove. For a larger category the chat splits the work into batches, each with its own preview and approval. You set the hourly limits in the module panel. Before bigger work the chat checks whether the reorganisation fits within them and, if not, suggests stages.

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.

The English version launches in January 2027

Join the list and you'll hear first when it opens, with a 72-hour head start on the launch offer.

A few emails before launch. Unsubscribe in one click. Privacy policy

Read next