Domanda

Sul mio sito, durante il processo di sviluppo, i prodotti venivano creati e importati utilizzando una varietà di processi.Ora trovo che le riscritture degli URL non sono uniformi e non sembrano funzionare in tutti i casi.

Alcuni prodotti riscrivono/reindirizzano correttamente, mentre altri non lo riscrivono/reindirizzano affatto. In questi casi, anche se nei prodotti sono presenti url_keys, la parte di riscrittura non sembra avvenire.

Dato che il sito è ancora in fase di sviluppo, non ho bisogno di preservare eventuali vecchie riscritture o personalizzazioni.Mi piacerebbe davvero eliminarli tutti e rigenerarli tutti in base ai nomi dei prodotti attuali.

In CE, troncherei la tabella core_url_rewrite e la reindicizzerei, e questo si occuperebbe di tutto.Non sono sicuro che ciò sia possibile nell'edizione Enterprise. Esiste un processo/procedura simile che posso utilizzare per ricreare le riscritture e fare in modo che i prodotti utilizzino le riscritture? Ho riscontrato problemi simili riguardanti la versione 1.13 e commenti sulla correzione di comportamenti simili, ma non mi sento a mio agio a lavorare con istruzioni vecchie di 2-3 anni e con versioni di Magento precedenti di 2-3 anni.

AGGIORNAMENTO:

Ho eseguito questa query MySQL per rimuovere tutte le riscritture degli 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;

Quindi reindicizzare tutto dalla riga di comando...

Questo ha aiutato molto, ma Vedo ancora alcuni prodotti a cui è assegnato un url_key, ma non sembra avere una riscrittura associata nella banca dati.

Nel frontend vedo:http://dev.xxxx.com/catalog/product/view/id/8573/

invece di: http://dev.xxxx.com/my-really-cool-product/

dove il valore "my-really-cool-product" è il valore del prodotto "url_key".

È stato utile?

Soluzione

Ho ricevuto questa patch dal supporto Magento:

SUPEE-7854 (I nuovi prodotti e le nuove categorie non verranno visualizzati sul front-end a meno che non li reindicizziamo tutti) NOTA:Questa patch include la correzione di SUPEE-7345 --- Le chiavi URL sono in formato errato, non SEO

Che ho installato, quindi ho svuotato le tabelle di reindirizzamento degli URL come specificato sopra e reindicizzato.

La patch e la reindicizzazione hanno risolto il problema dei reindirizzamenti interrotti (o meglio, hanno creato reindirizzamenti per quei prodotti che prima ne mancavano) ma sembrava anche che i reindirizzamenti "buoni" esistenti fossero interrotti dalla cancellazione di "url_key" per quei prodotti .

Ho aperto tutti i prodotti interessati e li ho immediatamente salvati di nuovo per rigenerare nuovi valori "url_key".(Avrebbe potuto essere un buon posto per automatizzare il processo, ma a causa del numero relativamente piccolo di prodotti interessati, ho scelto di farlo semplicemente "manualmente".) Ora tutti i prodotti si comportano come previsto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top