A-A+

什么是网站日志

2015年04月01日 SEO优化 暂无评论 阅读 935 次

网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件,确切的讲,应该是服务器日志。网站日志最大的意义是记录网站运营中比如空间的运营情况,被访问请求的记录。通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器、什么分辨率显示器的情况下访问了你网站的哪个页面,是否访问成功。

作用

通过网站日志可以清楚的得知访客和服务端等应用是否正常运行,或者存在哪些缺陷,失效组件等信息。

对于专业从事搜索引擎优化工作者而言,网站日志可以记录各搜索引擎蜘蛛机器人爬行网站的详细情况,例如:哪个IP的百度蜘蛛机器人在哪天访问了网站多少次,访问了哪些页面,以及访问页面时返回的HTTP状态码。

查看方法

网站日志一般存放在虚拟主机的logfiles文件夹下,可以通过FTP工具将网站日志下载下来,下载下来的为log格式的文档,可通过txt文档方式查看。

如何查看自己的服务器的日记? (以Windows 2003系统为例)

1、开始--管理工具--事件查看器--系统 或者 控制面板--管理工具--事件查看器--系统。

2、在远程客户端,运行IE浏览器,在地址栏中输入“https://Win2003服务器IP地址:8098”,如“https://192.168.1.1:8098”。在弹出的登录对话框中输入管理员的用户名和密码,点击“确定”按钮即可登录Web访问接口管理界面。接着在“欢迎使用”界面中点击“维护”链接,切换到“维护”管理页面,然后点击“日志”链接,进入到日志管理页面。在日志管理页面中,管理员可以查看、下载或清除Windows 2003服务器日志。选择系统日志可进行查看。并且在日志管理页面中可列出Windows 2003服务器。

网站日志如何分析?

网站日志数据分析解读:

1、访问次数、停留时间、抓取量

从这三项数据中我们可以得知:平均每次抓取页面数、单页抓取停留时间和平均每次停留时间。

平均每次抓取页面数=总抓取量/访问次数

单页抓取停留=每次停留/每次抓取

平均每次停留时间=总停留时间/访问次数

从这些数据我们可以看出蜘蛛的活跃程度、亲和程度、抓取深度等,总访问次数、停留时间、抓取量越高、平均抓取页面、平均停留时间,表明网站越受搜索引擎喜欢。而单页抓取停留时间表明网站页面访问速度,时间越长,表明网站访问速度越慢,对搜索引擎抓取收录较不利,我们应尽量提高网页加载速度,减少单而立停留时间,让爬虫资源更多的去抓取收录。

另外,根据这些数据我们还可以统计出一段时间内,网站的整体趋势表现,如:蜘蛛访问次数趋势、停留时间趋势、抓取趋势。

2、目录抓取统计

通过日志分析我们可以看到网站哪些目录受蜘蛛喜欢、抓取目录深度、重要页面目录抓取状况、无效页面目录抓取状况等。通过对比目录下页面抓取及收录情况,我们可以发现更多问题。对于重要目录,我们需要通过内外调整增加权重及爬取;对于无效页面,在robots.txt中进行屏蔽。

另外,通过多日日志统计,我们可以看到站内外行为给目录带来的效果,优化是否合理,是否达到了预期效果。对于同一目录,以长期时间段来看,我们可以看到该目录下页面表现,根据行为推测表现的原因等。

3、页面抓取

在网站日志分析中,我们可以看到具体被蜘蛛爬取的页面。在这些页面中,我们可以分析出蜘蛛爬取了哪些需要被禁止爬取的页面、爬取了哪些无收录价值页面、爬取了哪些重复页面url等,为充分利用蜘蛛资源我们需要将这些地址在robots.txt中禁止爬取。

另外,我们还可以分析未收录页面原因,对于新文章,是因为没有被爬取到而未收录抑或爬取了但未放出。对于某些阅读意义不大的页面,可能我们需要它作为爬取通道,对于这些页面,我们是否应该做Noindex标签等。但从另一方面讲,蜘蛛会弱智到靠这些无意义的通道页爬取页面吗,蜘蛛不懂sitemap?

4、蜘蛛访问IP

曾经有人提出过通过蜘蛛的ip段来判断网站的降权情况,笨鸟感觉这个意义不大,因为这个后知性太强了。而且降权更多应该从前三项数据来判断,用单单一个ip段来判断意义不大。IP分析的更多用途应该是判断是否存在采集蜘蛛、假蜘蛛、恶意点击蜘蛛等。

5、访问状态码

蜘蛛经常出现的状态码如301、404等,出现这些状态码要及时处理,以避免对网站造成坏的影响。

6、抓取时间段

通过分析对比多个单日蜘蛛小时爬取量,我们可以了解到特定蜘蛛对于本网站在特定时间的活跃时段。通过对比周数据,我们可以看到特定蜘蛛在一周中的活跃周期。了解这个,对于网站内容更新时间有一定指导意义,而之前所谓小三大四等均为不科学说法。

7、蜘蛛爬取路径

