Ruby on rails 谷歌会忽略搜索查询中的哪些字符(而不是将其视为空格?)

Ruby on rails 谷歌会忽略搜索查询中的哪些字符(而不是将其视为空格?),ruby-on-rails,seo,slug,Ruby On Rails,Seo,Slug,我想让我的页面具有可读性,但Rails内置的参数化方法没有经过SEO优化。例如,如果我有一篇题为“臭名昭著的B.I.G.是最好的”的帖子,parameterize将为我提供以下路径: /posts/notorious-b-i-g-is-the-best 这是次优的,因为谷歌将查询“臭名昭著的BIG”理解为“臭名昭著的大”,而不是“臭名昭著的BIG”(即,删除点而不是将其视为空格) 同样,“汤姆最爱的比萨饼”被转换成“汤姆最爱的比萨饼”,而它应该是“汤姆最爱的比萨饼”(因为谷歌也忽略撇号) 要创

我想让我的页面具有可读性,但Rails内置的
参数化方法没有经过SEO优化。例如,如果我有一篇题为“臭名昭著的B.I.G.是最好的”的帖子,
parameterize
将为我提供以下路径:

/posts/notorious-b-i-g-is-the-best
这是次优的,因为谷歌将查询“臭名昭著的BIG”理解为“臭名昭著的大”,而不是“臭名昭著的BIG”(即,删除点而不是将其视为空格)

同样,“汤姆最爱的比萨饼”被转换成
“汤姆最爱的比萨饼”
,而它应该是
“汤姆最爱的比萨饼”
(因为谷歌也忽略撇号)

要创建更好的
参数化
,我需要知道Google从查询中删除了哪些字符(这样我就可以从URL中删除它们),以及Google将哪些字符视为空格(这样我就可以将它们转换为URL中的破折号)

更好的是,这样的
参数化方法是否存在

(此外,我认为这太聪明了。2个有代表性的问题案例:

[Dev]> "Notorious B.I.G. is the best".to_url
=> "notorious-b-dot-i-g-is-the-best"
[Dev]> "No, Curren$y is the best".to_url
=> "no-curren$y-is-the-best"

我会尝试使用专为生成slug而设计的gem。它们通常会做出良好的设计决策,并且它们有一种更新代码以改变最佳实践的方法。此文档代表了谷歌的

下面是一个最佳gems的列表。它们按排名排序,排名是根据开发活动和有多少人“观看”gems源代码的更改而计算的


现在最重要的一个是,它看起来会为你的搜索引擎优化生成很好的slug。这里是到的链接。你也可以配置它,它看起来非常适合你的需要。

谷歌似乎对url slug中的“b-i-g”和“big”都有很好的效果

对于rails方面的事情,是的,存在一个参数化方法

"Notorious B.I.G. is the best".parameterize
=> "notorious-b-i-g-is-the-best"
我想你可以自己创建URL…比如

class Album
  before_create :set_permalink

  def set_permalink
    self.permalink = name.parameterize
  end

  def to_params
    "#{id}-#{permalink}"
  end
end
这将创建以下url结构:

/albums/3453-notorious-b-i-g-is-the-best

如果愿意,您可以删除to_params中的id部分。

使用title标签和description meta标签告诉google该页面的名称:这些标签比url更重要。因此,将您的url保留为
/posts/臭名昭著的-b-i-g-is-best
,但将“臭名昭著的b.i.g.是最好的”放在您的title标签中