Comment supprimer et régénérer les réécritures d'URL dans Magento 2?


23

J'ai récemment créé 2 vues de magasin supplémentaires sur magento 2 store. Maintenant, l'url de la catégorie et des produits n'est pas pour ces magasins n'est pas approprié

Par exemple: http://example.com/catalog/category/view/s/pouches/id/20/ qui est censé être http://example.com/accessories/pouches.html

Maintenant, lorsque j'enregistre chaque produit et catégorie une par une, il régénère la réécriture d'URL pour ce produit ou cette catégorie.

Mais il y a beaucoup de produits et de catégories.

Existe-t-il un moyen de régénérer la réécriture d'URL

comme dans Magento 1.x, cela peut être fait par réindexation.


Dans Magento 2, le module de réécriture d'URL n'utilise pas Indexer pour créer des réécritures. La réécriture est générée lors du processus de sauvegarde / importation des pages produit / catégories / cms. Vous devrez donc peut-être suivre la méthode de chargement et d'enregistrement des catégories par programmation
mp196

pouvez-vous me suggérer une référence pour créer un script pour le faire.
Arun Karnawat

Vous devez à nouveau réindexer.
Vaibhav Jain

J'ai déjà essayé l'indexation, il n'y a pas d'index de réécriture d'URL dans Magento 2. Donc, cela n'a pas fonctionné. J'ai à nouveau
réindexé

1
Pour les produits, vous essayez de les sélectionner tous dans la grille, puis de sélectionner les attributs de mise à jour et dans l'onglet sites Web, de sélectionner le site Web (bien que les produits soient déjà attribués au même site Web).
mp196

Réponses:


16

Ce module est obsolète, vous pouvez utiliser ce module à la place

Télécharger à l'aide de Composer;

le compositeur a besoin d'elgentos / régénérer-catalogue-urls

configuration de php bin / magento: mise à niveau

Régénérer l'URL pour tous les produits et le magasin mondial

php bin / magento regénérer: produit

Régénérer l'URL pour les produits avec ID (1, 2, 3, 4) pour le magasin 1

php bin / magento regénérer: produit: url -s1 1 2 3 4


ce module est bogué, mais peut toujours aider dans certains cas.
Gediminas

Oui, et il nous sera utile d'utiliser ces méthodes pour déclencher la réécriture de l'URL du produit.
Développeur principal

1
Actuellement, ne fonctionne pas en 2.1.9 ...
Spyrule

@Spyrule Je suis sur 2.1.9 et j'ai rencontré des problèmes. Cependant, après avoir enregistré mon problème, quelqu'un m'a signalé cette demande de tirage qui n'a pas été approuvée mais qui me convient
David Wilkinson

@Gerdiminas quels bugs connaissez-vous?
harri

19

