Questo è un problema classico con le riscritture. La causa principale non ha chiavi URL univoche. Generalmente causato dall'avere prodotti semplici parte di configurabili con lo stesso nome.
Per ovvi motivi, un percorso di richiesta (URL) deve corrispondere a un'azione in Magento. Pertanto, tutti i percorsi di richiesta devono essere univoci. I percorsi URL dei prodotti e delle categorie vengono creati dalle loro chiavi URL e in genere quando si dispone di prodotti configurabili, i proprietari dei negozi / i lavoratori backend non si prendono il tempo per assicurarsi che i prodotti semplici sotto un configurabile abbiano chiavi URL diverse. Questo fa sì che Magento inserisca un trattino e un numero progressivo. Dato un prodotto configurabile con 4 semplici, ciò significa che ogni iterazione vengono aggiunti almeno 4 URL con una sequenza (poiché Magento non riesce / non riesce a distinguere tra le esecuzioni che una sequenza è già stata creata). Questo si aggiunge rapidamente in un grande catalogo.
Il flusso di lavoro da ripristinare è il seguente:
- Assicurati che tutte le chiavi URL siano univoche, fissando il tuo input e eseguendo un altro reindice di riscritture.
- Rimuovi tutte le riscritture corrispondenti
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL) AND target_path NOT IN (temp_table)
.
- Per le rimanenti corrispondenze riscrive
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL)
impostare request_path su target_path e impostare target_path su request_path che corrisponde alla combinazione category_id-product_id e dove le opzioni sono NULL.
- Installa questa estensione e abilita tutte le ottimizzazioni
- Reindex riscrive almeno due volte, verificando che il conteggio delle righe sia coerente (senza modifiche ai prodotti o alle categorie).
- Monitora gli Strumenti per i Webmaster e i 404 per ulteriori URL non aggiornati che sono ancora presenti negli spider e devono essere reindirizzati. Preferibilmente implementa il 301 nel tuo server web per mantenerlo
core_url_rewrite
pulito.
Note:
questo script aiuta a creare chiavi URL univoche, ripetendo i valori degli attributi e aggiungendoli fino a quando non viene generata una chiave univoca. Si noti che questo script non verifica i conflitti tra una categoria e un prodotto. In genere questo non è un problema, poiché le categorie sono naturalmente denominate al plurale, ma se vendi ad esempio pecore o pesci questo può ancora essere un problema. Un altro caso angolare è uno scontro tra gli URL del catalogo e le pagine CMS. Questo script non lo controlla, ma non ha alcun impatto sulle riscritture poiché gli identificatori di pagina CMS non sono presenti. Ciò comporterà semplicemente la pagina CMS o la pagina categoria / prodotto mostrata dove uno si aspetterebbe di vedere l'altro.
La tabella delle temp menzionata deve essere riempita con URL che si trovano in tutte le sitemap. Ciò mitiga parte dell'impatto SEO mantenendo in vita la variante corrente di trattino e numero progressivo e nel passaggio 3 questo viene quindi riscritto nell'URL corretto. L'estensione nel passaggio 4 impedisce a una serie di URL di immettere la tabella core_url_rewrite, in particolare i prodotti che non sono impostati sulla visibilità "catalog / search". Quando si dispone di prodotti semplici che fanno parte di un elemento configurabile e non elencati separatamente, questi dovrebbero essere contrassegnati "non visibili individualmente" e questa estensione impedisce loro di immettere riscritture. Questa è una preziosa ottimizzazione per i negozi con prodotti configurabili, indipendentemente dal fatto che abbiano questo problema di riscrittura degli URL. Per quanto riguarda il passaggio 5, se non vengono apportate modifiche alle chiavi url di prodotti e categorie, quindi ogni indicizzazione genererà la stessa quantità di riscritture. In caso contrario, hai ancora un conflitto da qualche parte e dovresti cercarlo.
Spero che questo chiarisca un po 'le cose.