Magento 2'de URL yeniden yazma işlemleri nasıl silinir ve yeniden oluşturulur?


23

Son zamanlarda magento 2 mağazasında 2 ek mağaza görünümü oluşturdum. Şimdi kategorinin url'si ve Ürünler bu mağazalar için uygun değil

Örneğin: http://example.com/accessories/pouches.html olduğu düşünülen http://example.com/catalog/category/view/s/pouches/id/20/

Şimdi her ürünü ve kategoriyi tek tek kaydettiğimde, o ürün veya kategori için url yeniden yazma işlemini yeniden oluşturur.

Ancak birçok ürün ve kategori var.

URL yeniden yazma işlemini yeniden oluşturmanın herhangi bir yolu var mı?

Magento 1.x'te olduğu gibi yeniden endeksleme ile yapılabilir.


Magento 2'de url yeniden yazma modülü, yeniden yazma oluşturmak için Indexer'ı kullanmaz. Yeniden yazma, ürün / kategoriler / cms sayfalarının kaydedilmesi / içe aktarılması sürecinde oluşturulur. Bu yüzden kategorileri yüklemek ve kaydetmek için programlı bir şekilde gitmeniz gerekebilir
mp196

bana bunu yapmak için komut dosyası oluşturmak için bazı referans önerebilir misiniz.
Arun Karnawat

Yeniden dizine eklemeniz gerekir.
Vaibhav Jain

Zaten endekslemeyi denedim, Magento 2'de URL Yeniden Yazma Dizini yok. Bu yüzden işe yaramadı. Şimdi yeniden reindex var, çalışmıyor
Arun Karnawat

1
Denediğiniz ürünler için hepsini ızgaradan seçin ve Güncelleme özelliklerini seçin ve web siteleri sekmesinde web sitesini seçin (ürünler zaten aynı web sitesine atanmış olsa da) Bu, ürünü yeniden kaydedecek ve url yeniden yazma işlemlerini yeniden oluşturabilir.
mp196

Yanıtlar:


16

Bu modül kullanımdan kaldırıldı, bunun yerine bu modülü kullanabilirsiniz

Besteci Kullanarak İndirin;

besteci elgentos / rejenere-katalog-url gerektirir

php bin / magento kurulumu: yükseltme

Tüm ürünler ve global mağaza için URL'yi yeniden oluşturun

php bin / magento yenilemek: ürün

Mağaza 1 için kimliği (1, 2, 3, 4) olan ürünler için URL'yi yeniden oluşturun

php bin / magento yenilemek: ürün: url -s1 1 2 3 4


bu modül hatalıdır, ancak yine de bazı durumlarda yardımcı olabilir.
Gediminas

Evet, ürün url yeniden yazma işlemlerini tetiklemek için bu yöntemleri kullanmamız faydalı olacaktır.
Baş Geliştirici

1
Şu anda, 2.1.9 çalışmıyor ...
Spyrule

@Spyrule 2.1.9 ve deneyimli konulardayım. Ancak sorunumu günlüğe kaydettikten sonra, biri henüz onaylanmayan bu çekme isteğine işaret etti, ancak benim için bir cazibe işe yarıyor: github.com/Iazel/magento2-regenurl/pull/21/commits/…
David Wilkinson

@Gerdiminas hangi hataları biliyorsun?
harri

19

Sen kullanabilirsiniz Rejenere bir URL yeniden yazar (bir URL ürün ve kategorilerin yeniden yazar yeniden oluşturmak için izin verin) uzantısı.

Tüm mağazalardaki kategorilerin / ürünlerin tüm URL yeniden yazma işlemlerini yeniden oluşturmak için (çok depoları destekler) çalıştırın:

$> bin/magento ok:urlrewrites:regenerate

Url yeniden yazma işlemlerini belirli mağaza görünümünde yeniden oluşturmak için (örneğin: mağaza görünümü kimliği "2" dir):