Vous pouvez utiliser l' extension Régénérer une réécriture d'URL (elle permet de régénérer une réécriture d'URL de produits et de catégories).

Pour recréer toutes les réécritures Url des catégories / produits dans tous les magasins (il prend en charge plusieurs magasins), exécutez:

$> bin/magento ok:urlrewrites:regenerate

Pour régénérer les réécritures d'URL dans la vue de magasin spécifique (par exemple, l'ID de la vue de magasin est "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
Cette extension fonctionne parfaitement pour moi. Merci pour votre extension.
mapaladiya

ça marche très bien! THX!
LucScu

Est-ce que cela supprime les anciennes réécritures?
Matthew McLennan

1
Ça marche toujours? Ce n'est pas pour moi.
Kirby

1
@OlegKoval J'ai installé la version 1.3.1 mais cela ne fonctionne toujours pas pour moi. Alors, quel est le problème derrière cela?
Chintan Kaneriya

3

Pour mettre à jour la réponse de @mahendra Jella, essayez cette branche de la même extension: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Celui - ci peut régénérer les URL pour les catégories aussi .

La commande se déroule comme suit:

php bin/magento iazel:regenurl
# Regenrate Category URL keys >
php bin/magento iazel:regenerate_urls

Cette extension a très bien fonctionné pour moi dans 2.1.9. Aidé à identifier également les produits URL en double par ID (bien qu'une mise à jour mineure pour répertorier le SKU serait utile).
Spyrule

Cette extension ne fonctionne pas pour moi magento 2.2.9
jruzafa

3

Il existe en fait un moyen facile de résoudre ce problème sans trop de problèmes. Pour les personnes TL: DR, les parties en gras sont pertinentes.

Une chose à vérifier en premier; si vous avez plusieurs vues de magasin, accédez au produit et basculez la vue vers une vue particulière. Faites défiler vers le bas et assurez-vous que la clé URL est définie sur "Utiliser la valeur par défaut". Si ce n'est pas coché, il ne sera jamais généré. Je pense que cela peut se produire lorsque vous importez des produits M1. J'ai eu plus de 200 produits à retoucher.

Cette correction est également utile si vous effectuez l'astuce où vous basculez votre magasin vers une racine et un arrière différents, ce qui nettoie tout. Y compris vos personnalisées. Et cela ne peut se terminer qu'avec les URL de catégorie. Je ne sais pas pourquoi la génération d'URL pour les produits échoue complètement, mais je pense que c'est parce que Magento essaie de créer trop de liens en une seule opération qui échoue.

Alors essayez ça. Ouvrez la fenêtre de réécriture d'URL et notez le nombre d'entrées. Cela vous permet de savoir si cela fonctionne.

Allez dans une catégorie de premier niveau (cela ne fonctionne pas par défaut car il n'a pas de clé URL). Faites défiler jusqu'à Search Engine Optimization / URL-Key. Ajoutez un X à la fin de la clé. Décochez la case "Créer une redirection permanente pour l'ancienne URL", cela ajoute seulement plus de travail à l'opération. Enregistrez votre catégorie.

Répétez l'opération et supprimez le X, décochez à nouveau la case "Créer une redirection permanente pour l'ancienne URL", car vous n'avez pas besoin que ces anciennes URL obstruent le tableau. Enregistrez à nouveau.

Actualisez la page de réécriture d'URL et vous devriez voir un nouveau numéro et de nouvelles URL brillantes.

Répétez au besoin.

Pour info, les très grosses catégories peuvent expirer. Donc, dans ces cas, faites les sous-catégories plus petites par elles-mêmes. Sur mon serveur, ce seuil est d'environ 400 entrées.

Magento est assez intelligent pour créer des liens pour la catégorie au-dessus de vos sous-catégories. Il est également suffisamment intelligent pour que lorsqu'il voit un produit dans une autre catégorie, il crée également des liens.

Cela m'a pris un certain temps pour comprendre pourquoi je voyais de moins en moins de liens ajoutés alors que je descendais la liste des catégories. C'est parce qu'une majorité de produits étaient déjà sur la table et que seuls les retardataires qui n'étaient pas apparus auparavant sont restés.


0

J'ai donc eu ce problème pour les produits et j'ai résolu ce problème en utilisant la fonctionnalité de mise à jour en masse pour supprimer tous les produits du magasin, puis les rajouter. Je n'avais pas beaucoup de catégories, alors je suis juste entré et les ai sauvées.

Dans l'ensemble, je pense qu'il est préférable d'éviter la tactique de troncature et de régénération que nous avons effectuée dans Magento 1. Si votre produit réécrit semble incorrect, faites simplement ce que j'ai publié ci-dessus et cela devrait les corriger.



0

Moi aussi, j'ai eu ce problème, j'utilise magento 1.9.2.4, magento ne fournit aucune méthode pour régénérer les URL personnalisées. Donc, ce que j'ai fait est peu sur la table, et cela a résolu le problème, je n'ai jamais essayé l'extension de réécriture d'URL magento, donc je ne peux pas dire comment ils fonctionnent.

Remarque - Vous ne devriez peut-être pas considérer cela si vous avez trop de réécriture d'URL personnalisées.

Magento régénère ses redirections par défaut, donc si une réécriture personnalisée provoque un problème, vous pouvez tronquer la table core_url_rewrite de votre base de données magento.

entrez la description de l'image ici

Assurez-vous de faire une sauvegarde de la base de données avant de le faire.


C'est tout le point contrairement à magento 1, magento 2 n'a pas d'index pour régénérer l'url. La question concerne Magento 2.1
Arun Karnawat

0

Malheureusement, aucune de ces extensions / modules n'a fonctionné pour moi. J'ai environ 4000 produits et je passe de Magento 1.9.2.4 à 2.2.2. J'ai utilisé l'outil de migration de données et cela a fonctionné comme un charme, à part ce problème.

Certains de mes produits ont des clés URL et d'autres non. Je n'ai qu'un seul magasin, ce qui est frustrant. Il semble que Magento considère l'administrateur comme un magasin.

La seule chose qui a fonctionné pour moi a été d'importer les produits avec l'option «remplacer». Et à des fins de référencement, je ne veux pas changer l'url de mes produits, même si c'est juste en ajoutant un numéro après.

Je vais essayer de supprimer les réécritures d'URL pour les produits uniquement.


0

J'ai rencontré un problème similaire. Dans Magento 1, il était possible de tronquer la table de réécriture d'URL et de réindexer. Magento 2 n'a pas d'indexeur de réécriture d'URL, ce n'est donc pas une option.

Beaucoup suggèrent l'extension Iazel. Je suis allé avec l' extension par Olgeg Koval , et cela a fonctionné à merveille. En exécutant Magento 2.2, il a supprimé toutes les réécritures d'URL existantes et les a régénérées pour toutes les vues de magasin. Zéro problème.


0

Tout ce que vous devez faire pour régénérer les réécritures est de lancer une réécriture. Accédez à une catégorie ou un produit et modifiez son URL dans la section SEO du produit / catégorie en ajoutant un "a-" à l'avant de celui-ci. Par exemple:

Url = "nom-produit" Nouvelle URL = "nom-produit"

Cela déclenchera la réécriture et refera toutes les autres réécritures.


Cela ne fonctionne que si vous avez une poignée de réécritures. Avec plus de 100 produits collés sur l'ancienne URL, ce n'est pas une solution réalisable.
Jacques
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.