node.js 解析xml文件 - 为站点添加sitemap
针对前后几次blog不稳定
(1)版本问题:从开始asp.net+access 到 php+mysql 到 node+mongoDB 到现在的 node+levelDB ,改版对于搜索引擎是很不友好的,直接导致搜索量下降,甚至被拉黑.
(2)服务器问题,偶尔的不稳定或者相应超时,早先淘宝购买的非常便宜的小空间经常出现down机的情况,后来的openshift 被墙后,访问超时,转而投靠到bae下,没想到........目前阿里云服务器下,速度快,服务好,花点银子也比较省心.
就是上面的种种原因吧,搜索引擎对本站收录一直不太理想,百度的索引量一直在升,但是搜索结果页明显是之前一版的快照,为啥子不更新呢??
搜狗和搜搜这一家子干脆就不收录了,估计是拉黑了,提交了几次站点仍不见蜘蛛过来.
所以在清明节这几天重点做了些seo优化.
每页title尽量各不相同,洁明扼要的 description 及 重点突出的 keyworld
使用百度站长工具及百度搜索,甚至去百度自家的空间,知道,贴吧 贴上自己的站点域名
使用百度站长空间的手动抓取功能(默认200次)
img 标签补全 alt 信息,博文尽量图文搭配
留言功能化繁为简,争取人更多的人浏览到博文后能留下个脚印
制作站点地图 sitemap.xml 终于说到了和本文有关的话题上!
在线生成网站比较多,非常方便,网上一搜一大把,我使用了这个 http://www.sitemapspal.com/ 注意,里面如果有汉字的话会出现乱码,需要手动修改一下,将 sitemap.xml 保存到你的站点根目录下.
node.js 是自身用代码实现的服务器,所以我们也不用天真的以为"默认应该能解析xml文件" ,不行,绝对不行.该如何做.
设置一个访问此路径的路由,比如一介布衣的站点地图地址如下 http://www.yijiebuyi.com/sitemap.xml
路由代码一并贴上
app.get('/sitemap.xml',pageBlog.siteMap);
pageBlog 这个文件里面是如何实现 siteMap 方法呢?
function siteMap(req, res, next) { var stream=fs.createReadStream('./sitemap.xml',{flags:'r'}); stream.pipe(res); }
非常非常简单,就是2行代码,将一个读取流pipe到输出流,为什么要这样,请阅读我的另一篇博文 伟大的传送门
最后访问我的站点地图的效果如下: