จะลบและสร้าง URL ใหม่เขียนใน Magento 2 ได้อย่างไร


23

ฉันเพิ่งสร้างมุมมองร้านค้าเพิ่มเติม 2 แห่งบนร้านวีโอไอพี 2 ขณะนี้ URL ของหมวดหมู่และผลิตภัณฑ์ไม่เหมาะสำหรับร้านค้าเหล่านั้นไม่เหมาะสม

เช่น: http://example.com/catalog/category/view/s/pouches/id/20/ ซึ่งควรจะเป็นhttp://example.com/accessories/pouches.html

ตอนนี้เมื่อฉันบันทึกแต่ละผลิตภัณฑ์และหมวดหมู่ทีละรายการมันจะสร้าง url rewrite สำหรับผลิตภัณฑ์หรือหมวดหมู่นั้นใหม่

แต่มีสินค้าและหมวดหมู่มากมาย

ดังนั้นจะมีวิธีการเขียน URL ใหม่อีกครั้ง

ใน Magento 1.x สามารถทำได้ผ่านการทำดัชนีใหม่


ในโมดูลการเขียนซ้ำ url Magento 2 ไม่ได้ใช้ตัวสร้างดัชนีเพื่อสร้างการเขียนซ้ำ Rewrite สร้างขึ้นในกระบวนการบันทึก / นำเข้าหน้าผลิตภัณฑ์ / หมวดหมู่ / cms ดังนั้นคุณอาจจำเป็นต้องใช้วิธีการโหลดและบันทึกหมวดหมู่โดยทางโปรแกรม
mp196

คุณสามารถแนะนำการอ้างอิงเพื่อสร้างสคริปต์ให้ฉันได้ไหม
อรุณกรรณวัฒน์

คุณต้องสร้างดัชนีอีกครั้ง
Vaibhav Jain

ฉันได้ลองทำดัชนีแล้วไม่มีดัชนีการเขียนซ้ำ URL ใน Magento 2 ดังนั้นจึงไม่ทำงาน ตอนนี้ฉันได้ทำดัชนีอีกครั้งมันไม่ทำงาน
อรุณกรรณวัฒน์

1
สำหรับผลิตภัณฑ์ที่คุณลองเลือกนั้นคือทั้งหมดจากกริดและเลือกคุณสมบัติการอัพเดทและในแท็บเว็บไซต์เลือกเว็บไซต์ (แม้ว่าผลิตภัณฑ์จะถูกกำหนดให้กับเว็บไซต์เดียวกันแล้ว) สิ่งนี้จะบันทึกผลิตภัณฑ์และอาจสร้างการเขียน url ใหม่
mp196

คำตอบ:


16

นี้โมดูลจะถูกเลิกใช้คุณสามารถใช้โมดูลแทน

ดาวน์โหลดโดยใช้นักแต่งเพลง;

ผู้แต่งต้องการ elgentos / regenerate-catalog-urls

php bin / magento setup: upgrade

สร้าง URL ใหม่สำหรับผลิตภัณฑ์ทั้งหมดและร้านค้าระดับโลก

php bin / magento สร้างใหม่: ผลิตภัณฑ์

สร้าง URL ใหม่สำหรับผลิตภัณฑ์ที่มี id (1, 2, 3, 4) สำหรับร้านค้า 1

php bin / magento สร้างใหม่: ผลิตภัณฑ์: url -s1 1 2 3 4


โมดูลนั้นเป็นรถ แต่ก็ยังสามารถช่วยได้ในบางกรณี
Gediminas

ใช่และจะเป็นประโยชน์สำหรับเราในการใช้วิธีการเหล่านั้นเพื่อกระตุ้นการเขียน url ของผลิตภัณฑ์
พัฒนานำโดย

1
ปัจจุบันไม่สามารถใช้งานได้ใน 2.1.9 ...
Spyrule

@Spurule ฉันใช้ 2.1.9 และมีปัญหา อย่างไรก็ตามหลังจากบันทึกปัญหาของฉันมีคนชี้ให้ฉันไปที่คำขอดึงที่ยังไม่ได้รับการอนุมัติ แต่ใช้งานได้ดีสำหรับฉัน: github.com/Iazel/magento2-regenurl/pull/21/commits/ …
David Wilkinson

