Seo 如何在RESTful URL中使用slug?

Seo 如何在RESTful URL中使用slug?,seo,slug,restful-url,Seo,Slug,Restful Url,根据留言板上给定线程的RESTful URL,应该如下所示: http://domain/forum/threads/3 URL应该包含关键字(slug),这也是一种常见的SEO实践,因此上述URL可能会变成: http://domain/forum/threads/3/title-of-this-particular-thread 现在,根据我在第一段中链接的指导原则,要编辑此线程,URL将是: http://domain/forum/threads/3/edit 当有人开始一个标题为“

根据留言板上给定线程的RESTful URL,应该如下所示:

http://domain/forum/threads/3
URL应该包含关键字(slug),这也是一种常见的SEO实践,因此上述URL可能会变成:

http://domain/forum/threads/3/title-of-this-particular-thread
现在,根据我在第一段中链接的指导原则,要编辑此线程,URL将是:

http://domain/forum/threads/3/edit

当有人开始一个标题为“编辑”的线程时会发生什么?如何决定是否显示或编辑线程?

而不是
http://domain/forum/threads/3/title-of-this-particular-thread

你应该做
http://domain/forum/threads/3-title-of-this-particular-thread

这将防止冲突,并且对搜索引擎优化同样友好。有几种方法可以实现这一点,但最简单的方法是在模型中添加一个自动进行转换的to_param方法:

class Thread < ActiveRecord::Base
  to_param
    "#{id}-#{title}"
  end
end
类线程

如果您需要更大的灵活性,或者不想在所有型号中重复,可以使用Gem。

StackOverflow上的URL可能有所不同