在网站日志中我们可以跟踪到特定IP的访问路径,如果我们跟踪特定蜘蛛的访问路径则能发现对于本网站结构下蜘蛛的爬取路径偏好。由此,我们可以适当的引导蜘蛛的爬取路径,让蜘蛛更多的爬取重要、有价值、新更新页面。其中爬取路径中我们双可以分析页面物理结构路径偏好以及url逻辑结构爬取偏好。通过这些,可以让我们从搜索引擎的视角去审视自己的网站。

如何做好网站日志分析?

1、在Windows下的用户要使用shell命令符的话请先安装cygwin,安装方法:Cygwin安装详解,快速安装所有插件,无需联网,链接见下面的原文链接。

这里粗略介绍下SEO日志分析常用的命令符用法,需要详细了解每个命令符请使用Google/baidu查询

less *.log 查看文件内容,按“q” 退出

 

cat log.log 打开文件,可以多次打开几个文件,举例:

  • cat 1.log 2.log
  • cat *.cat

 

grep -参数 文件名

-i 不区分大小写

  • -v 显示不符合条件的所有行
  • -c 显示符合条件的所有行数(符合条件的数量)
  • egrep 属于grep的升级版,在正则这一块的支持更完善,使用正则的时候建议使用egrep

 

head -* 显示*行,*为数字

 

head -100 log.log | tail -10 >>a.log 提取文件第91-100行数据

  • wc -参数 文件名 统计文本大小,字符多少,行数
  • -c 统计文本字节数
  • -m 统计文本字符数
  • -l 统计文本有多少行

 

sort –参数 文件名 对文件进行排序

  • -n 对文件按照数字排序
  • -r 反向排序

 

uniq -参数 对文件去重,去重前需要使用排序sort

  • -c 显示数据重复的次数

 

split -参数 文件名 对文件进行切割

  • -100 (每100行切割成一个文件)
  • -C 25m/b/k (每25兆/字节/K 分割成一个文件)

 

"|" 管道,把上一条命令的结果传输给下一条命令

 

“>” 和“>> ” 重定向写入文件中

  • “>”相当于Python里面的“w”清空并写入
  • “>>”相当于Python里面的“a” 追加进文件

 

awk -F Pattern {action} 文件名 使用指定的字符对每一行数据进行分段,默认是空格(网站日志就是空格分开)

  • -F后面跟的是分隔符
  • pattern 就是action执行的条件,这里可以使用正则表达式
  • $n 即时第几段数据 $0表示整行数据
  • NF表示当前记录的字段数
  • $NF 表示最后一个字段
  • BEGIN和END,这两者都可用于pattern中,提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作

 

案例:计算baiduspider下载文件总大小

$ awk ‘{print $10}’ baidu.log |awk ‘BEGIN{total=0}{total+=$1}END{print total}’

bash shell.sh 运行shell.sh脚本

nslookup ip 查询地址是否是百度蜘蛛

dos2unix *.sh 将“rn”转换成“n”Windows——>linux (由于Windows和Linux下的换行符不同,所以我们在Windows下面下的代码需要使用dos2unix 转换成Linux下的换行符,否则运行shell脚本会报错)

unix2dos xxoo.sh 将“n”转换成“rn” linux——>Windows

rm xx.txt 删除xx.txt文件

 

2、一些简单的命令符介绍到这里,需要了解shell,建议大家查看相关的书籍,下面我们开始使用shell分析日志。

1、切割百度的抓取数据(将文件切割出来对专门的蜘蛛进行处理能提高效率)

cat log.log |grep -i ‘baiduspider’ >baidu.log

2、网站状态码个数查询(隐藏的是状态码个数)

awk ‘{print $9}’ baidu.log|sort|uniq -c|sort -nr

3、百度总抓取量

wc -l baidu.log

4、百度不重复抓取量

awk ‘{print $7}’ baidu.log|sort|uniq|wc -l

5、百度平均每次抓取的数据大小(结果是KB)

awk ‘{print $10}’ baidu.log|awk ‘BEGIN{a=0}{a+=$1}END{ print a/NR/1024}’

6、首页抓取量

awk ‘$7~/.com/$/’ baidu.log|wc -l

7、某目录抓取量

grep ‘/news/’ baidu.log|wc -l

8、抓取最多的10个页面

awk ‘{print $7}’ baidu.log|sort|uniq -c|sort -nr|head -10

9、找出抓取的404页面

awk ‘$9~ /^404$/ {print $7}’ baidu.log|sort|uniq|sort -nr

10、找出抓取了多少js文件和文件抓取的次数(可以看出百度基本不抓JS)

awk ‘$7~ /.js$/ {print $7}’ baidu.log|sort|uniq -c |sort -nr

相信看到这里大家已经有了想试一把手的冲动了,只要你搞懂了上述的内容,上面的操作都可以轻而易举的完成,没有任何困难,还可以有更多的维度进行分析,不仅仅是SEO领域。只要你敢想,就能挖掘更多的数据出来(当然更复杂的维度可能需要学习shell更多的内容,当然,以我的努力程度之低都能做到的事情,大家应该都不是问题)。

标签:
Copyright © 互联网世界 保留所有权利.   Powered by www.zhangjinpeng.com.cn 网站地图   粤ICP备13066957号-2  
内容说明:本站内容及数据部分来自互联网及公开渠道,如有侵权请及时联系我们,本站将在第一时间删除相关资源。

用户登录

分享到: