Les réécritures d'URL dans la version 1.14 (EE) ne semblent pas être créées ou mises en œuvre pour tous les produits

magento.stackexchange https://magento.stackexchange.com/questions/106174

Question

Sur mon site, au cours du processus de développement, des produits ont été créés et importés selon divers processus.Maintenant, je trouve que les réécritures d'URL ne sont pas uniformes et ne semblent pas fonctionner dans tous les cas.

Certains produits réécrivent/redirigeent correctement, et d’autres ne réécrivent/redirigent pas du tout. Dans ces cas, même si des url_keys sont stockées dans les produits, la partie réécriture ne semble pas se produire.

Étant donné que le site est toujours en développement, je n'ai pas besoin de conserver les anciennes réécritures ou les réécritures personnalisées.J'aimerais vraiment tous les effacer et les régénérer tous en fonction des noms de produits actuels.

En CE, je tronquerais la table core_url_rewrite et la réindexerais, et cela réglerait les choses.Je ne sais pas si cela est possible dans l'édition Enterprise. Existe-t-il un processus/une procédure similaire que je peux utiliser pour recréer les réécritures et faire en sorte que les produits utilisent les réécritures ? J'ai vu des problèmes similaires impliquant la version 1.13 et des articles sur la correction de comportements similaires, mais je ne suis pas à l'aise de travailler avec des instructions datant de 2 à 3 ans et pour des versions de Magento datant de 2 à 3 ans.

MISE À JOUR:

J'ai exécuté cette requête MySQL pour supprimer toutes les réécritures d'URL :

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE `enterprise_url_rewrite_redirect_rewrite`;
TRUNCATE TABLE `enterprise_url_rewrite_redirect_cl`;
TRUNCATE TABLE `enterprise_url_rewrite_redirect`;
TRUNCATE TABLE `enterprise_url_rewrite_product_cl`;
TRUNCATE TABLE `enterprise_url_rewrite_category_cl`;
TRUNCATE TABLE `enterprise_url_rewrite`;
TRUNCATE TABLE `enterprise_catalog_product_rewrite`;
TRUNCATE TABLE `enterprise_catalog_category_rewrite`;
TRUNCATE TABLE `core_url_rewrite`;
SET FOREIGN_KEY_CHECKS = 1;

Ensuite, réindexez tout à partir de la ligne de commande...

Cela a beaucoup aidé, mais Je vois encore certains produits auxquels une url_key est attribuée, mais qui ne semblent pas avoir de réécriture associée. dans la base de données.

Dans le frontend, je vois :http://dev.xxxx.com/catalog/product/view/id/8573/

au lieu de: http://dev.xxxx.com/my-really-cool-product/

où la valeur "my-really-cool-product" est la valeur du produit "url_key".

Était-ce utile?

La solution

J'ai reçu ce patch du support Magento :

SUPÉE-7854 (Les nouveaux produits et catégories ne s'afficheront pas sur le front-end à moins que nous ne les réindexions tous) REMARQUE :Ce correctif inclut le correctif de SUPÉE-7345 --- Les clés URL sont dans un format incorrect et non SEO

Que j'ai installé, puis vidé les tables de redirection d'URL comme spécifié ci-dessus et réindexé.

Le correctif et la réindexation ont résolu le problème des redirections interrompues (ou plutôt créé des redirections pour les produits qui en manquaient auparavant), mais il semblait également que les "bonnes" redirections existantes étaient interrompues par la suppression de la "clé_url" pour ces produits. .

J'ai ouvert chaque produit concerné et je les ai immédiatement sauvegardés à nouveau pour générer de nouvelles valeurs "url_key".(Cela aurait pu être un bon endroit pour automatiser le processus, mais en raison du nombre relativement faible de produits concernés, j'ai choisi de le faire simplement "manuellement".) Désormais, tous les produits se comportent comme prévu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top