长假期间,闲来无事,碰巧想起公司最近SEO数据不是很理想,于是拿自己的hi-ruby做了一些SEO的改进,而hi-ruby以前使用wordpress时,google收录基本是秒级的,而baidu基本是次日肯定收录,但是自从idc跑路之后,hi-ruby经历了长达3个多月的无法访问,pr也从3降到0,所以有必要对seo进行下适当的优化。

其实对于SEO也是半瓶酱油的水平,而且真的属于略懂的,此处只是记录下过程而已。

此次改动,主要涉及以下几个方面:

  1. 生成对google较为友好的sitemap.xml

  2. 生成对baidu较为友好的html站点地图

  3. 在用户相关的部分,采用结构化数据

  4. 重新规划title, keywords, description 等meta信息

暂未完成:

   1. url的语义化,虽说很多人的认为这个很有必要,但是之前搞过一个新闻网站,量级在20w左右,排名也很靠前,个人觉得相比较这些,还是title更重要一些,待观察下这次修改的效果之后,再考虑是否优化

1, 生成对google较为友好的sitemap.xml

hi-ruby使用的是一个很优秀的gem来处理: sitemap_generator, 使用起来非常方便,后期会写一个文章来详细介绍下

对于sitemap,google 和 baidu均有相应的后台

google: https://www.google.com/webmasters/tools/home  

baidu: http://zhanzhang.baidu.com/site/index

2,生成对baidu较为友好的html站点地图

这个就没什么好说的了,就是在sitemap#index中实现对全站内容的一个索引,并且采用page caching,目前hi-ruby是只有在创建新文章时,才会刷新这个站点地图的cache

3,在用户相关的部分,采用结构化数据

此处,感觉还是很有趣的,BlueBu会写一个文章详细说说这个.

4,重新规划title, keywords, description 等meta信息

针对title, 尽可能的让每个页面的title都有所不同

比如首页:  就叫 Hi-Ruby中文站,翻页之后呢,就变为 "第2页 - Hi-Ruby中文站"

此外,对于连词符,各家说的都不一样,hi-ruby采用的是对google较为友好的"-",毕竟搞ruby的谁用度娘啊,如果你想对百度进行优化,一般以下划线"_"为连词符.

对于keywords,其实最大的修改就是,没有keywords就不显示meta信息,目前只有在文章单页采用了一些keywords,将来会与文章的tag进行关联,目前hi-ruby只有文章分类,没有tag,因为BlueBu本人非常讨厌Tag,以前的博客,最后因为tag太多,反而造成了更多的麻烦,所以,对于tag,功能已实现,但是还没有使用,再想想^_^

对于description,之前犯了一大大忌,就是所有页面的description都是一样的,都说description权重很低了,但是经过实验之后,感觉description在搜索结果的显示上来说,权重还是很高的,为什么?因为我发现只要声明description了,搜索引擎往往只显示description中的内容,所以本次是在一些列表页,去掉description,让search engine自己去抓内容, 而文章单页这种,就当然显示文章的内容了,当然最好这个内容可以人工控制,这样有利于哪些wei原创,但是hi-ruby又懒得去弄这些,能写就写,不能写也会注明是转载的,所以description是将文章内容处理之后得到的纯文本的前255字符

小结

其实还有一些小优化,只不过在做网站时,情不自禁的顺手做了,都是很简单的一些东西,比如长尾关键字这类的,但是网站刚稳定,都属于尝试阶段,而且内容较之前也很少,记得有句话不是“内容为王”吗?虽然新兴网络更注重功能性和社交性,但是我还是认为这一切都是内容,就像Rest协议一样,一切皆资源,所以SEO优化是建立内容的基础之上的