Magento 2 में URL रीराइट को कैसे हटाएं और पुनर्जीवित करें?


23

मैंने हाल ही में magento 2 स्टोर पर 2 अतिरिक्त स्टोर व्यू बनाए हैं। अब श्रेणी और उत्पाद का url उन दुकानों के लिए नहीं है जो उचित नहीं हैं

जैसे: http://example.com/catalog/category/view/s/pouches/id/20/ जिसे मान लिया जाता है http://example.com/accessories/pouches.html

अब जब मैं प्रत्येक उत्पाद और श्रेणी को एक-एक करके सहेजता हूं तो यह उस उत्पाद या श्रेणी के लिए url पुनः लिख देता है।

लेकिन बहुत सारे उत्पाद और श्रेणी हैं।

तो क्या URL रीराइट करने का कोई तरीका है

Magento 1.x के रूप में यह reindexing के माध्यम से किया जा सकता है।


Magento में 2 url rewrite मॉड्यूल पुन: लिखने के लिए Indexer का उपयोग नहीं करता है। उत्पाद / श्रेणियों / सेमी पेजों को बचाने / आयात करने की प्रक्रिया में पुनर्वितरित होता है। तो आपको प्रोग्राम को लोड करने और श्रेणियों को बचाने के लिए प्रोग्रामेटिक तरीके से जाने की आवश्यकता हो सकती है
MP196

क्या आप मुझे ऐसा करने के लिए स्क्रिप्ट बनाने के लिए कुछ संदर्भ सुझा सकते हैं।
अरुण कर्णावत

आपको पुनः अनुक्रमण करने की आवश्यकता है।
वैभव जैन

मैं पहले से ही अनुक्रमित करने की कोशिश कर चुका हूं, मैगेंटो 2 में यूआरएल रिवाइराइट इंडेक्स नहीं है। इसलिए यह काम नहीं करता है। मैं अब फिर से काम कर रहा हूं, इसका काम नहीं है
अरुण कर्णावत

1
उन उत्पादों के लिए, जो आप आज़माते हैं, वे सभी ग्रिड से चुनें, और अपडेट विशेषताओं का चयन करें और वेबसाइटों में टैब वेबसाइट का चयन करें (हालांकि उत्पाद पहले से ही उसी वेबसाइट को दिए गए हैं) यह उत्पाद को फिर से प्रकाशित करेगा और url rewrites को पुन: उत्पन्न कर सकता है।
एमपी १

जवाबों:


16

इस मॉड्यूल को हटा दिया गया है आप इसके बजाय इस मॉड्यूल का उपयोग कर सकते हैं

संगीतकार का उपयोग कर डाउनलोड करें;

संगीतकार को एलीगेंटोस / पुनर्जनन-कैटलॉग-यूआरएल की आवश्यकता होती है

php बिन / Magento सेटअप: उन्नयन

सभी उत्पादों और वैश्विक स्टोर के लिए यूआरएल को पुन: उत्पन्न करें

php बिन / Magento पुनर्जीवित: उत्पाद

स्टोर 1 के लिए आईडी (1, 2, 3, 4) के साथ उत्पादों के लिए यूआरएल को पुन: उत्पन्न करें

php bin / magento पुनर्जीवित: उत्पाद: url -s1 1 2 3 4


वह मॉड्यूल छोटी गाड़ी है, लेकिन फिर भी कुछ मामलों में मदद कर सकती है।
गेदमिनस

हां, और यह हमारे लिए उपयोगी होगा कि हम उन तरीकों का उपयोग करके उत्पाद यूआरएल को फिर से लिखें।
लीड डेवलपर

1
वर्तमान में, 2.1.9 में काम नहीं करता है ...
स्पाईट्रल

@Spyrule मैं 2.1.9 पर हूं और अनुभवी मुद्दे। हालाँकि मेरे मुद्दे को लॉग इन करने के बाद, किसी ने मुझे इस पुल अनुरोध की ओर इशारा किया, जिसे अभी तक मंजूरी नहीं मिली है, मेरे लिए एक आकर्षण का काम करता है: github.com/Iazel/magento2-regenurl/pull/21/commits/…
डेविड विल्सन

@Gerdiminas आप किस बग के बारे में जानते हैं?
हर्री

19

आप एक Url rewrites एक्सटेंशन का उपयोग कर सकते हैं (यह एक Url को फिर से लिखना उत्पादों और श्रेणियों के लिए अनुमति देता है)।

सभी स्टोरों में श्रेणियों / उत्पादों के सभी Url rewrites को फिर से बनाने के लिए (यह एक मल्टीस्टोर्स का समर्थन करता है) रन:

$> bin/magento ok:urlrewrites:regenerate

विशिष्ट स्टोर दृश्य में Url को फिर से लिखने के लिए (उदाहरण के लिए: स्टोर व्यू आईडी "2" है):

$> bin/magento ok:urlrewrites:regenerate 2

1
यह विस्तार मेरे लिए पूरी तरह से काम कर रहा है। आपके विस्तार के लिए धन्यवाद।
मापलदिया

