magento对SEO的友好自不必说,相信好多人是看中了这一点.然而,magento它也不可能替你完成所有的工作.当我们某个分类或产品页面的URL需要更改时,我们要什么处理?修改URL自然容易,但是要考虑到你的这个页面可能已经被google收录,修改URL对搜索引擎意味着你的内容在不断丢失.虽然magento会将对旧URL页面的请求定向到404页面.已经是处理的还可以了.但是事实上这是不对的,这就需要区分一下404和301了.
404是指访问的页面不存在,发生错误了.
301是用来将一个页面永久重定向到另一个页面.
显然用301是更合理的.
那具体要如何实现呢:
RewriteCond %{THE_REQUEST} old_page.html [NC]
RewriteRule ^(.*)$ http://www.bac.com/new_page.html[R=301]
当然这只是对伪静态URL进行了重定向.如果说你的一个产品还可以通过其它的URL访问,那么其它的URL也需要重写的.通常,出于SEO的考虑,应该要避免这种情况.但是万一说你的magento网站没有使用URL重写,这个时候就必须要处理这类动态URL的重定向:
RewriteCond %{QUERY_STRING} a catalog/product/view/id/(.*) [NC]
RewriteRule ^(.*)$ http://www.abc.com/catalog/product/id/%1 [R=301]
所有,现实的情况是,如果要产品要下架,最多也是减少它出现的概率,可以通过magento后台控制,而不是简单的删除.