Làm cách nào để xóa và tạo lại URL viết lại trong Magento 2?


23

Gần đây tôi đã tạo thêm 2 lượt xem cửa hàng trên magento 2 cửa hàng. Bây giờ url của danh mục và Sản phẩm không dành cho các cửa hàng đó là không phù hợp

Ví dụ: http://example.com/catalog/carget/view/s/pouches/id/20/ được cho là http://example.com/accessories/pouches.html

Bây giờ khi tôi lưu từng sản phẩm và từng loại một, nó sẽ tạo lại url viết lại cho sản phẩm hoặc danh mục đó.

Nhưng có rất nhiều sản phẩm và thể loại.

Vì vậy, có cách nào để tạo lại URL viết lại

như trong Magento 1.x nó có thể được thực hiện thông qua reindexing.


Trong mô-đun viết lại url Magento 2 không sử dụng Indexer để tạo ghi lại. Viết lại được tạo trong quá trình lưu / nhập trang sản phẩm / danh mục / cms. Vì vậy, bạn có thể cần phải đi theo cách lập trình tải và lưu các danh mục
mp196

bạn có thể gợi ý cho tôi một số tài liệu tham khảo để tạo kịch bản để làm như vậy không.
Arun Karnaw

Bạn cần lập chỉ mục lại.
Vaibhav Jain

Tôi đã thử lập chỉ mục, Không có Chỉ mục Viết lại URL trong Magento 2. Vì vậy, nó không hoạt động. Bây giờ tôi đã reindex một lần nữa, nó không hoạt động
Arun Karnaw

1
Đối với các sản phẩm, những gì bạn thử là chọn tất cả chúng từ lưới và chọn cập nhật các thuộc tính và trong tab trang web, chọn trang web (mặc dù các sản phẩm đã được gán cho cùng một trang web) Điều này sẽ lưu lại sản phẩm và có thể tạo lại các lần viết lại url.
mp196

Câu trả lời:


16

Đây mô-đun được bị phản đối bạn có thể sử dụng mô-đun thay vì

Tải xuống bằng Trình soạn nhạc;

nhà soạn nhạc yêu cầu elgentos / tái tạo-catalog-url

Cài đặt php bin / magento: nâng cấp

Tạo lại url cho tất cả các sản phẩm và cửa hàng toàn cầu

Tái tạo bin bin / magento: sản phẩm

Tạo lại url cho các sản phẩm có id (1, 2, 3, 4) cho cửa hàng 1

Tái tạo bin bin / magento: sản phẩm: url -s1 1 2 3 4


mô-đun đó là lỗi, nhưng vẫn có thể giúp đỡ trong một số trường hợp.
Gediminas

Có, và sẽ hữu ích cho chúng tôi khi sử dụng các phương pháp đó để kích hoạt ghi lại url sản phẩm.
Trưởng nhóm phát triển

1
Hiện tại, không hoạt động trong 2.1.9 ...
Spyrule

@Spyrule Tôi đang ở 2.1.9 và có vấn đề. Tuy nhiên, sau khi ghi lại vấn đề của tôi, một người nào đó đã chỉ cho tôi yêu cầu kéo này chưa được chấp thuận nhưng vẫn có tác dụng với tôi: github.com/Iazel/magento2-regenurl/pull/21/commits/ trộm
David Wilkinson

@Gerdiminas bạn biết về lỗi gì?
harri

19

Bạn có thể sử dụng Tái tạo tiện ích viết lại Url (nó cho phép tạo lại một Url viết lại các sản phẩm và danh mục).

Để tạo lại tất cả các bản ghi lại Url của danh mục / sản phẩm trong tất cả các cửa hàng (nó hỗ trợ đa tầng) chạy:

$> bin/magento ok:urlrewrites:regenerate