यह बहुत अच्छा काम करता है! धन्यवाद!
लुकस्कु

क्या यह पुराने पुनर्लेखन को हटाता है?
मैथ्यू मैक्लेनन

1
क्या यह अभी भी काम कर रहा है? यह मेरे लिए नहीं है।
किर्बी

1
@OlegKoval मैंने संस्करण 1.3.1 स्थापित किया है लेकिन फिर भी यह मेरे लिए काम नहीं करता है। तो इसके पीछे क्या मुद्दा है?
चिंतन कनेरिया

3

@ महेन्द्र जेला के जवाब के अपडेट में, इसी एक्सटेंशन की शाखा देखें : 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 उत्पादों की पहचान करने में मदद की (यद्यपि, स्क्यू को सूचीबद्ध करने के लिए एक मामूली अद्यतन उपयोगी होगा)।
जासूसी

यह विस्तार मेरे लिए नहीं काम करता है Magento 2.2.9
jruzafa

3

वास्तव में बहुत परेशानी के बिना इसे ठीक करने का एक आसान तरीका है। टीएल के लिए: डीआर लोग, बोल्ड भागों प्रासंगिक हैं।

पहले जांच करने के लिए एक बात; यदि आपके पास कई स्टोर दृश्य हैं, तो उत्पाद में जाएं और दृश्य को विशेष दृश्य पर स्विच करें। नीचे स्क्रॉल करें और सुनिश्चित करें कि URL- कुंजी "डिफ़ॉल्ट मान का उपयोग करें" पर सेट है। यदि इसकी जाँच नहीं की जाती है, तो यह कभी उत्पन्न नहीं होगी। मुझे लगता है कि यह तब हो सकता है जब आप एम 1 उत्पादों का आयात करते हैं। मेरे पास 200+ उत्पाद थे जिन्हें छूने की आवश्यकता थी।

यह फिक्स भी मदद करता है यदि आप उस चाल को करते हैं जहां आप अपने स्टोर को एक अलग रूट और बैक पर स्विच करते हैं, जो सब कुछ साफ करता है। अपने कस्टम वाले भी शामिल हैं। और यह श्रेणी URL के अलावा और कुछ भी नहीं कर सकता है। यह सुनिश्चित नहीं है कि उत्पादों के लिए URL पीढ़ी पूरी तरह से विफल क्यों है, लेकिन मुझे लगता है कि यह इसलिए है क्योंकि Magento एक ऑपरेशन में बहुत अधिक लिंक बनाने की कोशिश कर रहा है जो विफल रहता है।

इसलिए इसे एक शॉट दें। URL फिर से खोलें विंडो और प्रविष्टियों की संख्या पर ध्यान दें। यह आपको पता है कि क्या यह काम करता है।

पहले स्तर की श्रेणी में जाएं (यह डिफ़ॉल्ट रूप से काम नहीं करता है क्योंकि इसमें URL कुंजी नहीं है)। खोज इंजन ऑप्टिमाइज़ेशन / URL- कुंजी पर नीचे स्क्रॉल करें। कुंजी के अंत में एक एक्स जोड़ें। "पुराने URL के लिए स्थायी पुनर्निर्देशन बनाएँ" को अनचेक करें, यह केवल ऑपरेशन में अधिक काम जोड़ता है। अपनी श्रेणी सहेजें।

ऑपरेशन को दोहराएं और एक्स को हटा दें, फिर से "पुराने URL के लिए स्थायी पुनर्निर्देशन बनाएं" को अनचेक करें, क्योंकि आपको उन पुराने URL की तालिका को बंद करने की आवश्यकता नहीं है। फिर से बचाओ।

URL फिर से लिखना पृष्ठ को ताज़ा करें और आपको एक नया नंबर और चमकदार नया URL देखना चाहिए।

आवश्यकतानुसार दोहराएं।

FYI करें बड़ी श्रेणियां समय समाप्त हो सकती हैं। तो उन मामलों में, छोटी उप-श्रेणियां खुद से करें। मेरे सर्वर पर थ्रेशोल्ड लगभग 400 प्रविष्टियाँ हैं।

Magento अपनी उप-श्रेणियों से ऊपर की श्रेणी के लिंक बनाने के लिए पर्याप्त स्मार्ट है। यह भी काफी स्मार्ट है कि जब वह किसी अन्य श्रेणी के उत्पाद को देखता है, तो वह वहां के लिए भी लिंक बनाता है।

मुझे यह समझने में थोड़ा समय लगा कि मैं श्रेणी सूची में नीचे जाते हुए कम और कम लिंक क्यों देख रहा हूं। इसका कारण यह था कि अधिकांश उत्पाद पहले से ही तालिका में थे और केवल वे स्ट्रैगलर जो पहले बने नहीं थे।


0

इसलिए, मेरे पास उत्पादों के लिए यह समस्या थी और स्टोर से सभी उत्पादों को हटाने के लिए बड़े पैमाने पर अद्यतन सुविधा का उपयोग करके इसे ठीक किया और फिर उन्हें फिर से जोड़ दिया। मेरे पास बहुत अधिक श्रेणियां नहीं थीं, इसलिए मैं बस अंदर गया और उन्हें फिर से सहेजा।

