Jak usunąć i zregenerować przepisywanie adresów URL w Magento 2?

23

Ostatnio stworzyłem 2 dodatkowe widoki sklepu w sklepie Magento 2. Teraz adres URL kategorii i Produkty nie są dla tych sklepów, jest niewłaściwy

Np .: http://example.com/catalog/category/view/s/pouches/id/20/, który ma być http://example.com/accessories/pouches.html

Teraz, kiedy zapisuję każdy produkt i kategorię jeden po drugim, ponownie generuję przepisanie adresu URL dla tego produktu lub kategorii.

Ale istnieje wiele produktów i kategorii.

Czy jest więc jakiś sposób na zregenerowanie przepisywania adresów URL

jak w Magento 1.x można tego dokonać poprzez reindeksowanie.

Arun Karnawat
źródło
W Magento 2 url moduł przepisywania nie używa Indexera do tworzenia przepisywania. Przepisywanie jest generowane w procesie zapisywania / importowania stron produktu / kategorii / cms. Może więc zajść potrzeba programowego załadowania i zapisania kategorii
mp196
czy możesz zasugerować mi odniesienie do stworzenia skryptu, aby to zrobić.
Arun Karnawat
Musisz ponownie indeksować ponownie.
Vaibhav Jain
Próbowałem już indeksować, w Magento 2 nie ma indeksu URL Rewrite Index, więc nie zadziałało. Teraz mam ponownie indeks, nie działa
Arun Karnawat,
1
W przypadku produktów, które wypróbujesz, wybierz je wszystkie z siatki, a następnie wybierz atrybuty aktualizacji, a na karcie strony wybierz stronę internetową (chociaż produkty są już przypisane do tej samej strony). To spowoduje ponowne zapisanie produktu i może zregenerować przepisywanie adresów URL.
mp196

Odpowiedzi:

16

Ten moduł jest przestarzały. Zamiast tego możesz użyć tego modułu

Pobierz za pomocą Composer;

kompozytor wymaga adresów elgentos / regenerate-catalog-URL

konfiguracja php bin / magento: aktualizacja

Ponownie wygeneruj adres URL wszystkich produktów i sklepu globalnego

php bin / magento regenerate: produkt

Ponownie wygeneruj adres URL produktów o identyfikatorze (1, 2, 3, 4) dla sklepu 1

php bin / magento regenerate: produkt: url -s1 1 2 3 4

Główny programista
źródło
ten moduł jest wadliwy, ale w niektórych przypadkach może pomóc.
Gediminas
Tak, a skorzystanie z tych metod pomoże nam uruchomić przepisywanie adresu URL produktu.
Główny programista
1
Obecnie nie działa w 2.1.9 ...
Spyrule,
@Spyrule Jestem na 2.1.9 i napotkałem problemy. Jednak po zalogowaniu mojego problemu ktoś wskazał mi tę prośbę, która nie została zatwierdzona, ale nadal działa na mnie urok: github.com/Iazel/magento2-regenurl/pull/21/commits/…
David Wilkinson
@Gerdiminas o jakich błędach wiesz?
harri
19

Możesz użyć Regeneruj rozszerzenie Url przepisuje (pozwala na regenerację przepisanych adresów URL produktów i kategorii).

Aby ponownie wygenerować wszystkie przepisane adresy URL kategorii / produktów we wszystkich sklepach (obsługuje wiele sklepów), uruchom:

$> bin/magento ok:urlrewrites:regenerate

Aby ponownie wygenerować przepisanie adresu URL w określonym widoku sklepu (np. Identyfikator widoku sklepu to „2”):

$> bin/magento ok:urlrewrites:regenerate 2
Oleg Koval
źródło
1
To rozszerzenie działa idealnie dla mnie. Dziękuję za twoje rozszerzenie.
mapaladiya,
działa bardzo dobrze! dzięki!
LucScu,
Czy to usuwa stare przepisania?
Matthew McLennan
1
Czy to nadal działa? To nie dla mnie.
Kirby,
1
@OlegKoval Mam zainstalowaną wersję 1.3.1, ale nadal nie działa dla mnie. Więc jaki jest tego problem?
Chintan Kaneriya,
3

