2011-02-04 37 views
3

我們正在對Magento商店前臺進行一些SEO優化,我需要一些關於更改類別網址的最佳方法的建議。我們的SEO承包商要從改變一串網址:Magento:爲深層嵌套的類別頁面重寫

/base-cat/sub-cat1/sub-cat2.html 

/seo-friendly-cat2.html. 

我們有一大堆的嵌套類(5頂層和一幫子類別高達4級深的)。由於這有助於我們的客戶深入瞭解主導航,我們不確定是否要更改類別層次結構。但是我們可能會對100個類別進行這些URL更改。

我知道我們可以使用301重寫(使用.htaccess或Magento的內置重寫模塊)來完成其中的一部分,但是解決此問題的最佳方法是什麼?我看到使用301的缺點之一是主導航在其鏈接中將繼續存在很長的子類別url。我應該看看做一個自定義模塊,它允許我們指定類別的確切URL(而不是特定於層次結構的url標記)?你有什麼建議?

+0

沒有叮咬?天啊! :) – shaune 2011-02-04 22:31:48

+0

請指定您正在使用哪個Magento版本? – 2011-02-07 13:26:11

回答

4

很可能你會想寫一個腳本來爲你做這件事,並將它保存在Magento的URL管理中,而不是在.htaccess等中的一些長期不可管理的重寫/重定向列表。

我認爲你最大的問題是任何碰撞,其中存在相同的文件名,以及你想如何處理這種情況。

Mage::getModel('core/url_rewrite') 
->setIsSystem(0) 
->setStoreId($storeId) 
->setOptions('RP') 
->setIdPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html') 
->setTargetPath($categoryModel->getUrlPath() . '.html') 
->setRequestPath('index.php?cat=c' . $categoryId . '_' . $this->strip($data['name']) . '.html') 
->save(); 

這只是一個如何將重寫添加到Magento的URL重寫管理器的例子。