第0章 目标
Chain Club网站即将初步完工,正在做上线前的准备,今晚的目标是做SEO(搜索引擎优化),目前仅做了初步的优化,即使用 SEO_helper这个gem让每个页面的title和meta description各不相同,更加深入的SEO后续再处理。
第1章 关于SEO
SEO简单说就是使用正确的HTML标签给网页划重点,让搜索引擎更容易了解到你的网页内容。
SEO的好处很多,可以让潜在用户搜索时,使得你的网站排名更靠前。
这里要提到网站SEO时的几个要点:
- HTML标签中,div与span无意义的,它们只是容器;
- 不要滥用H1,H2,H3的数量,H1每页最多一个,H2每页2-3个,H3每页可以有6-10个,滥用这些标题,搜索引擎会任务你在作弊;
- 网页的title和meta description也是非常重要的,每个页面都要有独立且准确的网页标题,meta description用于叙述本页的内容;
- 多把关键字放在标题与叙述上,网站每一页的标题和叙述都要不同,否则搜索引擎会认为你在作弊;
以上这些在做SEO时的权重是这样的:
第2章 安装SEO——helper
在Gemfile
中加入gem "seo_helper"
,然后执行bundle install
。
第3章 新增SEO_helper设置文件
终端执行touch config/initializers/seo_helper.rb
SeoHelper.configure do |config|
config.site_name = "替换成你的网站名称"
end
这样网站的title都变成上面设置的site_name了。
当然,你也可以给description之类的元素设定默认值,方法类似
SeoHelper.configure do |config|
config.skip_blank = false
config.site_name = "替换成你的网站名称"
config.default_page_description = "网站默认描述"
config.default_page_keywords = "网站页面关键词"
end
第4章 在layout中使用
在layout的<head>
和 </head>
之间加入如下内容:
<%= render_page_title_tag %>
<%= render_page_description_meta_tag %>
<%= render_page_keywords_meta_tag %>
第5章 为不同的页面设定不同的标题、描述、关键词
这样就可以在controller的action中给页面设定特别的title等,只需要写成这样:
def index
#...
set_page_title "小组首页 | 区块链研习社" #设定title
end
def show
#...
set_page_title @group.title #设定title
set_page_description @group.description #设定description
set_page_keywords @group.tags #设定关键字
end
第6章 在单独的View中设置标题、描述、关键词
如果不想在action中设置,也可以在单独的View中设置标题、描述。在相应页面加入如下内容即可。
<%= title_tag("标题") %>
<%= description_meta_tag("网页描述") %>
参考:seo_helper