推荐书籍《SEO深度解析》

Standard

推荐《SEO深度解析》,痞子瑞著。

前几天收到书,用了几个小时粗翻了一遍,很是不错,有大量一线从事SEO的经验。以我个人之所见,虽然有些地方尚能挑剔,却不失可以认为它是世上头一本SEO书。

作者原先在黄页88负责SEO,和许多百度人员很熟,各类人脉也较广。略懂些技术,SEO接触面广且研究较深。

整本书给我的感觉偏啰嗦,书中内容不系统是最大的问题,不适合作为入门书籍(入门书籍还是强力推荐《走进搜索引擎》)。

但由于书中有大量一线SEO经验,尤适合于理论知识已略有一些但实际经验还很欠缺的SEO,书中内容可以弥补估计需几百上千小时的一些经验积累。而对于长期的一线SEO从业者,应该也能从这本书里找到一些有意思的东西。

当然,谁都不会在书中大幅写真正提升流量的核心方法,将知识融会贯通后,再多想多实践才能达到最终期望的目标。

p.s. 书中附录A有推荐此博客

SEO用途的Python模块介绍与下载

Standard

我差不多用了一年的时间,陆陆续续将一些SEO最常见的技术需求片段,写入了一个模块之中。目前为止,这个模块的完善程度,已经做到可以节省我日常的大部分代码量。

比如最典型的例子,查排名。用Python最基础的实现,也要加载urllib模块先将关键词编码,再urllib2模块下载网页,re模块提取搜索结果,再遍历匹配想要的结果,最少也要十来行代码。

进一步的,如果想要做到可以稳定查询、定制更多的功能,代码量就更多了。在我的模块中,达到了近百行的代码。一般情况下,没人可以接受查个关键词排名要写如此多的代码。

但借助该模块,一切变得非常简单,加载模块后只需一行代码即可输出排名:
# coding:utf-8
from seoqx import *
baidu_rank(‘招聘’, host=’.ganji.com’)

模块的下载地址为:http://42.121.29.149/seoqx.pyc

注意事项:需要先安装pycurl模块,该模块才能运作。此外适用的Python版本为2.7.3,对于其它版本可能会存在bug。

以下为其具体介绍:

# coding:utf-8
from seoqx import *

'''
baidu_rank(kw, host=None, lp=None, rn=100, pn=0)
查询百度关键词排名
指定某个域名,或是精确到某个着陆页
默认查询前100名,也可以通过设置rn, pn参数来遍历760个结果,或只查前10名
若查询过程中出现验证码,会自动间隔10分钟再次尝试查询
'''
print baidu_rank('招聘', host='.ganji.com')
# 输出: (8, 'http://bj.ganji.com/zhaopin/')

print baidu_rank('招聘', lp='http://www.ganji.com/zhaopin/')
# 输出: 47

'''
baidu_index(url)
查询网页是否被百度收录
输出1为被收录,0为没有收录
若查询过程中出现验证码,会自动间隔10分钟再次尝试查询
'''
print baidu_index('http://bj.ganji.com/zhaopin/')
# 输出: 1

print baidu_index('http://bjbj.ganji.com/zhaopin/')
# 输出: 0

'''
root_domain(url)
通过URL获取根域名
'''
print root_domain('http://www.xxx.com.cn/')
# 输出: xxx.com.cn

'''
date_range(start, end, only_monday=False, input_format='%y%m%d', output_format='%y%m%d')
输出两个时间点之间的各个时间点,主要用于流量趋势分析等场景
如果指定only_monday为True,仅输出为周一的时间点
start, end可以接受字符串,也可以是数字
'''
print date_range(140227, 140305)
# 输出: ['140227', '140228', '140301', '140302', '140303', '140304', '140305']

print date_range('140227', '140305', only_monday=True, output_format='%Y-%m-%d')
# 输出: ['2014-03-03']

'''
curl(url, **kwargs)
下载网页,在保证多数功能可用的情况下,大幅简化了pycurl的使用
默认情况下已做了一部分基础的防采集措施,如设置UserAgent
**kwargs可接受setopt设置的参数
'''

print curl('http://www.baidu.com/')
# 输出: 该网页的源代码

print curl('http://www.baidu.com/', FOLLOWLOCATION=False)


'''
辅助用途的类,主要用于top-n的计算与排序
class dict_plus(dict):
        def sort(self, reverse=True):
                return sorted(self.iteritems(), key=lambda d:d[1], reverse=reverse)
        def add(self, key, value=1):
                self[key] = self.get(key, 0) + value
'''
visits_log = '''www	/1.htm	租房
www	/2.htm	招聘
www	/1.htm	租房'''

kws = dict_plus()
for line in visits_log.splitlines():
	host, url, kw = line.rstrip().split('\t', 2)
	kws.add(kw)

for kw, v in kws.sort()[:2]:
	print kw, v
'''
输出:
租房 2
招聘 1
'''

浅谈SEO的原始数据分析

Standard

之前有几篇文章,提到了尤对于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的不可抗力

Standard

之前的文章,提到了加#搜索的用途之一是可以量化用户点击对排名的影响:http://www.seoqianxian.com/73.seo

这篇文章基于上篇的理论知识,说个实际应用。

1. 取一定量的行业通用词,此处称为A类词(此处用的是“城市+招聘”,如“北京招聘”、“上海招聘”等几百个词)

2. 一一查它们的排名,将排名在前的根域名提取出来

3. 按照各排名位置的大致点击率,将排名位置换算成分值,如第一名5分、第二名3分……累加到各个根域名上

4. 计算出各网站于这些词的排名情况后,以排名分值倒序排列

5. 以加#的行业通用词(如“#北京招聘”),此处称为B类词,重复1-4步

6. 置入Excel表格,将各个网站的A类词排名分值,除以B类词排名分值,即可得到各网站受点击影响的程度(数值越高,点击对排名的提升作用越大)

下图为我计算的一个表格:

QQ20140201-1

(第5列用到了Excel的vlookup函数)

图中可见,对于城市+招聘的词,加#搜索时(或说实际排名),赶集略好于58同城。而加上点击影响之后,赶集的排名远差于58同城。

这就是SEO无奈的典型不可抗力之一——用户喜欢竞争对手的网站而更多的点击,就算自己排名SEO做到好于竞争对手,最终结果却还是会很糟糕。

这种时候怎么办?答案很简单,战略上直接放弃这类页面,把精力放到SEO角度能提升流量的页面上面去。(当然发现此类页面可改进的细节,还是可以去做,但肯定只是插空做做)

抓容易抓的,放弃做起来麻烦的,说起来是个很简单的道理。但我很奇怪的是见到许多人都想不明白这点,有的说热门词的排名必须先重视,有的说只要是流量不做就是失职——哪怕损失大量的效果,就为了去保证形式化的东西。

又有个趣谈是,明明赶集在招聘领域的品牌效益强于58同城,为什么赶集在招聘类词的SEO点击情况还远差于58?。原因非常简单,赶集在招聘类的词投放了大量的百度竞价,还是样式突出的闪投(百度商业产品之一)。想到赶集找工作的人大多点击竞价结果,点击自然搜索结果的自然就少了,排名自然就差了。

百度是个很坑爹的东西,竞价与自然搜索的体系完全分开。竞价结果分流点击,必导致自然搜索中同一页面的点击大幅下降。也就是说竞价必负面影响自然排名,只是程度大小的问题。(对于流量而言,竞价对SEO流量更大的影响在于直接分流,此处不展开了)

清晰认识到SEO的不可抗力,尽量避免把精力放到无法确定效果的事情上面,这是保证SEO效果的最主要原则。

查询词、检索词与加#搜索

Standard

(转载并修改自之前自己的博客)

我之所以最推荐《走进搜索引擎》这本做为入门书籍,因为它轻实践重总结。尽管因此这本书在搜索引擎圈子似乎评价不高(行业内自然重实践),但对于没必要了解搜索引擎具体实现规则、只需了解其思路的SEO却有更大帮助。

而其中,我最喜欢的一个总结,为“查询词”与“检索词”的定义。大致是这么说的:

比如用户到百度搜索“SEO博客”,此处“SEO博客”被称为查询词;

另外搜索引擎实际匹配结果时,会把查询词先经过分词等一系列处理。之后实际到索引库里面去调用结果的词,叫做“检索词”。具体到上例,包含“SEO”与“博客”两个检索词。

和很多人提到过这个概念,但其中绝大多数都不理解为什么要把概念复杂化。

“用户搜关键词(查询词),搜索引擎拿着关键词(检索词),到它自己的服务器里面找出和这个关键词(索引词)匹配的网页”,只用个“关键词”多简单!

SEO往往就是被想得太过于简单了,所以一些管用的方法技巧几乎不被人得知。


我找出过许多SERP分析技巧,全都从未被人提起过,其中觉得最精妙的技巧,就和这个概念密切相关:

首先,需要先了解两个非常重要的排名因素,点击率、区域性排名。这两者本身限于篇幅暂不解释。

点击率:比如说有个页面是北京租房,它在“北京租房”这个词的点击率很高,于是这个词的排名上升,这是合理的。但是,它“北京租房”的点击率不应该影响到其在“租房”或“北京”这两个词的排名。因此,点击率这个排名因素是只作用于“查询词”级别的。

区域性排名:“租房”这个词因为有地域性需求,比如用户在北京搜索时,百度会把“北京租房”排名靠前的,排到“租房”的前面去。但是不应该把那个页面,排到“上海租房”这个包含“租房”的查询词中。因此,区域性排名同样只对“查询词”生效。

既然知道了至少这两个排名因素是只作用于“查询词”的,很自然就会想着,是否有方法能把这些查询词排名因素去掉,只看检索词的排名情况(某种程度上可以称为“实际排名”)呢?

(答案之前先回顾下。至今为止这个猜想的提出,完全基于检索词、查询词及两个排名因素的推论。因此最关键的是,要对搜索引擎及SEO两块的基础理论有正确、全面的了解)

而去掉查询词的排名因素的方法,其中一个很简单,在搜索关键词时加个#搜索就行了(或者其它任意百度通常情况下忽视的字符,#只是我个人习惯)。比如词是“租房”,改为搜索“#租房”。

因为“#”多数情况下不被百度作为检索词处理(除非仅搜索“#”、或搜索“C#”此类特殊词),加了之后,实际并没有对检索词做出任何改变,请求索引库时,还是只有“租房”一个词。但是因为搜的词样子已经被改变了,查询词就不同了。

查询词改变、检索词不变,这就达到了分析所需的条件。


这个方法可以用到的地方不少:

(1) 因为这样可以去除一些主要排名因素,对于后续深入去分析其它排名规则有非常大的帮助

(2) 结合大量数据的分析,能大致量化出点击率对排名的影响程度

具体的使用实例,后文再提。

明确化SEO的目标

Standard

(搬自之前自己的博客)

做SEO的人经常是瞎折腾,因为目标没有明确。

前几篇文章提到过,数据分析的思路中,有一点很重要的是“细分”。对于目标,我们也可以细分出很多:

 

网站收益 = 流量 * 转化率

SEO流量 = 收录量 * 排名 * 点击率 * 搜索量

排名 = 链接 * 内容 * 用户行为数据

链接 = 正向链接 * 反向链接

反向链接 = 站内反向链接 * 站外反向链接

站外反向链接 = …链接数量 * …链接质量

之所以从这个方向来细分罗列了下,是因为看到过的最不靠谱的考核方法,是以“站外反向链接数量”为基准。但明显它和“网站收益”这个最终目标隔了十万八千里。

如果给我外链数量的KPI让我去做换链接的工作,我会每个月去链接平台买5块钱以内的链接,买几十个链接,每月估计成本200RMB左右。然后每月只要花半天时间挑挑链接,就能混个优秀员工了。

显而易见的,这种考核方式不出大问题是运气,要达到目标更是天方夜谭。离最终目标距离太远的考核方式,肯定是不可信的。


那么用“排名”来考核靠不靠谱呢?看上去它和最终目标更接近。但实际可能是——更惨不忍睹。

如果给我排名的KPI去做换链接的工作,我会每天只睡大觉,也能保证至少不会出大的问题。因为排名这玩意在一个正常的网站总有起起伏伏,一个月里面,平均每十个词里面没两三个词排名会提升的话,反而是怪事。

而且“排名”是针对什么词而言的?这是更大的问题。没把关“流量”前,就控制不到“搜索量”。

SEO流量 = 收录量 * 排名 * 点击率 * 搜索量

理想情况下网页收录了、排名第一了、点击率干脆算100%好了,但搜索量为0的话,流量不还是0么。

随便自造些毫无竞争力、当然也毫无搜索量的词,排名很容易就可以上去,KPI complele!

这时,宁可回到上一步,加上个“站外反向链接数量”的连带考核,也至少能避免完全不工作的情况。

因此,如果未能做到把考核方式与最终目标密切结合的话,要先行辅以更细的指标才能尽大程度避免最糟糕的些情况。


“流量”呢?和上述“排名”一样存在个问题,流量自己本身就会自然提升,除非用更细的指标来确定流量提升的源头,它才具有一定的意义。

但哪怕这样还是存在一定问题,因为最终还有一层:

网站收益 = 流量 * 转化率

曾经公司网站上,影视类(其中还包括些色情词)的流量甚至达到极高的比例,但转化率明显是0。(导航类搜索、娱乐类搜索,差不多是百度上搜索量最高的两类,容易做出流量)


若不考虑战略级因素的话,“网站收益”是个相对较好的量化指标,这里不展开到更远了。(比如有些阶段盈利比占据市场份额重要、有些阶段又反之)

但它的细分为:

网站收益 = 流量 * 转化率

各类流量,转化的评估方法都不同。尤对于电商网站转化比较好评估、信息类网站则较难。

曾看到说携程做到了,计算搜索引擎每一个来源关键词的商业价值,感觉这是非常强大的。但对于许多网站,或网站性质差异、或技术所限,往往没法做到如此理想化。

但经典的“搜索意图三分法”这时可以帮到我们:(很多搜索引擎书里面都提到了,个人觉得对这块写的较好的是《这就是搜索引擎》)

导航型搜索,如“淘宝网”、“智联招聘”;事务型搜索,如“买笔记本”、“司机招聘”;信息型搜索,如“笔记本价格”、“简历模板”。

一般来说,事务型搜索的商业价值高于信息型搜索,信息型搜索大致和导航型搜索(去除自身品牌词)的价值相当。

当然也需要和网站主题相关,如“电影下载”这样的事务型搜索,对于购物网站没有半点价值。

通过大致这样的关键词分类方法,可以较粗略的控制转化率情况,避免出现严重的问题。

《走进搜索引擎》SEO要点章节

Standard

(搬自之前自己的博客)

一直认为《走进搜索引擎》是一本相对最适合的SEO入门书籍。

其中的内容,对于SEO学习初期,尤其需要先形象了解中文分词、倒排索引与TF-IDF三者之间的逻辑关系,很好的代表了从用户搜索一个词,到搜索引擎返回搜索结果的大致实现机制。可以先排除掉大多数SEO新手对于“关键词”的误解。

但同时,毕竟此书本身是搜索引擎领域的书籍,很多比例的内容对于SEO的作用也不大。因此我之前整理了其中的SEO重点章节,页数对应的是《走进搜索引擎》的第二版。第一版的话,只能去对下章节名了,其中多数章节应该是类似的。

下载系统
Page 6 搜索引擎的体系结构
Page 12 万维网的直径
Page 16 宽度优先策略
Page 19 不重复抓取策略
Page 25 网页抓取优先策略
Page 26 网页重访策略
Page 31 其他应该主要注意的礼貌性问题

分析系统
Page 46 网页结构化的目标
Page 52 通过投票方法得到正文
Page 56 网页查重
Page 61 中文分词
Page 68 PageRank的基本想法