W aktualizacji do odpowiedzi @mahendra Jella, wypróbuj ten oddział tego samego rozszerzenia: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Ten może regenerować adresy URL kategoriach zbyt .

Polecenie wygląda następująco:

php bin/magento iazel:regenurl
# Regenrate Category URL keys >
php bin/magento iazel:regenerate_urls
th3pirat3
źródło
To rozszerzenie działało dla mnie pięknie w 2.1.9. Pomógł również zidentyfikować zduplikowane produkty URL według ID (choć przydatna byłaby drobna aktualizacja listy SKU).
Spyrule,
To rozszerzenie nie działa dla mnie magento 2.2.9
jruzafa
3

W rzeczywistości istnieje prosty sposób, aby to naprawić bez większych problemów. Dla osób TL: DR odważne części są istotne.

Jedną rzecz do sprawdzenia w pierwszej kolejności; jeśli masz wiele widoków sklepu, przejdź do produktu i przełącz widok na konkretny widok. Przewiń w dół i upewnij się, że klucz URL jest ustawiony na „Użyj wartości domyślnej”. Jeśli nie jest zaznaczone, nigdy nie wygeneruje. Myślę, że może się to zdarzyć podczas importowania produktów M1. Miałem ponad 200 produktów, które wymagały naprawy.

Ta poprawka pomaga również, jeśli wykonasz sztuczkę polegającą na zmianie sklepu na inny katalog główny i powrót, co wszystko wyczyści. W tym niestandardowe. I może zakończyć się niczym innym, jak adresami URL kategorii. Nie jestem pewien, dlaczego generowanie adresów URL dla produktów kończy się niepowodzeniem, ale myślę, że dzieje się tak, ponieważ Magento próbuje utworzyć zbyt wiele łączy w jednej operacji, która kończy się niepowodzeniem.

Spróbuj tego. Otwórz okno przepisywania adresów URL i zanotuj liczbę wpisów. Dzięki temu dowiesz się, czy to działa.

Przejdź do kategorii pierwszego poziomu (domyślnie nie działa, ponieważ nie ma klucza URL). Przewiń w dół do Search Engine Optimization / URL-Key. Dodaj X na końcu klucza. Odznacz „Utwórz stałe przekierowanie dla starego adresu URL”, dodaje tylko więcej pracy do operacji. Zapisz swoją kategorię.

Powtórz operację i usuń X, ponownie odznacz „Utwórz stałe przekierowanie dla starego adresu URL”, ponieważ nie potrzebujesz zapychania tych starych adresów URL do tabeli. Zapisz ponownie

Odśwież stronę przepisywania adresów URL, powinieneś zobaczyć nowy numer i błyszczące nowe adresy URL.

Powtórz w razie potrzeby.

Informacje dla naprawdę dużych kategorii mogą się skończyć. W takich przypadkach wykonaj mniejsze podkategorie samodzielnie. Na moim serwerze próg ten wynosi około 400 wpisów.

Magento jest na tyle sprytny, że tworzy linki do kategorii powyżej podkategorii. Jest również na tyle sprytny, że gdy widzi produkt w innej kategorii, buduje również linki do niego.

Zajęło mi trochę czasu, aby dowiedzieć się, dlaczego widziałem coraz mniej dodawanych linków, gdy przeglądałem listę kategorii. Stało się tak, ponieważ większość produktów była już na stole i pozostali tylko maruderzy, którzy nie pojawili się wcześniej.

Brokentusk
źródło
0

Miałem ten problem z produktami i naprawiłem go, używając funkcji masowej aktualizacji, aby usunąć wszystkie produkty ze sklepu, a następnie ponownie je dodać. Nie miałem zbyt wielu kategorii, więc po prostu wszedłem i je ponownie zapisałem.

