Come eliminare e rigenerare la riscrittura degli URL in Magento 2?


23

Di recente ho creato 2 punti vendita aggiuntivi sul negozio Magento 2. Ora l'URL della categoria e i prodotti non sono per quei negozi non è corretto

Ad esempio: http://example.com/catalog/category/view/s/pouches/id/20/ che si suppone sia http://example.com/accessories/pouches.html

Ora, quando salvo ogni prodotto e categoria uno per uno, rigenero la riscrittura dell'URL per quel prodotto o categoria.

Ma ci sono molti prodotti e categorie.

Quindi c'è un modo per rigenerare la riscrittura degli URL

come in Magento 1.x può essere fatto tramite reindicizzazione.


In Magento 2 il modulo di riscrittura dell'URL non utilizza Indexer per creare riscritture. La riscrittura viene generata nel processo di salvataggio / importazione delle pagine prodotto / categorie / cms. Quindi potrebbe essere necessario seguire il modo programmatico di caricare e salvare le categorie
mp196,

mi puoi suggerire qualche riferimento per creare script per farlo.
Arun Karnawat,

È necessario ripetere l'indicizzazione.
Vaibhav Jain,

Ho già provato a indicizzare, non c'è l'indice di riscrittura URL in Magento 2. Quindi non ha funzionato. Ora ho di nuovo reindex, non funziona
Arun Karnawat l'

1
Per i prodotti che provi è selezionarli tutti dalla griglia, quindi selezionare gli attributi di aggiornamento e nella scheda dei siti Web selezionare il sito Web (anche se i prodotti sono già assegnati allo stesso sito Web) Ciò consentirà di salvare nuovamente il prodotto e di rigenerare la riscrittura degli URL.
mp196,

Risposte:


16

Questo modulo è stato deprecato è possibile utilizzare questo modulo invece

Scarica utilizzando Composer;

il compositore richiede elgentos / rigenerate-catalog-urls

php bin / magento setup: upgrade

Rigenerazione dell'URL per tutti i prodotti e il negozio globale

php bin / magento rigenerate: prodotto

Rigenerazione dell'URL per i prodotti con ID (1, 2, 3, 4) per il negozio 1

php bin / magento rigenerate: prodotto: url -s1 1 2 3 4


quel modulo è difettoso, ma può comunque aiutare in alcuni casi.
Gediminas,

Sì, e sarà utile per noi utilizzare questi metodi per attivare la riscrittura dell'URL del prodotto.
Sviluppatore principale

1
Attualmente, non funziona in 2.1.9 ...
Spyrule il

@Spyrule Sono al 2.1.9 e ho riscontrato problemi. Tuttavia, dopo aver registrato il mio problema, qualcuno mi ha indicato questa richiesta pull che non è stata approvata, ma per me ha un fascino: github.com/Iazel/magento2-regenurl/pull/21/commits/…
David Wilkinson,

@Gerdiminas di quali bug conosci?
Harri,

19

Puoi utilizzare Rigenera un'estensione di riscrittura degli URL (consente di rigenerare una riscrittura degli URL di prodotti e categorie).

Per rigenerare tutte le riscritture URL delle categorie / prodotti in tutti i negozi (supporta un multistor) eseguire:

$> bin/magento ok:urlrewrites:regenerate

