想要Magento Seo尽善尽美的人,很关注Magento Tags(商品标签)的Url优化。我们来看下优化过和未优化过的Url的区别。
未优化:http://127.0.0.1/index.php/tag/product/list/tagId/12/
优化后:http://127.0.0.1/index.php/tag/product/list/tagId/cool/
我给大家演示下,基本的修改方法,虽未尽善尽美,但也达到目的了。
如何修改呢?
如下为需要修改的文件路径以及代码片段,注意这些文件是在core中的,不可直接修改,请按照magento的开发规范来做覆盖处理。
app\code\core\Mage\Tag\Model\Tag.php 此文件会影响前台,类此此处的标签的网址呈现方式。

public function getTaggedProductsUrl() { //return Mage::getUrl('tag/product/list', array('tagId' => $this->getTagId())); return Mage::getUrl('tag/product/list', array('Name' => $this->getName())); }
app\code\core\Mage\Tag\controllers\ProductController.php 此文件会将Url翻译成动作。此文件中的那个 if判断若不注释掉似乎只会显示404,我未深究,大家可以注释掉,或者debug下。
//$tagId = $this->getRequest()->getParam('tagId'); //$tag = Mage::getModel('tag/tag')->load($tagId); //通过tag名字加载tag list loadByName $tagName = $this->getRequest()->getParam('Name'); $tag = Mage::getModel('tag/tag')->loadByName($tagName);
修改完这两处,既可以完成Magento 标签网址的初步优化。至少不是tag的ID号了。如下图,看着也很爽吧。