Як видалити та відновити перезапис URL-адрес у Magento 2?


23

Нещодавно я створив 2 додаткових подання на магазин Magento 2. Тепер URL-категорія та продукція не для цих магазинів не є належним

Напр .: http://example.com/catalog/category/view/s/pouches/id/20/, який повинен бути http://example.com/accessories/pouches.html

Тепер, коли я зберігаю кожен продукт та категорію по одному, він відновлює перезапис URL-адреси для цього продукту чи категорії.

Але є багато продуктів і категорії.

Так чи є спосіб відновити перезапис URL-адрес

як у Magento 1.x, це можна зробити за допомогою повторного дексдинування.


У Magento 2 модуль перезапису url не використовує Indexer для створення переписувань. Перезапис генерується в процесі збереження / імпорту сторінок продуктів / категорій / смс. Тому вам може знадобитися програматично завантажувати та зберігати категорії
mp196

Ви можете запропонувати мені посилання для створення сценарію для цього.
Арун Карнават

Вам потрібно повторно індексувати.
Vaibhav Jain

Я вже спробував індексувати, в Magento 2. немає індексу переписування URL-адрес, тому це не спрацювало. Зараз я знову
перевстановлюю

1
Для продуктів, які ви намагаєтеся, виберіть їх усіх із сітки, а також виберіть атрибути оновлення та на вкладці веб-сайтів виберіть веб-сайт (хоча продукти вже призначені для того самого веб-сайту). Це збереже продукт і може відновити перезапис URL-адрес.
mp196

Відповіді:


16

Цей модуль є застарілим ви можете використовувати цей модуль замість

Завантажити за допомогою композитора;

композитор вимагає elgentos / regenerate-catalog-urls

налаштування php bin / magento: оновлення

Відновити URL-адресу для всіх товарів та глобального магазину

php bin / magento regenerate: продукт

Відновіть URL-адресу для продуктів із ідентифікатором (1, 2, 3, 4) для магазину 1

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


цей модуль баггі, але все-таки може допомогти в деяких випадках.
Gediminas

Так, і нам буде корисно використовувати ці методи, щоб викликати перезаписи URL-адрес.
Ведучий розробник

1
Наразі не працює в 2.1.9 ...
Spyrule

@Spyrule Я переглядаю 2.1.9 і має досвід. Однак після реєстрації моєї проблеми хтось вказав мені на цей запит на тягу, який ще не був схвалений, але для мене працює привабливість: github.com/Iazel/magento2-regenurl/pull/21/commiss/…
Девід Уілкінсон

@Gerdiminas Про які помилки ти знаєш?
харрі

19

Ви можете використовувати Розмножити розширення для перезапису Url (це дозволяє регенерувати Url переписує продукти та категорії).

Щоб знову генерувати всі перезаписи Url категорій / продуктів у всіх магазинах (він підтримує багатосторінкові записи), виконайте такі дії:

$> bin/magento ok:urlrewrites:regenerate