@ Gerdiminas มีข้อบกพร่องอะไรบ้างที่คุณรู้
harri

19

คุณสามารถใช้ส่วนขยายการเขียนซ้ำ Url ใหม่ (อนุญาตให้สร้างการเขียนซ้ำ Url ของผลิตภัณฑ์และหมวดหมู่)

หากต้องการสร้าง Url ใหม่ทั้งหมดของหมวดหมู่ / ผลิตภัณฑ์ในร้านค้าทั้งหมด (รองรับมัลติสโตร์) เรียกใช้:

$> bin/magento ok:urlrewrites:regenerate

ในการสร้าง Url ใหม่ในมุมมองร้านค้าเฉพาะ (เช่น: ID ร้านค้าคือ "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
ส่วนขยายนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ขอบคุณสำหรับการขยาย
mapaladiya

มันใช้งานได้ดีมาก! ขอบคุณ!
LucScu

เป็นการลบการเขียนเก่าหรือไม่
Matthew McLennan

1
มันยังทำงานอยู่เหรอ? มันไม่ได้สำหรับฉัน
เคอร์บี้

1
@OlegKoval ฉันได้ติดตั้งเวอร์ชัน 1.3.1 แล้วแต่ยังใช้งานไม่ได้สำหรับฉัน ดังนั้นปัญหาหลังนี้คืออะไร?
Chintan Kaneriya

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 ที่ซ้ำกันโดยใช้ ID เช่นกัน (แม้ว่าการปรับปรุงเล็กน้อยเพื่อแสดง sku จะเป็นประโยชน์)
Spyrule

ส่วนขยายนี้ใช้งานไม่ได้สำหรับ magento 2.2.9
jruzafa

3

จริงๆแล้วมีวิธีง่ายๆในการแก้ไขปัญหานี้โดยไม่มีปัญหา สำหรับคน TL: DR ชิ้นส่วนที่มีความเกี่ยวข้องนั้นจะเกี่ยวข้องกัน

สิ่งหนึ่งที่ต้องตรวจสอบก่อน หากคุณมีหลายมุมมองร้านค้าให้ไปที่ผลิตภัณฑ์และเปลี่ยนมุมมองเป็นมุมมองเฉพาะ เลื่อนลงและตรวจสอบให้แน่ใจว่าตั้งค่าคีย์ URL เป็น "ใช้ค่าเริ่มต้น" หากยังไม่ได้เลือกจะไม่มีการสร้าง ฉันคิดว่าสิ่งนี้อาจเกิดขึ้นได้เมื่อคุณนำเข้าผลิตภัณฑ์ M1 ฉันมีผลิตภัณฑ์มากกว่า 200 รายการที่ต้องการการสัมผัส

การแก้ไขนี้ยังช่วยถ้าคุณทำเคล็ดลับที่คุณสลับร้านค้าของคุณไปเป็นรูทและแบ็คที่ต่างออกไป รวมถึงคนที่คุณกำหนดเอง และมันสามารถจบด้วยอะไรก็ได้นอกจาก URL หมวดหมู่ ไม่แน่ใจว่าทำไมการสร้าง URL สำหรับผลิตภัณฑ์ล้มเหลวอย่างสมบูรณ์ แต่ฉันคิดว่าเป็นเพราะวีโอไอพีพยายามสร้างลิงก์จำนวนมากเกินไปในการดำเนินการครั้งเดียวซึ่งล้มเหลว

ดังนั้นให้ยิงนี่ เปิดหน้าต่างเขียน URL ใหม่และบันทึกจำนวนรายการ ให้คุณรู้ว่ามันใช้งานได้ดีไหม

ไปที่หมวดหมู่ระดับแรก (ไม่ทำงานตามค่าเริ่มต้นเนื่องจากไม่มีคีย์ URL) เลื่อนลงไปที่ Search Engine Optimization / URL-Key เพิ่ม 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

ฉันก็มีปัญหานั้นเช่นกันฉันใช้วีโอไอพี 1.9.2.4 วีโอไอพีไม่มีวิธีใด ๆ ในการสร้าง URL ที่กำหนดเอง ดังนั้นสิ่งที่ฉันทำคือปิดโต๊ะเล็กน้อยและมันแก้ไขปัญหาได้ฉันไม่เคยลองส่วนขยายการเขียนใหม่แบบวีโอไอพีดังนั้นจึงไม่สามารถพูดได้ว่ามันทำงานอย่างไร

หมายเหตุ - บางทีคุณไม่ควรพิจารณาสิ่งนี้หากคุณมีการเขียน url ที่กำหนดเองมากเกินไป

Magento สร้างการเปลี่ยนเส้นทางเริ่มต้นใหม่ดังนั้นหากการเขียนซ้ำแบบกำหนดเองทำให้เกิดปัญหาคุณสามารถตัดตารางcore_url_rewriteจากฐานข้อมูลคุณภาพเยี่ยมของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบให้แน่ใจว่าได้ทำการสำรองข้อมูลของฐานข้อมูลไว้ก่อนแล้ว


นั่นคือจุดรวมที่แตกต่างจากวีโอไอพี 1 วีโอไอพี 2 ไม่มีดัชนีในการสร้าง URL ใหม่ คำถามเกี่ยวกับ Magento 2.1
Arun Karnawat

0

น่าเสียดายที่ไม่มีส่วนขยาย / โมดูลเหล่านี้ที่ใช้ได้สำหรับฉัน ฉันมีผลิตภัณฑ์ประมาณ 4000 ชิ้นและย้ายจาก Magento 1.9.2.4 เป็น 2.2.2 ฉันใช้เครื่องมือการย้ายข้อมูลและทำงานได้อย่างมีเสน่ห์นอกเหนือจากปัญหานี้

ผลิตภัณฑ์บางอย่างของฉันมีคีย์ URL และบางอย่างไม่มี ฉันมีเพียงร้านเดียวซึ่งเป็นส่วนที่น่าผิดหวัง ดูเหมือนว่าวีโอไอพีจะพิจารณาผู้ดูแลร้านค้า

สิ่งเดียวที่ใช้ได้ผลสำหรับฉันคือการนำเข้าผลิตภัณฑ์ด้วยตัวเลือก 'แทนที่' และเพื่อวัตถุประสงค์ด้าน SEO ฉันไม่ต้องการเปลี่ยน URL ของผลิตภัณฑ์ของฉันแม้ว่าจะเป็นเพียงการเพิ่มตัวเลขหลังจากนั้น

ฉันจะลองลบ url rewrites สำหรับผลิตภัณฑ์เท่านั้น


0

ฉันพบปัญหาที่คล้ายกัน ใน Magento 1 เป็นไปได้ที่จะตัดทอนตาราง url rewrite และทำดัชนีใหม่ Magento 2 ไม่มี url rewrite indexer ดังนั้นนี่ไม่ใช่ตัวเลือก

หลายคนแนะนำให้ใช้ Iazel extension ฉันไปกับส่วนขยายของ Olgeg Kovalและทำงานได้อย่างสวยงาม ใช้ Magento 2.2 มันจะลบ url ที่มีอยู่ทั้งหมดและสร้างมันใหม่สำหรับการดูร้านค้า ไม่มีปัญหา


0

สิ่งที่คุณต้องทำเพื่อสร้างการเขียนใหม่คือการเริ่มต้นการเขียนใหม่ ไปที่หมวดหมู่หรือผลิตภัณฑ์และเปลี่ยน URL ในส่วน SEO ของผลิตภัณฑ์ / หมวดหมู่โดยการเพิ่ม "a-" ไว้ข้างหน้า ตัวอย่างเช่น:

Url = "ชื่อผลิตภัณฑ์" ใหม่ Url = "a-product-name"

นี่จะทริกเกอร์การเขียนซ้ำและทำซ้ำการเขียนอื่นทั้งหมด


วิธีนี้จะใช้งานได้หากคุณมีการเขียนซ้ำจำนวนหนึ่ง เนื่องจากมีผลิตภัณฑ์มากกว่า 100 รายการติดอยู่ที่ URL เดิมจึงไม่มีวิธีแก้ปัญหาที่เป็นไปได้
Jacques
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.