|
不是谈什么大题目,只想说下这两天的经验和教训。 前几天网站IP数达到12000以上,网站使用.NET制作,每页都是动态的,结果导致服务器反应迟钝,CPU占用100%,SQLSERVER内存占用2G左右,根本无法运作。
为了提高网站的负载能力,特地进行了一点小小的改动,因为使用了URLRewrite,所以只要改动一点点就行了。
原来的地址表现形式为: http://www.xxx.net/News/SoftwareNews/081456,Windows_XPMengNianZhengShiTuiXiu.aspx 也就是 http://www.xxx.net/分类/ID,标题.aspx 这样的形式,当初之所以使用这样的形式也是为了SEO,后来发现不是特别有效果,而且导致此类连接在很多论坛不会被自动分析为超级连接,得不偿失,所以顺便在这次改动里也改变一下。
新的地址表现形式为: http://www.xxx.net/HomePage/HTML/020947.html 也就是 http://www.xxx.net/分类/ID.html,这样子就看起来清爽了很多,而且使用了静态+伪静态技术,大大降低了读取数据库的次数,而且为了防止流量丢失,我把原来的URL全部做了301重定向到HTML。因此服务器的各项指标直线上升,令人很有成就感。
正在得意的时候,一件非常不妙的事情发生了,平时展示量在3W以上的GGAD突然之间变得只有几千了。因为有过新网DNS损坏的原因,所以也就没有放在心上,以为是部分地区的DNS还没有恢复的原因。但是直到昨天我才发现不对劲,在51.la里的访问统计显示来自百度的访问量从4-5K直线下降为200左右。这下才意识到问题的严重性。
于是我开始了问题的寻找,首先看百度的收录数量: http://indexed.tools.zzbeta.com/,从这里你可以看到收录简直是好得不能再好了,非常非常的正常,不是这个原因。再看网站的程序,是不是程序出错了呢?好像也没有。于是宣告失败,去**和广告发布者发表一个怨天尤人的帖子,以为被百度降权了,就想接受这个无可奈何的事实,将自己从未碰到过的被搜索引擎K的事实放在自己心里了。
可是今天我怎么也感觉很不爽,我没有做过度的搜索引擎优化,为什么会这样?会不会有其它的原因呢?于是我静下心来,作第二次努力。
再分析一下网站的日志,发现一天还是有从百度过来的流量,只不过流量非常的少,而且...等等!百度过来的流量都是访问http://www.xxx.net/search.aspx这个页面的! 那为什么其它的页面没有得到访问呢?再仔细看,发现有BaiduSpider也有过拜访原来旧的aspx页面,不过使用的是Head方法,按道理我的301重定向会把蜘蛛重定向到.HTML页面才对呀,可是为什么没有呢?反省这两天的改动,一定是这两天的改动所引起的问题。于是打开vs2005,仔细检查代码,一切似乎正常。打开FF,从百度里搜索:site:xxx.net,显示找到15万纪录,找到其中的一个内容页,打开,页面路转到了.html,一切也非常正常。IE呢?HMMM...自从我用了FF之后就把IE扔了,但是别人还是用IE的多吧。于是从角落里找出IE来,重复上述动作,并且打开了IEHTTPHeader来观察HTTP头是否正常。嗯,301 Move [size=-1]Permanently, Location: http:///www.xxx.net/HTML/css/04152.html,然后找不到服务器?喂,等等!HTTP:///? 三个斜杠? OH, FUCK!
只能怪自己太粗心啊!打开VS将重定向里多出的一个斜杠干掉,上传文件以服务器。刷新。在IE里工作正常了。再打开51.la查看,呵呵,在线人数 180,Welcome back again! ppl.
综合起来,有几点想法: 百度的Spider会先使用HEAD方法来检测你的网页,再根据传回来的Header采取下一步行动。如果像我一样跳转到一个未可知的错误地方的时候,估计Spider会通知baidu将此结果的权重降低,导致出现网站所有关键字在百度的搜索结果中都不会出现。当网页恢复的时候,搜索关键字的排名也很迅速的恢复了。结论是:网页地址改动有风险,改版请谨慎。^_^
PS:在FF里居然能够解析 HTTP:/// ,在IE里却不行。这也是使我花费了这么长时间才找到问题的一个原因,不知道FF是该骂还是该赞。
原文出处:zzbeta的百度空间 http://hi.baidu.com/zzbeta 转载请注明出处。 |
|