我的(rails 3.1)网站目前使用ID这样的对象进行路由:/ object / show /:id
对于seo和url美化,我想将它们更改为/ object / show /:id /:title或类似的东西。
我仍然希望使用id来进行数据库查找以提高性能和简单性,因此添加:title将是纯粹的装饰。
鉴于此,将我的网站上的标签hrefs保持指向/ object / show /:id然后执行301永久重定向到我的新网址方案是一种将对象标题添加到我的网址的seo友好方式?将我的hrefs指向旧方案有什么缺点吗?许多都是硬编码到原始方案,所以我们想避免在代码库中插入标题的繁琐工作,如果没有必要的话。谢谢!
答案 0 :(得分:1)
只需更改模型中的to_param
方法即可。
def to_param
"#{id}-#{permalink}"
end
Model#find
仍然会以这种方式运作。
答案 1 :(得分:1)
如果您将href保留为旧网址,则所有链接都将重定向。
这意味着所有访问者的体验都会稍微慢一些,而Google会泄露部分链接之间传递的PageRank。
尽可能避免使用。