我正在开发一个应用程序与Rails 3,其中一个requeriments是独特的元描述和每个页面上的关键字,以改善搜索引擎优化。如何在Rails中自动获取元描述和关键字?
客户端需要它自动执行。你怎么做到这一点?最好用Rails,Ruby或直接用Javascript来做到这一点?
谢谢。
我正在开发一个应用程序与Rails 3,其中一个requeriments是独特的元描述和每个页面上的关键字,以改善搜索引擎优化。如何在Rails中自动获取元描述和关键字?
客户端需要它自动执行。你怎么做到这一点?最好用Rails,Ruby或直接用Javascript来做到这一点?
谢谢。
在Rails中做,而不是通过JavaScript。搜索引擎不会执行您的JavaScript。
我最常做的是写一个元帮手,我只是坚持我的ApplicationHelper,看起来像这样:
def meta(field = nil, list = [])
field = field.to_s
@meta ||= {
'robots' => ['all'],
'copyright' => ['My Copyright'],
'content-language' => ['en'],
'title' => [],
'keywords' => []
}
if field.present?
@meta[field] ||= []
case list.class
when Array then
@meta[field] += list
when String then
@meta[field] += [list]
else
@meta[field] += [list]
end
case field
when 'description' then
content = truncate(strip_tags(h(@meta[field].join(', '))), :length => 255)
else
content = @meta[field].join(', ')
end
return raw(%(<meta #{att}="#{h(field)}" content="#{h(content)}"/>))
else
tags = ''
@meta.each do |field, list|
tags += meta(field)+"\n"
end
return tags.rstrip
end
end
你可以简单地设置你的意见meta标签,通过增加调用元( ) 在里面。所以在articles/show.html.erb
你或许会添加到您的视图的顶部:
<% meta(:title, @article.title) %>
而在你的布局,你加它不带任何参数,所以它会吐出meta标签。
<%= meta %>
还是有它输出一个单独的标签:
<%= meta(:title) %>
我敢打赌,你有更多的优雅的解决方案,虽然。但是如果你正在寻找已经在Rails中实现的东西,那么你倒霉了。
谢谢你,我用了一些修改您的解决方案。顺便说一句,我不能使这个作品 '<%= meta %>' – decay 2011-06-01 17:41:37
所以我可以做一些像'<%meta(:description,'我的描述'%>'如果我想添加一个元描述标签? – acconrad 2011-09-16 21:46:52
对于SEO, – 2012-04-29 21:54:52