SEO策略

关键词覆盖、索引量、排名、点击率、转化率

谈SEO的原始数据分析

indiepop2017-06-14 12:32:480℃

   之前有几篇文章,提到了尤对于SEO的数据分析思路,主要是这篇:http://www.SEOqianxian.com/36.seo

  但实际情况中,虽然没人乐意,但技术上如何去实现分析却仍往往是最耗时的。

  越深入数据分析,越容易发现现有的工具无法满足需求。哪怕Google Analytics等专业工具,在经过针对性的配置后,也只能在其界面上完成日常性的分析需求。更不论各公司内部自己开发的报表系统,绝大多数情况下比GA等差距很远,数据的可靠性尚待验证,想在报表上面进行细致的分析更无法苛求。

  报表系统,需要事先定义其可能需要的功能,总是不可能满足临时的奇怪的需求。所以需要一直备着原始数据,在有特殊需求时就要靠它。(一般来说SEO做得越深入,特殊分析需求就越多)

  以下是我对于SEO流量的原始数据,使用的技术解决方案概述:

  1. 原始数据

  1.1. 从Hadoop或服务器日志等原始数据源,仅抽取出核心维度与指标。(主要维度如着陆页URL、来源关键词,主要指标如访问深度)

  1.2. 将维度与指标以制表符分隔,每行一条访问记录,将每日数据存到单独文件中。文件名需要包含日期信息。

  数据如:域名 URL 关键词 访问深度

  www /shouji/ 二手手机 5

  1.3. 如果有需要的话,将文件以ftp等方式传到其它服务器上面去。

  2. 数据计算(python实现)

  2.1. 通过命令行参数等方式来确定各维度的筛选规则,然后将各维度合并成一整个正则,编译正则后过用它筛选数据。

  '''计算满足筛选条件的总访问次数'''

  filters = {

  'host': '^www$',

  'url': '^/shouji/$',

  }

  filter = merge_filter(filters)

  # filter = '^www\t/shouji/\t.*?\t.*?$'

  filter = re.compile(filter)

  count = 0

  for line in open(log_file):

  if not filter.search(line):

  continue

  count += 1

  print count

  2.2. 如果有额外的指标,将它/它们提取出来并累加。

  2.3. 给定起始日期、截止日期,应能输出期间所有日期的流量。

  def date_range(start, end, input_format='%y%m%d', output_format='%y%m%d'):

  '''如print date_range(140130, 140202)

  输出['140130', '140131', '140201', '140202']

  '''

  start = str(start)

  end = str(end)

  start = datetime.datetime.strptime(start, input_format)

  end = datetime.datetime.strptime(end, input_format)

  one_day = datetime.timedelta(days=1)

  range_ = []

  d = start - one_day

  while 1:

  d = d + one_day

  if d > end:

  break

  range_.append(datetime.datetime.strftime(d, output_format))

  return range_

  3. 分析系统

  web界面的分析系统虽然我也是做过,无奈前端技术糟糕,实现的比较凑合,此处便不展开提了。只要前面一步完成,那么把输出的数值放到Excel里面画图表也是种解决方案。

上一篇:点击影响的量化 & 分清SEO的不可抗力

上一篇:SEO用途的PYTHON模块介绍与下载

文章下方广告位

网友评论