UNIX 技巧: 借助 UNIX 成为更优秀的博客( 二 )


要特别注意 Search Word Report(其中显示了最流行的查询关键词和它们被查询的次数)和 Directory Report(其中显示您站点上最受欢迎的目录) 。(查看读者当前对哪些存档的博客条目感兴趣始终是个好主意 。)最后,Request Report 显示了站点上被请求次数最多的文件 。您的博客徽标和任何经常在整个站点中出现的图形固定在顶部附近,但是通过查看实际内容文件(如 .HTML 文件),您可以清楚了解哪些页面或存档的博客条目最受读者的欢迎 。
可能会出现每天或周期性的高峰,您应该对此作出反应 。然而,长远考虑长期趋势始终是明智的 。如果要在存档目录中保留每天的日志,这是很容易做到的 。只需拼接它们,然后将它们全都发送到 analog 以进行一次性处理 。这可以每周、每月甚至每年进行一次以跟踪趋势 。使用 zcat(在有些系统上名为 gzcat)来同时解压缩和拼接任何压缩的日志 。例如,为了获得有关 2006 年 9 月的所有日志的完整报告,可以使用以下命令:
$ zcat www.200609* | analog - | lynx -stdin
知道您的读者是谁
知道您的读者来自何处可能很有帮助——所在的域、IP 地址和国家 。若要查找网络博客中的所有主机,您可以使用几个命令行工具来获得有关每个主机名称的简要报告 。如果使用 Apache 风格的日志记录,则请求 IP 地址是每行的第一个字段:
$ for i in `cut -d " " -f1 www.200609* | sort -u`; { host $i; }
如果您的日志是压缩的,则首先使用 zcat 来通过管道输出解压缩的文本 。或者,如果每天的日志在一个 access.log 文件中可用,您可以使用同样的原理来查看 badblog.example.com 中的同事是否已访问过您的站点:
$ for i in `cut -d " " -f1 access.log | sort -u | head`;
> { host $i; } | fgrep badblog.example.com
您可以基于 web/logs/ 目录中所具有的压缩日志来输出访问过您的 /blog 目录的唯一域总数:
$ zcat web/logs/* | fgrep "/blog" | cut -d " " -f1 | sort -u | wc -l
知道他们来自何处
如果某个站点在向您的博客发送大量读者,您需要对其进行确认 。这意味着您应该密切注意 referrer——包含指向您的页面链接并出现在标头中的 URL 。该数据保存在您的日志中,您可以使用 analog 来提取它 。analog 工具列出 Referrer Report 中的所有 referrer,如清单 2 所示 。可以使用f 标志来启用该报告 。
清单 2. 来自 Referrer Report 页面的示例
Web Server Statistics for BigBlog
Referrer Report
(Go To: Top: General Summary: Monthly Report: Daily Summary: Hourly Summary: Domain
Report: Organization Report: Referrer Report: Search Word Report: Operating System
Report: Status Code Report: File Size Report: File Type Report: Directory Report:
Request Report)
 
This report lists the referrers (where people followed links from, or pages which
included this site's images).
 
Listing referring URLs with at least 20 requests, sorted by the number of requests.
reqs: URL
----: ---
814: http://www.ibm.com/developerworks/
359: http://www.google.com/search
114: http://badblog.example.com/
102: http://badblog.example.com/2006/09/01/
 81: http://www.google.co.uk/search
530: [not listed: 485 URLs]
________________________________________________________________________________
还可以跳过对报告软件的使用而直接从命令行获得 referrer 。在 Apache 风格的日志中,referrer 包含在双引号中,并跟在 IP 地址、日期和时间以及实际请求(也包含在引号中)后面 。可以使用 awk 来提取 referrer;在使用一个双引号字符作为字段分隔符的情况下,它们是每行的第四个字段 。由于在请求没有引用 URL 时,Apache 将写入一个连字符,因此可以结合使用 grep 命令和 -v 选项来忽略那些行 。作为最后一个技巧,可以按唯一 referrer 的受欢迎程度来排序:

推荐阅读