Per rigenerare le riscritture degli URL nella specifica vista dello store (ad es .: l'id della view dello store è "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
Questa estensione funziona perfettamente per me. Grazie per l'estensione.
mapaladiya,

funziona molto bene! grazie!
LucScu,

Questo elimina le vecchie riscritture?
Matthew McLennan,

1
Funziona ancora? Non per me
Kirby

1
@OlegKoval Ho installato la versione 1.3.1 ma non funziona ancora per me. Quindi qual è il problema dietro questo?
Chintan Kaneriya,

3

In aggiornamento alla risposta di @mahendra Jella, prova questo ramo della stessa estensione: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Questo può rigenerare gli URL per categorie troppo .

Il comando procede come segue:

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

Questa estensione ha funzionato magnificamente per me in 2.1.9. Ha aiutato a identificare i prodotti URL duplicati anche per ID (anche se sarebbe utile un aggiornamento minore per elencare lo sku).
Spyrule,

Questa estensione non funziona per me magento 2.2.9
jruzafa il

3

In realtà esiste un modo semplice per risolvere questo problema senza troppi problemi. Per le persone TL: DR, le parti in grassetto sono rilevanti.

Una cosa da controllare prima; se si dispone di più viste del negozio, accedere al prodotto e passare alla vista particolare. Scorri verso il basso e assicurati che la chiave URL sia impostata su "Usa valore predefinito". Se ciò non viene verificato, non verrà mai generato. Penso che ciò possa accadere quando importi prodotti M1. Avevo 200+ prodotti che avevano bisogno di essere ritoccati.

Questa correzione aiuta anche se fai il trucco in cui cambi il tuo negozio su un altro root e viceversa, che pulisce tutto. Compresi quelli personalizzati. E può finire con nient'altro che l'URL della categoria. Non sono sicuro del motivo per cui la generazione dell'URL per i prodotti fallisce completamente, ma penso che sia perché Magento sta cercando di creare troppi collegamenti in un'unica operazione che non riesce.

Quindi prova questo. Apri la finestra di riscrittura URL e annota il numero di voci. Questo ti fa sapere se funziona.

Vai in una categoria di primo livello (non funziona di default perché non ha una chiave URL). Scorri verso il basso fino a Ottimizzazione per motori di ricerca / Chiave URL. Aggiungi una X alla fine della chiave. Deseleziona "Crea reindirizzamento permanente per vecchio URL", aggiunge solo più lavoro all'operazione. Salva la tua categoria.

Ripeti l'operazione e rimuovi la X, deseleziona nuovamente "Crea reindirizzamento permanente per il vecchio URL", perché non hai bisogno di quei vecchi URL che intasano la tabella. Salva di nuovo

Aggiorna la pagina di riscrittura degli URL e dovresti vedere un nuovo numero e nuovi brillanti URL.

Ripeti se necessario.

Cordiali saluti, potrebbero davvero scadere grandi categorie. Quindi, in quei casi, esegui le sottocategorie più piccole da sole. Sul mio server quella soglia è di circa 400 voci.

Magento è abbastanza intelligente da creare i collegamenti per la categoria sopra le tue sottocategorie. È anche abbastanza intelligente che quando vede un prodotto in un'altra categoria, crea i collegamenti anche lì.

Mi ci è voluto un po 'per capire perché vedevo sempre meno collegamenti aggiunti mentre scendevo l'elenco delle categorie. Fu perché la maggior parte dei prodotti erano già sul tavolo e rimasero solo i barcollanti che non erano apparsi prima.


0

Quindi, ho riscontrato questo problema con i prodotti e risolto questo problema utilizzando la funzionalità di aggiornamento di massa per rimuovere tutti i prodotti dal negozio e quindi aggiungerli nuovamente. Non avevo molte categorie, quindi sono appena entrato e le ho salvate di nuovo.

Nel complesso, penso che evitare la tattica ole 'troncata e rigenerata che abbiamo fatto in Magento 1 sia probabilmente la migliore. Se le riscritture del tuo prodotto sembrano sbagliate, fai solo quello che ho pubblicato sopra e questo dovrebbe correggerle.



0

Anch'io ho avuto quel problema, sto usando magento 1.9.2.4, magento non fornisce alcun metodo per rigenerare gli URL personalizzati. Quindi quello che ho fatto è un po 'fuori dal tavolo, e ha risolto il problema, non ho mai provato l'estensione di riscrittura dell'URL di Magento, quindi non posso dire come funzionano.

Nota: forse non dovresti tenerlo in considerazione se hai troppe riscrizioni degli URL personalizzati.

Magento rigenera i reindirizzamenti predefiniti, quindi se una riscrittura personalizzata causa un problema, puoi troncare la tabella core_url_rewrite dal tuo database magento.

inserisci qui la descrizione dell'immagine

Assicurarsi di eseguire il backup del database prima di farlo.


Questo è l'intero punto a differenza di magento 1, magento 2 non ha un indice per rigenerare l'URL. La domanda riguarda Magento 2.1
Arun Karnawat,

0

Sfortunatamente nessuna di queste estensioni / moduli ha funzionato per me. Ho circa 4000 prodotti e sto passando da Magento 1.9.2.4 a 2.2.2. Ho usato lo strumento di migrazione dei dati e ha funzionato come un fascino, oltre a questo problema.

Alcuni dei miei prodotti hanno chiavi url e altri no. Ho solo un negozio che è la parte frustrante. Sembra che Magento consideri l'amministratore un negozio.

L'unica cosa che ha funzionato per me è stata l'importazione dei prodotti con l'opzione 'sostituisci'. E per scopi SEO non voglio cambiare l'URL dei miei prodotti, anche se si tratta solo di aggiungere un numero dopo.

Proverò a cancellare la riscrittura dell'URL solo per i prodotti.


0

Ho riscontrato un problema simile. In Magento 1, è stato possibile troncare la tabella di riscrittura dell'URL e reindicizzare. Magento 2 non ha un indicizzatore di riscrittura degli URL, quindi questa non è un'opzione.

Molti suggeriscono l'estensione Iazel. Sono andato con l' estensione di Olgeg Koval , e ha funzionato magnificamente. Eseguendo Magento 2.2, ha eliminato tutte le riscritture url esistenti e le ha rigenerate per tutte le visualizzazioni del negozio. Zero problemi.


0

Tutto quello che devi fare per rigenerare le riscritture è avviare una riscrittura. Vai a una categoria o prodotto e modifica l'URL nella sezione SEO del prodotto / categoria aggiungendo una "a-" nella parte anteriore di esso. Per esempio:

Url = "nome-prodotto" Nuovo Url = "nome-a-prodotto"

Ciò attiverà la riscrittura e ripeterà tutte le altre riscritture.


Funziona solo se hai una manciata di riscritture. Con oltre 100 prodotti bloccati sul vecchio URL, questa non è una soluzione fattibile.
Jacques,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.