Để tạo lại Url viết lại trong chế độ xem cửa hàng cụ thể (ví dụ: id chế độ xem cửa hàng là "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
Phần mở rộng này hoạt động hoàn hảo cho tôi. Cảm ơn bạn đã gia hạn.
mapaladiya

nó hoạt động rất tốt cám ơn!
LucScu

Điều này có xóa các viết lại cũ?
Matthew McLennan

1
Nó vẫn hoạt động chứ? Nó không dành cho tôi.
Kirby

1
@OlegKoval Tôi đã cài đặt phiên bản 1.3.1 nhưng nó vẫn không hoạt động. Vậy vấn đề đằng sau điều này là gì?
Chintan Kaneriya

3

Để cập nhật câu trả lời của @mahendra Jella, hãy thử chi nhánh của cùng một tiện ích mở rộng: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_carget

Điều này có thể tạo lại URL cho các danh mục quá .

Lệnh diễn ra như sau:

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

Phần mở rộng này hoạt động rất tốt đối với tôi trong 2.1.9. Đã giúp xác định các sản phẩm url trùng lặp bằng ID (mặc dù, một bản cập nhật nhỏ để liệt kê sku sẽ hữu ích).
Spyrule

Tiện ích mở rộng này không hoạt động với tôi magento 2.2.9
jruzafa

3

Thực sự có một cách dễ dàng để khắc phục điều này mà không gặp nhiều rắc rối. Đối với người TL: DR, phần in đậm có liên quan.

Một điều cần kiểm tra trước; nếu bạn có nhiều chế độ xem cửa hàng, hãy đi vào sản phẩm và chuyển chế độ xem sang chế độ xem cụ thể. Cuộn xuống và đảm bảo Khóa URL được đặt thành "Sử dụng giá trị mặc định". Nếu điều đó không được kiểm tra, nó sẽ không bao giờ tạo ra. Tôi nghĩ điều này có thể xảy ra khi bạn nhập khẩu sản phẩm M1. Tôi đã có hơn 200 sản phẩm cần được chạm vào.

Khắc phục sự cố này cũng có ích nếu bạn thực hiện thủ thuật trong đó bạn chuyển cửa hàng của mình sang một gốc khác và quay lại, giúp dọn sạch mọi thứ. Bao gồm những người tùy chỉnh của bạn. Và nó có thể kết thúc mà không có gì ngoài URL của danh mục. Không chắc chắn tại sao việc tạo URL cho các sản phẩm thất bại hoàn toàn nhưng tôi nghĩ đó là vì Magento đang cố gắng tạo quá nhiều liên kết trong một thao tác không thành công.

Vì vậy, cung cấp cho một shot này. Mở cửa sổ viết lại URL và lưu ý số lượng mục. Điều này cho bạn biết nếu nó hoạt động.

Đi vào danh mục cấp độ đầu tiên (nó không hoạt động theo mặc định vì không có khóa URL). Cuộn xuống Công cụ Tìm kiếm Tối ưu hóa / Khóa URL. Thêm một dấu X vào cuối khóa. Bỏ chọn "Tạo chuyển hướng vĩnh viễn cho URL cũ", nó chỉ thêm nhiều công việc hơn cho hoạt động. Lưu danh mục của bạn.

Lặp lại thao tác và xóa X, một lần nữa bỏ chọn "Tạo chuyển hướng vĩnh viễn cho URL cũ", vì bạn không cần các URL cũ đó làm tắc nghẽn bảng. Lưu lại.

Làm mới trang viết lại URL và bạn sẽ thấy một số mới và URL mới sáng bóng.

Lặp lại khi cần thiết.

FYI loại thực sự lớn có thể hết thời gian. Vì vậy, trong những trường hợp đó, hãy tự thực hiện các tiểu mục nhỏ hơn. Trên máy chủ của tôi ngưỡng đó là khoảng 400 mục.

Magento đủ thông minh để tạo các liên kết cho danh mục trên các danh mục phụ của bạn. Nó cũng đủ thông minh để khi nó nhìn thấy một sản phẩm trong danh mục khác, nó cũng xây dựng các liên kết cho nó.

Mất một lúc để tìm hiểu lý do tại sao tôi thấy ngày càng ít liên kết được thêm vào khi tôi đi xuống danh sách danh mục. Đó là bởi vì phần lớn các sản phẩm đã có trong bảng và chỉ còn các stragglers chưa xuất hiện trước đó.


0

Vì vậy, tôi đã gặp sự cố này đối với các sản phẩm và khắc phục sự cố này bằng cách sử dụng tính năng cập nhật hàng loạt để xóa tất cả các sản phẩm khỏi cửa hàng và sau đó thêm lại chúng. Tôi không có nhiều danh mục, vì vậy tôi chỉ đi vào và lưu lại chúng.

Nhìn chung, tôi nghĩ rằng tránh chiến thuật cắt ngắn và tái tạo ole 'mà chúng tôi đã làm trong Magento 1 có lẽ là tốt nhất. Nếu sản phẩm của bạn viết sai, chỉ cần làm những gì tôi đã đăng ở trên và điều đó sẽ sửa chúng.


0

Theo tôi biết Magento 2 không cung cấp tính năng này, nhưng tôi đang sử dụng tiện ích mở rộng này

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

từ đây tôi có thể tạo lại danh mục và tất cả url sản phẩm.

Lưu ý: Tôi không quảng bá tiện ích mở rộng do đó tôi đang sử dụng tiện ích mở rộng này và nó khá hữu ích cho tôi.


0

Tôi cũng có vấn đề đó, tôi đang sử dụng magento 1.9.2.4, magento không cung cấp bất kỳ phương pháp nào để tạo lại các url tùy chỉnh. Vì vậy, những gì tôi đã làm là ít ra khỏi bàn, và nó đã giải quyết được vấn đề, tôi chưa bao giờ thử mở rộng viết lại url magento vì vậy không thể nói chúng hoạt động như thế nào.

Lưu ý- Có lẽ bạn không nên cân nhắc điều này nếu bạn có quá nhiều cách viết lại url tùy chỉnh.

Magento tái tạo các chuyển hướng mặc định của nó để nếu viết lại tùy chỉnh gây ra sự cố, bạn có thể cắt bớt bảng core_url_rewrite từ cơ sở dữ liệu magento của bạn.

nhập mô tả hình ảnh ở đây

Hãy chắc chắn để sao lưu cơ sở dữ liệu trước khi làm như vậy.


Đó là toàn bộ điểm không giống như magento 1, magento 2 không có chỉ mục để tạo lại url. Câu hỏi là về Magento 2.1
Arun Karnaw

0

Thật không may, không có phần mở rộng / mô-đun nào làm việc cho tôi. Tôi có khoảng 4000 sản phẩm và chuyển từ Magento 1.9.2.4 sang 2.2.2. Tôi đã sử dụng công cụ Di chuyển dữ liệu và nó hoạt động như một cơ duyên, ngoài vấn đề này.

Một số sản phẩm của tôi có các phím url và một số thì không. Tôi chỉ có một cửa hàng là phần bực bội. Có vẻ như Magento coi quản trị viên là một cửa hàng.

Điều duy nhất có hiệu quả với tôi là nhập các sản phẩm với tùy chọn 'thay thế'. Và vì mục đích SEO, tôi không muốn thay đổi url của các sản phẩm của mình, ngay cả khi nó chỉ thêm một số sau.

Tôi sẽ cố gắng xóa url viết lại cho các sản phẩm.


0

Tôi gặp phải một vấn đề tương tự. Trong Magento 1, có thể cắt bớt bảng ghi lại url và reindex. Magento 2 không có bộ chỉ mục viết lại url, vì vậy đây không phải là một tùy chọn.

Nhiều người đề nghị mở rộng Iazel. Tôi đã sử dụng phần mở rộng của Olgeg Koval và nó hoạt động rất tuyệt. Chạy Magento 2.2, nó đã xóa tất cả các url viết lại và tạo lại chúng cho tất cả các lượt xem cửa hàng. Không có vấn đề.


0

Tất cả những gì bạn cần làm để tái tạo lại việc viết lại là bắt đầu viết lại. Chuyển đến một danh mục hoặc sản phẩm và thay đổi url của nó trong phần SEO của sản phẩm / danh mục bằng cách thêm "a-" vào phía trước của nó. Ví dụ:

Url = "tên sản phẩm" Url mới = "tên sản phẩm"

Điều này sẽ kích hoạt việc viết lại và làm lại tất cả các cách viết khác.


Điều này chỉ hoạt động nếu bạn có một số ít viết lại. Với hơn 100 sản phẩm bị kẹt trên URL cũ, đây không phải là giải pháp khả thi.
Jacques
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.