$> bin/magento ok:urlrewrites:regenerate 2

1
Bu uzantı benim için mükemmel çalışıyor. Uzantınız için teşekkürler.
mapaladiya

çok iyi çalışıyor! Teşekkür!
LucScu

Bu eski yeniden yazma işlemlerini siliyor mu?
Matthew McLennan

1
Hala çalışıyor mu? Benim için değil.
Kirby

1
@OlegKoval 1.3.1 sürümünü yükledim ama yine de benim için çalışmıyor. Peki bunun arkasındaki sorun nedir?
Chintan Kaneriya

3

@Mahendra Jella'nın cevabına güncelleme olarak, aynı uzantının bu dalını deneyin: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Bu, kategoriler için de URL'leri yeniden oluşturabilir .

Komut aşağıdaki gibi gider:

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

Bu uzantı 2.1.9'da benim için güzel çalıştı. Yinelenen URL ürünlerinin kimliğe göre tanımlanmasına yardımcı oldu (yine de sku'yu listelemek için küçük bir güncelleme yararlı olacaktır).
Spyrule

Bu uzantı benim için çalışmıyor magento 2.2.9
jruzafa

3

Aslında bunu çok fazla sorun yaşamadan düzeltmenin kolay bir yolu var. TL: DR çalışanları için kalın kısımlar önemlidir.

Önce kontrol edilecek bir şey var; birden fazla mağaza görünümünüz varsa, ürüne gidin ve görünümü belirli bir görünüme geçirin. Sayfayı aşağı kaydırın ve URL Anahtarının "Varsayılan Değeri Kullan" olarak ayarlandığından emin olun. Bu işaretlenmezse, asla üretilmez. Bunun M1 ürünlerini içe aktardığınızda olabileceğini düşünüyorum. 200'den fazla ürüne ihtiyacım vardı.

Bu düzeltme, mağazanızı her şeyi temizleyen farklı bir köke ve arkaya geçirdiğiniz hile yapmanıza da yardımcı olur. Özel olanlar dahil. Ve kategori URL'lerinden başka bir şey olmadan bitirebilir. Neden ürünler için URL oluşturma tamamen başarısız emin değilim ama bence Magento başarısız bir işlemde çok fazla bağlantı yapmaya çalışıyor çünkü.

Bu yüzden bir şans ver. URL yeniden yazma penceresini açın ve giriş sayısını not edin. Bu, çalışıp çalışmadığını bilmenizi sağlar.

Birinci seviye bir kategoriye gidin (URL anahtarı olmadığı için varsayılan olarak çalışmaz). Arama Motoru Optimizasyonu / URL Anahtarı'na gidin. Anahtarın sonuna bir X ekleyin. "Eski URL için Kalıcı Yeniden Yönlendirme Oluştur" un işaretini kaldırın, yalnızca işleme daha fazla çalışma ekler. Kategorinizi kaydedin.

İşlemi tekrarlayın ve X'i kaldırın, "Eski URL için Kalıcı Yönlendirme Oluştur" un işaretini kaldırın, çünkü bu eski URL'lerin tabloyu tıkamasına gerek yoktur. Tekrar kaydedin.

URL yeniden yazma sayfasını yenileyin, yeni bir sayı ve parlak yeni URL'ler görmelisiniz.

Gerektiği kadar tekrarlayın.

Gerçekten büyük kategoriler zaman aşımına uğrayabilir. Bu durumda, daha küçük alt kategorileri kendi başlarına yapın. Sunucumda bu eşik yaklaşık 400 giriştir.

Magento, alt kategorilerinizin üstündeki kategori için bağlantılar oluşturacak kadar akıllıdır. Başka bir kategoride bir ürün olduğunda, oradaki bağlantıları da oluşturacak kadar akıllıdır.

Kategori listesine girerken neden daha az ve daha az bağlantı eklendiğini anlamaya karar verdim. Bunun nedeni, ürünlerin çoğunluğunun zaten masada olması ve sadece daha önce görünmeyen tabakaların kalmasıydı.


