虽然很多时候对于SEO,一个简单的想法胜过高超的技术,但不代表技术是不必要的,很多需求都需要技术来实现。
估计所有人都会认同的一点是,既有的需求不应该因为技术的局限而妥协。忘记最早是在哪家公司的技术部招聘介绍里面看到这句话,觉得非常恰当。当打算做一件事以后,如果技术上稍稍受阻,就抛出一句“这么麻烦啊,不做了”导致前功尽弃的话,无论何时都是不好的事情。之所以技术需要存在,就是为了解决需求的。
而或许有争议的问题是,SEO的技术需求应该是SEO自己来做,还是让技术人员做?我的观点是,复杂的需求给技术人员做,因为若让SEO去实现那些东西往往会因为能力所限而效率很低;而简单的需求最好由SEO自己做,如果每天成堆的需求都需要沟通协助的话,对SEO和技术人员都会是较大的无谓精力消耗,导致了更多人会选择让需求因为技术而让步,继续使用纯人肉的方法做SEO。
很久以前我用易语言随手做了一个百度页面收录抽查的非常简陋的程序,当时只是毫不在意的在一个论坛上随便发了个帖子。然而当写出软件的近一年时,因为百度有更新导致了软件故障,当时每隔几天就有人给我汇报bug。最让人惊讶的是我在写出该软件后入职过两家公司,那两家公司都在用那个简陋的程序。因为SEO需求虽然存在着,却极少有技术去解决它。
比如关键词排名查询,通常情况下这看似很简单的任务却也不轻松,常见的需求如下:(仅为表达的更形象,故以分类信息网站举例)
单个关键词对应单个网站:查询58同城“二手手机”这个词的排名
各类现有软件都能做到,我以前比较倾向于用观其关键词工具。
多个关键词对应单个网站:查询58同城对于“二手诺基亚手机”、“二手摩托罗拉手机”的排名
还是有比较多的软件可以做到,如前面提到的观其,但它在批量添加关键词这一点上有点麻烦,如果关键词很多就无法使用它。可代替的方案如Rank Tracker,据我所知它也是相对最出色的排名查询软件。
多个关键词一一对应多个网站:如果是站群的话会比较多的见到这问题,其他情况下比较少见
此时Rank Tracker也不好用了,因为对于它而言网站要一个个添加。此时可以选择追词,虫虫也内置了这个功能。
单个(或多个)关键词对应多个网站:查询58同城、赶集网、百姓网分别于“二手诺基亚手机”、“二手摩托罗拉手机”的排名
很遗憾至今我还没见到哪款软件完成这个功能,尽管它很容易实现。如果关键词X分别要查网站A, B, C在它上面的排名的话,在各种软件上,都需要查三次X的排名,分别找网站A, B, C的排名所在,很耗时间且容易被封IP。尽管这对于分析竞争对手的SEO情况而言是再常见不过的SEO需求。
而又比如数量到达千级万级的关键词如何查排名呢?这样查询很容易被搜索引擎封IP,在前面提到的各种软件中,只有Rank Tracker给出了解决方案。比如可以随机轮换伪造User-agent、间隔7-15秒查询一次关键词、使用HTTP代理进行查询等。但这依然不完善,在保证稳定情况下,Google只能每天查几千个词的排名,对于很多大型网站显然是远远不够的。比之高效得多的解决方案是本机网关IP的切换,而这目前只能用自己写的程序所实现。
除此之外,查排名的需求还可能有很多,比如将关键词排名汇总成历史图表、通过排名位置辅以搜索量来估算SEO流量(如爱站网所做的)等等,往往都是现有软件没有提供的。
而尽管写了这么多,对于自己按需开发的程序而言,这些加起来在功能上恐怕不超过500行代码。而对于我最常用的多关键词对应多网站,这个所有现有软件所没有的功能,用Python写出来大约是30多行代码。
所以认为稍学些技术是对于SEO存在着极大好处的,尤其是程序。
个人比较推荐Python,它也是日常辅助自己SEO的最常用工具。而且它的入门相对我接触过的所有语言中是最简单的,随便找一本书学习语法基础,并熟悉re(正则表达式), threading(多线程), pycurl(网络下载)这些模块以后,很快就能处理大多数不算复杂的SEO需求。尤其若有PHP基础则可以在极短的时间内掌握Python.
更流行的PHP也是不错的选择,对于做网站而言,因为它在国内被接受的程度很广泛,比起Python拥有非常大的优势。但在解决一些应用需求,尤其是采集类需求时,PHP相对显得薄弱一些。