Для відновлення перезапису URL-адреси у певному вікні магазину (наприклад: ідентифікатор представлення магазину "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
Це розширення працює для мене ідеально. Дякуємо за ваше розширення.
mapaladiya

це працює дуже добре! Дякую!
LucScu

Це видаляє старі переписування?
Меттью МакЛеннан

1
Це все ще працює? Це не для мене.
Кірбі

1
@OlegKoval Я встановив версію 1.3.1, але все ще для мене це не працює. То яке питання стоїть за цим?
Чінтан Канерія

3

Оновлення до відповіді @mahendra Jella, спробуйте цю гілку того ж розширення: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Це можна регенерувати URL - адреса для категорій теж .

Команда складається наступним чином:

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

Це розширення працювало для мене прекрасно в 2.1.9. Допоміг ідентифікувати повторювані продукти url за ідентифікатором (хоча корисним буде незначне оновлення для переліку sku).
Спіруле

Це розширення не працює для мене magento 2.2.9
jruzafa

3

Насправді існує простий спосіб виправити це без особливих проблем. Для людей з TL: DR важливі сміливі деталі.

Одна справа перевірити спочатку; якщо у вас є кілька переглядів магазину, увійдіть у виріб та переключіть його на конкретний вигляд. Прокрутіть вниз і переконайтеся, що для URL-ключа встановлено значення "Використовувати значення за замовчуванням". Якщо це не встановлено, він ніколи не генерується. Я думаю, що це може статися, коли ви імпортуєте товари М1. У мене було 200+ продуктів, які потребували торкання.

Це виправлення також допомагає, якщо ви зробите трюк, коли ви переключите ваш магазин на інший корінь і назад, що очистить усе. У тому числі і на власні. І це може закінчитися лише окрім URL-адреси категорії. Не впевнений, чому генерування URL-адрес для продуктів не вдається повністю, але я думаю, що це тому, що Magento намагається зробити занадто багато посилань за одну операцію, яка не вдається.

Тож дайте цьому постріл. Відкрийте вікно перезапису URL-адреси та зазначте кількість записів. Це дамо вам знати, чи працює воно.

Перейдіть до категорії першого рівня (вона не працює за замовчуванням, оскільки не має ключа URL). Прокрутіть униз до Оптимізація пошукових систем / URL-ключ. Додайте X до кінця ключа. Зніміть прапорець "Створити постійну перенаправлення на стару URL-адресу", це лише додасть більше роботи до операції. Збережіть свою категорію.

Повторіть операцію та видаліть X, знову зніміть прапорець "Створити постійну переадресацію для старої URL-адреси", оскільки вам не потрібно, щоб ці старі URL-адреси засмічували таблицю. Збережіть знову.

Оновіть сторінку перезапису URL-адреси, і вам слід побачити нове число та блискучі нові URL-адреси.

Повторіть за потребою.

FYI дійсно великих категорій може закінчитися. Тож у цих випадках робіть менші підкатегорії самостійно. На моєму сервері цей поріг становить близько 400 записів.

Magento досить розумний, щоб робити посилання на категорію вище своїх підкатегорій. Він також досить розумний, що коли він бачить товар у іншій категорії, він також створює посилання для них.

Мені потрібно було деякий час, щоб зрозуміти, чому я бачив все менше і менше посилань, доданих, коли я спускався зі списку категорій. Це було тому, що більшість продуктів вже були в столі, і залишилися лише ті, що раніше не з'являлися.


0

Отже, у мене виникла ця проблема для продуктів і виправлено це за допомогою функції масового оновлення, щоб видалити всі продукти з магазину, а потім повторно додати їх. У мене не було дуже багато категорій, тому я просто зайшов і знову їх зберег.

В цілому, я думаю, що уникати тактики урізання та відновлення олею, яку ми зробили в Magento 1, мабуть, найкраще. Якщо ваш перезапис товару виглядає неправильно, просто виконайте те, що я розмістив вище, і це повинно їх виправити.


0

Як я знаю, Magento 2 не забезпечує цю функцію, але я використовую це розширення

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

завдяки цьому я можу відновити категорію та всі URL-адреси продуктів.

Примітка: я не просуваю розширення, тому я використовую це розширення і його досить корисне для мене.


0

У мене теж була ця проблема, я використовую magento 1.9.2.4, magento не надає жодного методу для відновлення користувацьких URL-адрес. Тож те, що я робив, мало відхиляється від таблиці, і це вирішило проблему, я ніколи не пробував magento url переписувати розширення, тому не можу сказати, як вони працюють.

Примітка. Можливо, ви не повинні це враховувати, якщо у вас занадто багато переписаних URL-адрес.

Magento відновлює свої переадресації за замовчуванням, тому якщо користувацьке перезапис, що спричиняє проблему, ви можете урізати таблицю core_url_rewrite зі своєї бази даних magento.

введіть тут опис зображення

Не забудьте зробити резервну копію бази даних, перш ніж це зробити.


Ось і вся суть на відміну від магенто 1, магенто 2 не має індексу для відновлення URL-адреси. Питання про Magento 2.1
Арун Карнават

0

На жаль, жодне з цих розширень / модулів не працювало для мене. У мене є близько 4000 продуктів і переходять від Magento 1.9.2.4 до 2.2.2. Я використовував інструмент міграції даних, і він працював як шарм, окрім цієї проблеми.

У деяких моїх продуктах є ключі URL, а в деяких - немає. У мене є лише один магазин, який розчаровує. Схоже, Magento вважає адміністратора магазином.

Єдине, що для мене спрацювало - це імпорт продуктів із опцією "заміна". І для цілей SEO я не хочу змінювати URL-адреси своїх продуктів, навіть якщо це лише додавання цифри після.

Я спробую видалити переписані URL-адреси лише для продуктів.


0

Я зіткнувся з подібною проблемою. У Magento 1 вдалося урізати таблицю перезапису URL-адреси та повторно встановити. Magento 2 не має індексатора перезапису URL-адреси, тому це не варіант.

Багато пропонують розширення Іазеля. Я поїхав із розширенням Ольгега Коваля , і це прекрасно спрацювало. Запустивши Magento 2.2, він видалив усі існуючі переписувані URL-адреси та відновив їх для всіх представлень магазинів. Нульові проблеми.


0

Все, що вам потрібно зробити для відновлення переписування - це ініціювати перезапис. Перейдіть до категорії чи товару та змініть його URL-адресу в розділі SEO продукту / категорії, додавши "a-" на передню частину. Наприклад:

Url = "ім'я продукту" New Url = "a-product-name"

Це призведе до перезапису та повторення всіх інших перезаписів.


Це працює лише за наявності кількох переписувачів. З більш ніж 100 продуктів, наклеєних на стару URL-адресу, це неможливе рішення.
Жак
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.