अक्षम उत्पादों के लिए स्वचालित 301 पुनर्निर्देश


14

मैं Magento 1.7 में एक कस्टम उत्पाद प्रकार (ईवेंट) के लिए स्वचालित पुनर्निर्देश जोड़ने की कोशिश कर रहा हूं। जब एक घटना की तारीख बीत गई है, तो मैं उत्पाद को अक्षम के रूप में चिह्नित कर रहा हूं ताकि उपयोगकर्ता गलत पृष्ठ पर न जाएं, और मैं भविष्य की कक्षाओं की सूची पर भी पुनर्निर्देशित करना चाहता हूं, इसलिए मेरे पास 404 त्रुटियों की अधिकता नहीं है साइट।

क्या उत्पाद प्राप्त करने के लिए एक घटना को सुनने का एक तरीका है जहां 404 को फेंक दिया जाएगा, या मुझे इसके लिए कहीं मुफ्त एक्सटेंशन की तलाश करनी चाहिए? मैं थोड़ी देर से खोज रहा हूं और ऐसा कोई एक्सटेंशन नहीं देखा है जो अच्छी तरह से काम करता हो।

जवाबों:


17

Magento.StackExchange में आपका स्वागत है!

दुर्भाग्य से, कोई आउट-ऑफ-द-बॉक्स मॉड्यूल नहीं है जो आपके लिए ऐसा करेगा।

मैं आपको एक विकल्प के रूप में इस पर पुनर्विचार करने के लिए प्रोत्साहित करूँगा। आपके उपयोगकर्ता बेवकूफ नहीं हैं (कोई फर्क नहीं पड़ता कि वे कितना मूर्खतापूर्ण व्यवहार करते हैं) - कई, कई वर्षों के ईकामर्स विश्लेषण ने मुझे दिखाया है कि, लगभग 80% समय, 404 तक पहुंचने वाले उपयोगकर्ता सेकंड के भीतर साइट-सर्च बार पर हिट करेंगे। बेहतर वर्गीकरण के साथ अपनी साइट खोज को ठीक करने में अपना प्रयास करें (पढ़ें: कीवर्ड स्टफिंग)।

Google अनुक्रमणिका हमेशा के लिए नहीं हैं। यदि आप 404 से डरते हैं, तो अपने 404 पृष्ठ को स्वयं ही ऊपर उठाने पर विचार करें। 404 मारकर असुविधा का अनुभव करने वालों को 5-10% छूट कूपन देकर अपनी रूपांतरण क्षमता बढ़ाएं। या फिर, बेहतर अभी तक, उत्पाद पृष्ठों को अक्षम न करें। बल्कि, खरीद करने की क्षमता को अक्षम करें (जैसे स्टॉक से बाहर सेट) और एक स्थिर ब्लॉक / लिंक प्रदान करें जो संबंधित पेज / श्रेणी से लिंक करता है।

मुझे परवाह नहीं है, बस मुझे कोड दें क्योंकि इंटर्नेट:

यह एक पर्यवेक्षक के साथ एक मॉड्यूल को कोड करना सबसे सरल है जो आपके लिए यह तुच्छ होगा।

Config.xml में घटना पदनाम:

<global>
    <events>
        <controller_action_postdispatch_catalog_product_view>
            <observers>
                <yourmodule_capcpv>
                    <class>YourCompany_YourModule_Model_Observer</class>
                    <method>catalogProductViewPostdispatch</method>
                </yourmodule_capcpv>
            </observers>
        </controller_action_postdispatch_catalog_product_view>
    </events>
</global>

एप्लिकेशन / कोड / स्थानीय / आपकी कंपनी / YourModule / मॉडल / Observer.php:

<?php

class YourCompany_YourModule_Model_Observer
{
    public function catalogProductViewPostdispatch($observer)
    {
        $controller = $observer->getEvent()->getControllerAction();

        $product = Mage::registry('current_product');
        if($product->getStatus()!=Mage_Catalog_Model_Product_Status::STATUS_ENABLED){
            $action->getResponse()->setRedirect(/* your redirect URL here with Mage::getUrl() */);
        }
    }
}

1
धन्यवाद फिलिंक। मैं कोशिश करूँगा और ग्राहक को अपने पहले सुझावों के साथ जाने के लिए मना लूँगा। मैं मानता हूं कि 404 को हाईजैक करना शायद बुरा रूप है।
kayluhb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.