- A+
做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,大多数情况下它用起来容易得多。