ITSEO已获得首发catwell文章的授权,发布其文章于ITSEO,如您要转载请上catwell.net与其取得联系!

对于转载不注明出处者,我们将投诉,并且在itseo中公布其不道德行为!

 

      做SEO会经常查看网站的log日志,通过log日志来进行一些分析和判断,但是如果你控制了上百或上千的站群时,你还会一个一个的看log么?

在处理大规模站群的时候,我们一般就是根据网站的重要程度,进行分级别监控,比如重要的资源站,我们可能当成主站一样的分析维护,而对于有些站可能只是出问题时进行分析,维护,而还有些站可能就让它自生自灭了,这个根据作站群时的策略来定义,并没有通用的说法。

 

那一般我都会对站群进行的是异常监控,即发现异常时人工分析处理,平时基本不看。

所以我们要定义出哪些是属于异常情况,一般我自己定义的异常情况主要是以下5种:

1.蜘蛛到访次数异常

比如降权了,蜘蛛不来了,或者传说中的降权蜘蛛来了?

 

2.网站流量异常

一般站群的流量不会有很大的波动,如果产生波动,可能是有人来采集你了?或来攻击你了?

 

3.404异常

这个很好理解,很重要。

 

4.一些特殊页面的流量异常

一些我们想要用户访问的页面流量,比如最常见的淘客的跳转页面,我们可以知道到底有多少人进行了跳转,而和淘客的成交率进行比较,可以推算出是否流量来源和 成交率是否存在关联。

 

5.一些特殊词的流量异常

假设市场搜索量不变,描述引起的点击率不变,那么这个特殊词的流量也就基本反应了词本身的排名,如果你问,如果市场搜索量变了呢?那就不是seo技术的问题了,那是seo策略的问题了。

好了,如果我要监控这5个指标,那么我要给每个指标建立一个数据表,我们用ABCDE来代替,然后我们就要建立一个自动执行的任务,将每个网站每天的这个数据都保存到数据库里。

这个在IIS下,我推荐使用微软提供的Logparser工具,可以使用sql语句对日志进行处理。

 

具体logparser的参数意义,大家可以自己百度。我说下上面5项的具体使用方法:

比如第一个

Logparser -i:iisw3c “Select  count(0) as hits Into A  from xxx.log where  cs(User-Agent) like ‘%spider%’” -o:SQL -server: 服务器IP -driver:”SQL Server” -database:数据库名 -username:sa -password:***

-i 表示输入的日志类型

-o表示输入的类型,你可以写-o:csv 那么就输出为csv.

A: Select  count(0) as hits Into A  from xxx.log where  cs(User-Agent) like ‘%spider%’

B: Select  count(0) as hits  Into B  from xxx.log where TO_LOWERCASE (EXTRACT_EXTENSION(cs-uri-stem)) NOT IN (‘gif’;'jpg’;'png’;'css’;'js’)

C: Select  count(0) as hits  Into C from xxx.log where  sc-status=’404’

D: Select  count(0) as hits Into D  from xxx.log where  cs-uri-stem=‘特殊页面’

E :  Select  count(0) as hits Into E  from xxx.log where  cs(Referer) like ‘%xxx%’

 

通过上面的操作,我们把每天的数据保存在了数据库里,接下来我们要进行预报处理。

 

其实预报处理是挺简单的,原理就是由于每天我们的数据都存放在表里,那么我们只要对当天的数据和昨天的数据进行对比就可以获取出差值。

 

这里是有个阈值的,就是差值多少才算,这个你可以根据实际的经验来处理,对于流量,一般建议是用除法来做,也就是百分比来看,在超出30%以上,我们都认为是异常。对于404,则可以直接用减法,因为404是不正常的,一般一旦出现多出的404,肯定是什么地方出问题了,要么有错误连接,要么有错误外链,这个根据实际情况来设定。

 

这个工作我是使用了一个c#程序来处理的,以404为例,先用 select top 2 * from 404table order by id desc 获取最新的2条数据,然后进行对比就可以了。

 

当发现异常时,通过程序对你的QQ邮箱发送一封email,利用QQ邮箱的自动提示功能还是很方便的,这样大量的站群,你可以不用每天去看,只要设定好阈值,就可以只看需要看的站了。

 

上面只是提供一个思路,其实你可以变通一下,比如利用logparser把日志进行拆分,然后利用ftp命令,将日志发送到你指定的ftp里,这样就可以直接利用数据了,而不用每次拿到日志再拆分。你可以-o:csv 导出为csv格式,就可以在excel里进行处理。

 

总结一下,处理多网站,就要合理利用工具,对信息进行筛选,挑出重要的信息进行提示,然后再人工处理,减少人工的大规模手动重复劳动,这个不仅仅包括操作软件,也包括看大量的无用数据。