索引系统
Page 87 倒排索引

查询系统
Page 113 什么是信息熵
Page 115 检索词和查询词的区别
Page 116 自动文本摘要
Page 122 关键词权重的量化方法TF-IDF
Page 137 中文自动摘要
Page 145 推测用户查询意图

排序学习
Page 186 查询相关/无关的排序模型
Page 217 排序特征

数据分析与SEO分析

Standard

(搬自之前自己的博客)

看过本《大数据时代》,里面提到个很有意思的例子:以前美国爆发流感,一家专业的医疗机构使用传统的普查方法,来调查疾病的传播情况。这种方法有许多劣势,比如成本很高,也需要几周这么长的时间才能准确的把握疾病的传播现况。

而同时Google公司也采用了一种调查方法。它利用自己现有的搜索数据,看哪个洲的用户搜索疾病症状相关词的趋势发生了变化,从而估算疾病已经传播到了哪里。

最终证明,Google的估算方法准确率也非常高,同时不需要什么成本。且最关键的是,它能及时性的了解疾病的传播情况,大幅便于人们防范准备。

该书中没提到的是,又何况是Google公司才能做到这样的分析,借助于搜索引擎的开放数据,比如最典型的Google Trends与百度指数,几乎任何人都可以做到此般的分析。唯一的前提,就是具有数据分析的意识。


遇到过许多PM,他们为了流量的提升预期,找SEO寻求帮助。

其中不乏一些思路很清晰的PM,一开始就把业务线的来源流量进行拆分,如多少百分比是自有流量、多少是导航站流量、又多少是SEO流量。这一步他们清晰化了,SEO对他们的重要性如何。

之后他们继续分解,SEO带来的流量中,多少着陆页是列表页、多少是详情页,各自对应的访问深度(Pages/Visit)又是多少。在这一步,他们明确了希望重点强化SEO的页面类型,及期望流量被引导的方向。

最终,仅是通过数据的几次细分,他们就将抽象的流量提升意图,具体成了明确改进需求。尤对于大公司的跨部门协作而言,越清晰的需求代表着越高的靠谱几率,模糊的需求容易被应付了事(当然只是说整体客观情况,不是说我们SEO部门)。

数据细分,是分析一整件事情中哪块更重要,并将要做的事情清晰化的有力手段。


数据对比分析,也是一个常用的利器。

比如说招聘,它的需求有非常明显的季节性,春节前后分别对应低谷高峰,此时百度上面招聘类的搜索量也会随之极大幅度的起伏。因此正常情况下,此类SEO流量也会跟着节前少、节后多。

但是凡是人总有个坏毛病,看到好事容易觉得是理所当然的,看到坏事就立马神经绷紧了。节前招聘类SEO流量下降,那绝对有人会紧张。哪怕可能已经考虑到季节性因素了,看着流量趋势图也挺可能会想,是不是降的太多了点啊?

好吧,为了抚平自己或他人的不安情绪,就需要进行数据分析,看流量的下降是否除了季节性因素之外还有其他因素。

分析的方法可以有很多,比如排除搜索量因素后,看收录、排名、点击率三个指标有没有变动;或者分析大量行业词的搜索趋势变化。这里只说我常用的最简单的方法:

假如说网站是智联招聘,取来源关键词包含“智联”的作为“品牌词流量”,不包含“智联”的作为“常规SEO流量”。

因为:常规SEO流量 = 收录 x 排名 x 点击率 x 搜索量

但品牌词流量基本不受收录影响、排名固定接近第一、点击率也差不多是100%固定的,所以可以推出:品牌词流量 = 搜索量

因此品牌词流量的变化,可以用来度量搜索量的起伏。通常情况下,如果常规SEO流量的变化趋势和品牌词流量差不多,那么季节性因素往往是引起流量波动的主要原因。

当然还有少数情况,比如网站进行大规模推广可能让品牌词流量大幅提升;网站加入导航站、购买品牌词PPC等可能导致品牌词流量一定程度下降。在这些特殊情况下,上述分析方法就不能用了,需要自行鉴别,不能全靠死板的数字。