कुल मिलाकर, मुझे लगता है कि मैगेंटो 1 में हमने ओले की ट्रेंकेट और पुन: उत्पन्न करने वाली रणनीति से बचना शायद सबसे अच्छा है। यदि आपका उत्पाद फिर से लिखना गलत लगता है, तो बस वही करें जो मैंने ऊपर पोस्ट किया है और जो उन्हें सही करना चाहिए।


0

जैसा कि मुझे पता है कि Magento 2 यह सुविधा प्रदान नहीं करता है, लेकिन मैं इस एक्सटेंशन का उपयोग कर रहा हूं

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

इससे मैं श्रेणी और सभी उत्पाद url को पुन: उत्पन्न करने में सक्षम हो सकता हूं।

नोट: मैं एक्सटेंशन का प्रचार नहीं कर रहा हूं इसलिए मैं इस एक्सटेंशन का उपयोग कर रहा हूं और यह मेरे लिए काफी उपयोगी है।


0

मेरे पास भी वह मुद्दा था, मैं १.९.२.४ का उपयोग कर रहा हूं, मैगेंटो कस्टम url को पुनर्जीवित करने के लिए कोई विधि प्रदान नहीं करता है। इसलिए मैंने जो किया वह तालिका से बहुत कम है, और इसने इस मुद्दे को हल कर दिया, मैंने कभी भी मैगेंटो यूआरएल रीराइट एक्सटेंशन की कोशिश नहीं की, इसलिए यह नहीं कह सकता कि वे कैसे काम करते हैं।

नोट- शायद आपको इस पर विचार नहीं करना चाहिए यदि आपके पास बहुत सारे कस्टम यूआरएल रीराइट हैं।

Magento अपने डिफ़ॉल्ट पुनर्निर्देशन को पुन: प्राप्त करता है इसलिए यदि कोई कस्टम फिर से समस्या उत्पन्न करता है, तो आप अपने magento डेटाबेस से core_url_rewrite तालिका को काट सकते हैं ।

यहाँ छवि विवरण दर्ज करें

ऐसा करने से पहले डेटाबेस का बैकअप अवश्य लें।


यह Magento 1 के विपरीत पूरे बिंदु है, Magento 2 में url को पुन: उत्पन्न करने के लिए सूचकांक नहीं है।
मैगेंटो

0

दुर्भाग्य से इनमें से किसी भी एक्सटेंशन / मॉड्यूल ने मेरे लिए काम नहीं किया है। मेरे पास लगभग 4000 उत्पाद हैं और Magento 1.9.2.4 से 2.2.2 तक बढ़ रहा है। मैंने डेटा माइग्रेशन टूल का उपयोग किया और यह इस मुद्दे के अलावा एक आकर्षण की तरह काम करता है।

मेरे कुछ उत्पादों में url कुंजियाँ हैं और कुछ नहीं हैं। मेरे पास केवल एक स्टोर है जो निराशाजनक हिस्सा है। ऐसा लगता है कि Magento व्यवस्थापक को एक स्टोर मानता है।

केवल एक चीज जो मेरे लिए काम करती है, वह उत्पादों को 'बदलें' विकल्प के साथ आयात कर रही थी। और एसईओ प्रयोजनों के लिए मैं अपने उत्पादों के यूआरएल को बदलना नहीं चाहता, भले ही यह सिर्फ एक नंबर जोड़ने के बाद ही क्यों न हो।

मैं केवल उत्पादों के लिए url फिर से लिखने को हटाने की कोशिश करने जा रहा हूं।


0

मैं एक ऐसी ही समस्या में भाग गया। Magento 1 में, url rewrite टेबल और reindex को छोटा करना संभव था। Magento 2 में एक url rewrite indexer नहीं है, इसलिए यह एक विकल्प नहीं है।

कई लोग Iazel एक्सटेंशन का सुझाव देते हैं। मैं ओलगेग कोवल द्वारा विस्तार के साथ गया , और इसने खूबसूरती से काम किया। Magento 2.2 को चलाकर, इसने सभी मौजूदा url rewrites को हटा दिया और उन्हें सभी स्टोर दृश्यों के लिए पुन: उत्पन्न किया। शून्य समस्याएं।


0

पुनर्लेखन को पुनर्जीवित करने के लिए आपको केवल एक पुनर्लेखन की शुरुआत करनी होगी। किसी श्रेणी या उत्पाद पर जाएं और उत्पाद / श्रेणी के एसईओ अनुभाग में उसके सामने एक "a-" जोड़कर उसका url बदलें। उदाहरण के लिए:

Url = "उत्पाद-नाम" New Url = "a-product-name"

यह फिर से लिखना शुरू करेगा और अन्य सभी पुनर्लेखन को फिर से करेगा।


यह केवल तभी काम करता है जब आपके पास कुछ हस्तलेख हों। पुराने URL पर 100 से अधिक उत्पाद अटके होने से यह संभव समाधान नहीं है।
जैक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.