Ogólnie rzecz biorąc, myślę, że unikanie taktyki skrótu i ​​regeneracji, którą zrobiliśmy w Magento 1, jest prawdopodobnie najlepsze. Jeśli przepisywanie produktu wygląda nieprawidłowo, po prostu zrób to, co napisałem powyżej, a to powinno je poprawić.

espradley
źródło
0

Jak wiem, Magento 2 nie zapewnia tej funkcji, ale używam tego rozszerzenia

http://shreejiinfosys.co.in/url-rewrite-generator-magento-2.html

z tego mogę zregenerować kategorię i wszystkie adresy URL produktów.

Uwaga: nie promuję rozszerzenia, dlatego używam tego rozszerzenia i jest ono dla mnie bardzo przydatne.

Kowal
źródło
0

Też miałem ten problem, używam magento 1.9.2.4, magento nie zapewnia żadnej metody regeneracji niestandardowych adresów URL. Więc to, co zrobiłem, jest trochę poza stołem i rozwiązało to problem, nigdy nie próbowałem rozszerzenia przepisywania url magento, więc nie mogę powiedzieć, jak działają.

Uwaga - Może nie powinieneś brać tego pod uwagę, jeśli masz zbyt wiele niestandardowych przeróbek adresów URL.

Magento ponownie generuje domyślne przekierowania, więc jeśli niestandardowe przepisanie powoduje problem, możesz obciąć tabelę core_url_rewrite z bazy danych magento.

wprowadź opis zdjęcia tutaj

Zanim to zrobisz, wykonaj kopię zapasową bazy danych.

Lalit838
źródło
To jest cały punkt w przeciwieństwie do Magento 1, Magento 2 nie ma indeksu do regeneracji adresu URL. Pytanie dotyczy Magento 2.1
Arun Karnawat,
0

Niestety żadne z tych rozszerzeń / modułów nie działało dla mnie. Mam około 4000 produktów i przechodzę z Magento 1.9.2.4 do 2.2.2. Użyłem narzędzia do migracji danych i działało jak urok, inny niż ten problem.

Niektóre z moich produktów mają klucze URL, a niektóre nie. Mam tylko jeden sklep, który jest frustrujący. Wygląda na to, że Magento uważa administratora za sklep.

Jedyną rzeczą, która działała dla mnie, był import produktów z opcją „zamień”. A do celów SEO nie chcę zmieniać adresu URL moich produktów, nawet jeśli to po prostu dodanie liczby.

Spróbuję usunąć przepisane adresy URL tylko dla produktów.

blueflymedia
źródło
0

Wpadłem na podobny problem. W Magento 1 możliwe było obcięcie tabeli przepisywania adresów URL i ponowneindeksowanie. Magento 2 nie ma indeksującego przepisywania adresów URL, więc nie jest to opcja.

Wielu sugeruje rozszerzenie Iazel. Poszedłem z rozszerzeniem autorstwa Olgega Kovala i to działało pięknie. Korzystając z Magento 2.2, usunął wszystkie istniejące przepisywania adresów URL i ponownie je wygenerował dla wszystkich widoków sklepu. Zero problemów.

SL02
źródło
0

Wszystko, co musisz zrobić, aby zregenerować przepisywanie, to zainicjować przepisywanie. Przejdź do kategorii lub produktu i zmień jego adres URL w sekcji SEO produktu / kategorii, dodając przed nią „a-”. Na przykład:

Url = „nazwa produktu” Nowy URL = „nazwa produktu”

Spowoduje to uruchomienie przepisywania i ponowienie wszystkich innych przeróbek.

rupi
źródło
Działa to tylko wtedy, gdy masz garść przeróbek. Przy ponad 100 produktach przyklejonych do starego adresu URL nie jest to możliwe rozwiązanie.
Jacques