0

Böylece, ürünler için bu sorunu yaşadım ve tüm ürünleri mağazadan kaldırmak ve daha sonra yeniden eklemek için toplu güncelleme özelliğini kullanarak bunu düzelttim. Çok fazla kategorim yoktu, bu yüzden yeni girdim ve onları tekrar kaydettim.

Genel olarak, ole 'kesip kaçınmak ve Magento 1'de yaptığımız taktik yenilemek muhtemelen en iyi olduğunu düşünüyorum. Ürün yeniden yazma işlemleri yanlış görünüyorsa, yukarıda gönderdiğim şeyi yapın ve bu onları düzeltmelidir.



0

Ben de bu sorunu vardı, magento 1.9.2.4 kullanıyorum, magento özel URL'leri yeniden oluşturmak için herhangi bir yöntem sağlamaz. Yani ne yaptı masadan küçük ve bu sorunu çözdü, ben nasıl çalıştığını söyleyemeyiz böylece magento url yeniden yazma uzantısı denedim.

Not: Çok fazla özel URL yeniden yazmanız varsa, bunu dikkate almamalısınız.

Magento varsayılan yönlendirmelerini yeniden oluşturur, böylece soruna neden olan özel bir yeniden yazma işlemi varsa magento veritabanınızdan core_url_rewrite tablosunu kısaltabilirsiniz .

resim açıklamasını buraya girin

Bunu yapmadan önce veritabanını yedeklediğinizden emin olun.


Magento 1'den farklı olarak, magento 2'nin url'yi yeniden oluşturma endeksi yoktur. Question Magento 2.1
Arun Karnawat hakkında

0

Ne yazık ki bu uzantıların / modüllerin hiçbiri benim için çalışmadı. Yaklaşık 4000 ürünüm var ve Magento 1.9.2.4'ten 2.2.2'ye geçiyorum. Veri Taşıma aracını kullandım ve bu sorun dışında bir cazibe gibi çalıştı.

Bazı ürünlerim url anahtarlarına sahip, bazıları ise yok. Sadece sinir bozucu kısmı olan bir mağazam var. Görünüşe göre Magento yöneticiyi bir mağaza olarak görüyor.

Benim için işe yarayan tek şey, ürünleri 'değiştir' seçeneğiyle ithal etmekti. Ve SEO amaçlı olarak, ürünlerimin URL'lerini değiştirmek istemiyorum, sadece bir sayı eklese bile.

Yalnızca ürünler için url yeniden yazmalarını silmeyi deneyeceğim.


0

Benzer bir sorunla karşılaştım. Magento 1'de url yeniden yazma tablosunu ve reindex'i kısaltmak mümkün oldu. Magento 2'de bir url yeniden yazma indeksi yoktur, bu nedenle bu bir seçenek değildir.

Birçoğu Iazel uzantısını önerir. Olgeg Koval'ın uzantısıyla gittim ve güzel çalıştı. Magento 2.2 çalıştırıldığında, mevcut tüm url yeniden yazmalarını sildi ve tüm mağaza görünümleri için bunları yeniden oluşturdu. Sıfır problem.


0

Yeniden yazma işlemlerini yeniden oluşturmak için tek yapmanız gereken bir yeniden yazma işlemi başlatmaktır. Bir kategoriye veya ürüne gidin ve önüne "a-" ekleyerek ürünün / kategorinin SEO bölümündeki URL'sini değiştirin. Örneğin:

Url = "ürün adı" Yeni Url = "a-ürün adı"

Bu, yeniden yazmayı tetikler ve diğer tüm yeniden yazma işlemlerini yeniden yapar.


Bu yalnızca bir avuç yeniden yazım varsa işe yarar. Eski URL'ye yapışan 100'den fazla ürünle bu mümkün bir çözüm değildir.
Jacques
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.