noxdigital Posted November 14, 2020 Share Posted November 14, 2020 Bonjour, Un de mes clients utilise Prestashop et a été piraté il y a quelques mois, avec pour conséquence la création d'un nombre impressionnant de catégories. Il avait alors pu trouver une solution technique pour supprimer ces catégories résiduelles, cependant l'auto-increment de la table ps_category est resté à plus de 2500000. Entre temps il a créé une trentaine de catégories, qui ont par conséquent un très grand ID. Nous aimerions trouver une solution propre pour redescendre ces IDs à partir de celui qui aurait dû être le bon (150). La raison, c'est que cela pose conflit avec un outil que nous réalisons qui se base sur les URLs de son site. Son format d'URL rewriting est le même pour les produits et les catégories ( /:id-titre.html ). Avant, nous pouvions déterminer qu'une URL était un produit si l'ID extrait était supérieur à 20.000.000 car ses premiers produits sont de cet ordre de valeur, et les catégories étaient inférieur à 150. Suite à ce piratage, cela n'est plus possible car une trentaine de catégories ont un ID qui pourrait être aussi un ID de produit. Nous ne voulons pas changer les URLs rewriting. J'ai tenté un ALTER TABLE pour redescendre l'AUTO_INCREMENT à 150, mais sans succès, sûrement dû au fait qu'il y ait toujours cette trentaine d'id_category avec un ID au-dessus de 150 dans la table. Nous envisageons de supprimer toutes ces catégories, puis de retenter l'ALTER TABLE pour redescendre l'AUTO_INCREMENT à 150, et enfin recréer les catégories et réassigner les produits. 1) Pensez-vous que l'ALTER TABLE pour rechanger l'auto-increment à 150 fonctionnera bien cette fois si cette table ne contient plus d'id_category >= 150 ? 2) Voyez-vous une meilleure solution ? Merci d'avance pour vos conseils :-) Link to comment Share on other sites More sharing options...
doekia Posted November 14, 2020 Share Posted November 14, 2020 Commencer par changer tous les id_category (ps_category, ps_category_shop, ps_category_lang, ps_category_product) vous pourrez ensuite ajuster l'auto-incrément Attention vous devrez surement mettre en place des redirections 301 pour éviter de perdre le flux de référencement sur les catégories actuellement indexées/référencées Link to comment Share on other sites More sharing options...
noxdigital Posted November 14, 2020 Author Share Posted November 14, 2020 Bonjour Doekia, Merci pour votre retour, cependant avec les modules installé, la DB contient 872 tables, j'ai bien peur qu'il y ait bien plus de tables qui contiennent cet id_category, sous ce libellé ou un autre d'ailleurs, ça me semble donc assez risqué de changer les valeurs des id_category. Néanmoins, si vous pensez qu'en supprimant les id_category > 150, que je pourrais baisser l'auto-increment à 150 via un ALTER TABLE, alors nous allons tenter cette option, puis recreer les 30 catégories concernées. Merci Link to comment Share on other sites More sharing options...
doekia Posted November 15, 2020 Share Posted November 15, 2020 Je vous ai donné toutes les tables concernées par le coeur, il peut y avoir l'id_category dans des module de menu mais il suffira de recréer les entrées ensuite. Supprimer ou changer les valeurs représente exactement le même scénario coté code. Link to comment Share on other sites More sharing options...
noxdigital Posted November 15, 2020 Author Share Posted November 15, 2020 Merci pour votre retour, en cherchant une de ces valeurs d'id_category très élevée, j'ai pu trouver beaucoup plus de tables où cet ID apparaît : ps_canonicalseo_categories_urls ps_category ps_category_group ps_category_lang ps_category_product ps_category_shop ps_creativepage ps_ganalytics_data ps_log ps_pm_advancedsearch_category ps_pm_advancedsearch_criterion_10_link ps_pm_advancedsearch_criterion_11_link ps_pm_advancedsearch_criterion_12_link ps_pm_advancedsearch_criterion_13_link ps_pm_advancedsearch_criterion_16_link ps_pm_advancedsearch_criterion_17_link ps_pm_advancedsearch_criterion_18_link ps_pm_advancedsearch_criterion_19_link ps_pm_advancedsearch_criterion_1_link ps_pm_advancedsearch_criterion_3_link ps_pm_advancedsearch_criterion_4_link ps_pm_advancedsearch_criterion_5_link ps_pm_advancedsearch_criterion_6_link ps_pm_advancedsearch_criterion_7_link ps_pm_advancedsearch_criterion_8_link ps_pm_advancedsearch_criterion_9_link ps_pm_advancedsearch_products_cat Et cela ne concerne que la valeur de l'id que j'ai choisi, il faudrait que je fasse cette recherche pour les 30 id_category concernés, puis en effet que je descende leurs valeurs, puis de gérer les redirections 301. Merci en tout cas pour votre aide, et bonne journée Link to comment Share on other sites More sharing options...
doekia Posted November 15, 2020 Share Posted November 15, 2020 les champs id_category dans pm_advancedsearch seront mis à jour en réindexant votre module advanced_search on se moque de ps_log sans conséquence creativepage c'est comme le menu de toute manière vous devrez controler toutes vos entrées ganalitics_data sans conséquences canonicalseo_categories_urls a corriger en controllant le module concerné j'avais en effet raté dans mes mentions category_group 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now