我们正在Magento商店前面进行一些SEO优化,我需要一些关于更改类别网址的最佳方法的建议。我们的SEO承包商希望改变一堆网址:
/base-cat/sub-cat1/sub-cat2.html
到
/seo-friendly-cat2.html.
我们有一堆嵌套类别(5个顶级和一组子类别,最多4个级别)。由于这有助于我们的客户深入了解主导航,因此我们不确定是否要更改类别层次结构。但我们可能会在100个左右的类别上进行这些网址更改。
我知道我们可以使用301重写(使用.htaccess或Magento的内置重写模块)来完成部分工作,但最好的方法是什么?其中一个缺点我看到使用301s是主导航将继续在其链接中具有长的子类别URL。我应该看一下自定义模块,它允许我们为类别指定一个确切的URL(而不是特定于层次结构的URL标记)?你的建议是什么?
答案 0 :(得分:4)
您很可能想要编写一个脚本来为您执行此操作,并将其保存在Magento的URL Management中,而不是在.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重写管理器中的示例。