Selamat datang di Magento.StackExchange!
Sayangnya, tidak ada modul out-of-box yang akan melakukan ini untuk Anda.
Saya sangat mendorong Anda untuk mempertimbangkan kembali ini sebagai opsi. Pengguna Anda tidak bodoh (tidak peduli seberapa bodohnya mereka berperilaku) - bertahun-tahun analisis eCommerce telah menunjukkan kepada saya bahwa, hampir 80% dari waktu, pengguna yang mencapai 404 akan mencapai bilah pencarian situs dalam hitungan detik. Berusahalah memperbaiki pencarian situs Anda dengan kategorisasi yang lebih baik (baca: isian kata kunci).
Indeks Google tidak selamanya. Jika Anda takut 404s, pertimbangkan untuk meningkatkan halaman 404 Anda sendiri. Tingkatkan potensi konversi Anda dengan menawarkan kupon diskon 5-10% untuk mereka yang tidak nyaman dengan menekan 404. Atau, lebih baik lagi, jangan nonaktifkan halaman produk. Alih-alih, nonaktifkan kemampuan untuk membeli (mis. Persediaan habis) dan menyediakan blok / tautan statis yang menghubungkan ke halaman / kategori yang relevan.
Saya tidak peduli, cukup beri saya kode karena internet:
Itu paling sederhana pengkodean modul dengan pengamat yang akan menangani ini untuk Anda adalah sepele:
Penunjukan acara di 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>
app / code / local / YourCompany / YourModule / Model / 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() */);
}
}
}