只要有了分析的方向,其他相对而言都不是太大的问题。尽管涉及到SEO,各类不同数据的获取渠道都不尽相同,显得很麻烦,但毕竟也都是具有确定性的技术活。

我们要解决什么问题、要从何切入去解决数据在整个过程中能扮演怎样帮助我们的角色,这是需要用最多时间去思考的。

何为重点?找到SEO流量的突破口

Standard

之前一篇文章已有提到过,SEO可以分为两个阶段:

一个阶段是了解点SEO知识,然后就到网站上去找页面,看哪些招式能用在哪些页面上面。因为没有明确的方向性,往往做不出什么效果。

另一个阶段,是先想着哪里是SEO流量可能存在的突破口,找到那些页面,再去寻思自己是否了解些SEO方法,可以应用在那些页面上。因为一开始就是盯着流量的,就可能可以把流量做到最理想的情况。

后者的重点,在于思路的转变,但这是要随着长时间的经验积累才可以慢慢养成,此处不谈。写后者操作时候相对更具体些的问题,如何寻找哪里是SEO流量的突破口?

一、寻找流量基数大的页面

比如一个大网站,影视频道下每日1W流量,游戏频道下每日10W流量,哪个的流量更好做?在大多数情况下都会是后者。之前的文章也已经提到过,对于大网站,提升SEO流量往往是按照比例来提升的。这种情况下若同样提升50%的流量,游戏频道可以提升5W,影视频道只能提升5000,显然优先流量基数更大的游戏频道。

如何准确了解流量基数?首先要有可供筛选的流量明细数据,除非很小的网站,不然CNZZ之类统计玩具多是用不到。对于一定规模的网站,专业的Google Analytics还是有可能可以搞定的。但因为GA提供数据量太小的关系,大网站基本上也用不上它。多数情况下,大网站需要自行从数据仓库抽取流量的明细数据。

限定refer为百度,通过URL参数去除PPC、百度开放平台等流量,再通过refer里面的搜索词信息去除品牌词流量,差不多就是最终要的SEO流量数据了。

然后要想办法把网站上的页面分类,最最简单的方法比如,认为URL包含.htm的页面都是详情页。但通过URL来判断页面类型往往很有局限,需要看看是否有其它统计到的可以给页面分类的字段。

可以分类页面之后,到Excel里面去,计算每类页面的流量占比,将之排序。将流量基数,与大致的已优化程度、页面修改难易度等因素结合,从而安排每类页面的SEO优先级。(不要理想化认为所有想得到的SEO项目都是可以完成的,永远只能去完成对于当前最优先的数个项目)

二、寻找流量潜力大的页面

上述找流量基数大的页面的方法,由于有明确的流量数据支撑,很容易可以实现,相对是最常用的办法,但它也不是万能的。比如一类页面,本来可以流量轻松做到10W,但存在极严重的SEO问题,比如所有页面的title都叫“新建页面”,导致它当前流量为0。这时候尽管流量基数是低的,流量空间却依然是大的。

这类页面一般有两个特征:能够承载大量的搜索词,且存在严重的SEO问题。

后者此处不展开了,严重问题诸如title缺少应该有的信息,链接由JavaScript加载等等,长期SEO做下来可以看到千奇百怪各种原因。

而如何得知一类页面能承载大量的搜索词?首先看词库里面的相关关键词搜索量。比如小区名字,可以很容易的发现它搜索量很高,那么对于房产类网站,小区页面就是需要重视的。

另外也靠经验来猜测。为什么要猜测?因为并不是所有时候都是有搜索量可以参考的。比如全国的每条马路,都有人可能搜索XX马路附近租房,但因为绝大多数马路的每日租房需求量极小,从任何关键词工具里面都没法看到显著的搜索数据。但也因为全国马路数量这么多,总体搜索量也会可观。这时候,只能根据长期对于大量用户搜索词、和流量数据的观察,靠SEO的经验来类推某类词搜索量的规模大致有多大。

