如何在Rails中自动获取元描述和关键字
How to get automatically meta description and keywords in Rails?
我正在用Rails 3开发一个应用程序,其中一个要求是每个页面上都有唯一的元描述和关键字,以提高SEO。
客户端需要自动执行此操作。你是怎么做到的?使用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标签,方法是在其中添加对meta()的调用。因此,在articles/show.html.erb
中,您可以将其添加到视图的顶部:
<% meta(:title, @article.title) %>
在你的布局中,你添加它时没有任何参数,所以它会吐出元标签。
<%= meta %>
或者让它输出一个单独的标签:
<%= meta(:title) %>
不过,我敢打赌还有更优雅的解决方案。但是,如果您正在寻找已经在Rails中实现的东西,那么您就没有运气了。
有许多宝石可以解决这个问题。看看:
- 元标记
- seo_meta
相关文章:
- Brightcove获取/显示HTML中的当前视频标题和描述
- 从jQuery whatweather获取描述
- 获取js执行环境的版本描述
- 如何获取导入的谷歌地图地标的描述
- 使用jquery只获取rss提要的描述标签中的第一段
- 检索特定播放列表缩略图时,它不会获取视频的视图和描述
- 从页面 URL 获取页面描述,而不会减慢页面加载速度
- 无法获取类属性的属性描述符
- 如何获取谷歌浏览器标签的描述和网址图片
- 描述从回调方法获取正确的作用域
- 正在获取mime类型的描述/名称/友好格式
- 用日期和描述获取完整的月份
- 通过Cheerio获取新闻描述
- 点击(html.push)获取Youtube视频描述
- Ckeditor插件对话框选择从选定的一个获取描述
- 从第二个下拉菜单中获取描述
- 如何使用Dailymotion API获取标题、缩略图、描述信息
- 如何获取随机页面的即时缩略图和描述
- 如何在Rails中自动获取元描述和关键字
- 获取 console.log() 以显示自定义对象描述