技术在SEO的运用范畴,及或需学习的技术

Standard

做SEO主要需要的两方面能力,我总结为两点,也即研发体系的基本分工:产品、技术。产品方向,要求SEO思路清晰,会看数据会写方案,擅于沟通从而推动项目;技术方向,要求SEO会收集数据懂技术实现等,使产品想法可以真正落实。我相对略偏技术方面一些,这边说下技术在SEO里面能帮到的忙,及个人看来或可去学习的技术。

技术在SEO能做到什么?

1. 收集数据

我认为这是技术对SEO最能体现重要性的一点。页面抽查收录率、关键词监控排名趋势等基础数据,对于SEO每天都用得上。通过百度凤巢或者百度搜索推广API来扩展词库之类的辅助数据,每当有项目要进行决策的时候也必会用上。再进一步对于大网站,如流量等数据很可能用Hadoop处理,和大数据打交道也是技术向SEO需要做的事情。

2. 网站项目的技术实现分工

对于大公司,技术部门经常分几个组。最常见的分工是公用技术组、与各业务线的技术组。一个项目哪块可以分工到公用组,公用组怎么和业务线组结合,都需要有人来协调。

3. 技术落实

哪怕很多公司SEO没权限接触网站代码,也可以给网站上面去加独立频道。申请台服务器,访问域名的时候,触发某URL规则时转发到到那台服务器,就可以让SEO单独开发的频道体现在网站上。在大公司,通常情况下由SEO独立开发,可以比跨多部门协调开发的效率高个数倍。

SEO可以学什么技术?

为了篇幅考虑,以下无法详细展开技术名词的实际应用范畴和学习资料等,请针对名词使用搜索引擎

首先技术向的SEO一定要熟悉一个赖以为生的程序语言。我个人的推荐是Python,但Ruby也是不错的选择。它们的主要特征在于,它们都致力于解决实际问题。尽管PHP是最主流的选择,但我个人不推荐,对于处理海量数据、多线程抓取等SEO经常需要做的任务,它显得力不从心。

1. 网站技术

http://www.w3school.com.cn/是个非常好的技术入门网站。对于SEO,其中的HTML与CSS必须要了解,至少至少达到稍会写些的程序;JavaScript也至少了解它的运作原理。

对于技术向的SEO,还要了解些PHP,那么可以懂简单网站的运作原理;最好会jQuery,可以用来自己实现些网页特效;也需要懂些XML与JSON,独立开发的时候经常可能调用API,它们是常见的数据格式。然后也必须懂一个网站的大致架构,至少要熟悉WordPress之类的开源网站程序,最好是去熟悉一款web框架(个人倾向于Python的Django),它更接近于大多数网站的实现方式,而且学了框架以后,也能自己灵活的进行开发。

Nginx或Apache也最好了解下,优先了解其中哪个,或可取决于公司使用哪个来搭建服务器环境。IIS不了解也罢,几乎没有大公司主要用IIS。

2. 数据采集与处理

火车头采集器,是个不错的采集软件,对于非技术向的SEO或可去了解下它。但为了数据采集的灵活性,技术向的SEO必须得去写程序来采集。

采集一般使用Curl,可以用来模拟浏览器等,它在PHP,Python,Ruby等主流程序语言都被支持。

数据处理需要和Linux打交道,各类shell命令会帮到很大的忙。Linux有很多发行版,学一个为主就可以。推荐是Ubuntu,它的apt-get命令用来装软件很方便。至于如何用Linux,个人建议搞台VPS,用SSH去连接它进行操作。

另外因为和Linux打交道,需要学一个Linux环境下通用的编辑器。我的推荐是VIM,它非常好用。不过在还有很多其他东西要学的时候,不建议花太多精力在VIM上面,因为学好它实在太耗时了,而且毕竟VIM只是个辅助工具,和SEO提升流量的核心目标差了十万八千里。

数据的处理过程中,可能需要用到数据库来储存中间结果。我不推荐MySQL(尽管为了网站开发同样需要学习它),推荐使用的MongoDB,大多数情况下它用起来容易得多。