SEO(Search Engine Optimization),搜索引擎优化,根据搜索引擎(谷歌、百度)的规则来优化自己网站,提升在搜索引擎里面排名的一种技术。是前端技能树比较冷门的一环。
最开始接触到SEO,是最近自己接的一个外包官网项目,甲方要求SEO上优化几个关键的搜索词,在谷歌上面能够排到前列。至此踏入SEO的坑。在搜索了几个SEO相关的博客网站,看了SEO一些相关介绍之后,得出的明显的感觉就是这个圈子大多数的人狂妄,水平一般且不乐意分享,分享的技术文章充斥着,说了你也不懂
,这个明白的都明白
等论调,每几篇文章看下来,干货没多少,自己牛逼倒是吹了不少。很多SEO的技巧论调官方没有放出,大多数人纯粹在瞎猜的阶段,比如site和domain指令的使用。想想还是自己买本书回来认真实践加学习一下,希望日后能自己维护出来一个流量权重还可以的网站。
选择《SEO深度解析》第二版,主要原因是SEO的书籍都太老了,搜索引擎权重等算法更新很快,选了一本最近的著作,不过也是16年的了。这本书偏向百度的国内SEO优化,但是也有涉及到谷歌的一些内容,比较浅显易懂,比较适合SEO的入门和学习。根据章节内容大体切割了一下,计划一个半月左右读完。
打算根据切割的模块写四篇左右的读书笔记:
简单说明了作者对SEO的理解,SEO是一门艺术,更是一门技术。阐述了SEO的三个方向(技术方向、运营方向、和产品方向),希望大家能对SEO有自己的认识。
SEO宏观上的技术原理可以分为网站收录(Spider)、查询分析两个部分。大体的步骤可以阐述为:
SEO就是根据前三个步骤,用搜索引擎的算法规则,去优化自己的网站,获得第四个步骤上较高的排名。
网站收录,是做SEO的前提,网站都没有收录到搜索引擎的数据库中,是根本不可能出现在搜索结果里的。
spider的爬取分为,网站的收录,网站更新两种形式,其中网站的更新还会包括降权spider存在。
网站的收录有两种途径,一种是分布式spider根据深度优先和广度优先综合的爬取方式,爬取各个url,延伸到新的网站,进行去重算法之后,收录到库。大型优质的网站,会优先实行深度优先的爬取策略,尽量爬取全部的链接。我们在日常的搜索结果中不难看到,搜索问题的时候出现知乎,贴吧某个具体的回答,而小一些的网站就是出现网站的首页。第二种是可以自己主动提交自己的网站到搜索引擎相对应的收录方,主动将自己的网站添加收录。
从这两点,我们不难看出,创建一个新的网站,想要快速被收录到搜索引擎当中,需要把自己网站的链接,挂到大型网站的链接当中。这点不是很现实。所以对于初创型网站,只能乖乖的写好网页结构,提交自己的网站到谷歌和百度对应的收录站点,让自己的网站能够通过收录的要求,被收录进搜索引擎的库中。小型的网站,会优先采用广度优先的爬取原则,用很少的资源,快速的爬完前几个页面,不会浪费很多的资源在深度上。因此,新的网站,不宜采用较深的面包屑导航(如嵌套index-cn-article-chap1),一般链接层数在3层以内。在首页多方网站的主内容,是比较好的策略。待网站的权重更新高了之后,再逐渐拓深页面的导航。
如何去看自己的网站是否被收录,其实很简单。只要到对应的搜索引擎,敲入自己的url去进行搜索就可以看到了。简单看一下我的个人网站和我外包的一个官网在百度上搜索url的结果。如果你的网站被收录了,使用www域名去搜索,是能够出现网站信息的。
每个spider抓取有他自己的收集范围和收录网站类型,在收录一个全新的网站之后,会进入更新spider的抓取阶段。更新spider会有一个由快到慢的频率去对收录的url进行一个信息抓取的更新,来同步获得你网站的更新平率,和建立一个更准确的权重。在数次之后,会对你的网站建立一个规律的时间,去特定的更新你网站的内容。影响更新速率的因素有很多,你网站的类型(新闻类,外链多的有较高的更新速率),网站的权重(新浪之类的大网站会有很快的更新频率)等。那么spider更新的速率,很对提升你网站的权重有很大的帮助。
spider是程序访问,和人访问有很大的不同。比如spider会很容易陷入死循环链接爬取,无法延迟获得ajax,iframe的内容,看不到显示的网站读取不到准确的图片信息。因此这几点做的不好的网站,很容易被拉低权重,陷入更新速度慢,权重低的泥潭。针对这一点,减少ajax的页面内容渲染(使用服务器端渲染),拥有一个良好的语义化页面结构(多使用H5予以标签),准确的结构分层(比如ul,ol的使用,img的alt标签的使用,b标签等标重标签突出关键词),是让spider提升网页权重的良好的方式。切忌,不要在自己的网页当中放置无限的死循环,spider爬死之后,很容易把你的url权重拉黑。
spider收录回来的网页,要进行内容清洗之后,才能放到数据库当中。内容清洗大体上可以分为:
经过这四步之后,让网站剩下关键词的内容,进行基于词典或者分词统计的拆分,建立关键词索引,比如你的网站提炼出了,计算机,电脑,it
的关键词,那么就会收录到这几个关键词下面数据库当中去,根据网页信息和权重,在用户搜索的时候,返回出对应列表的结果。在这一步当中你所要去优化的部分,就是写好网站的meta标签,多写关键词(页脚,img的alt当中),着重去语义化标注一些关键词(b,ruby等标签),让你的网站出现在你希望出现的关键词当中。
这里,搜索引擎会根据用户的需求分析,去进一步建立关键词语网站的索引表,完善搜索结果。
这一块和SEO优化的关联程度不大,主要针对反作弊和人工干预这一块,注意一下不要恶意的利用SEO规则去做一些恶化用户体验的事情,导致你的网站被拉黑。在搜索结果出来之后,百度的cookie会记录一个用户访问搜索结果时间。如果用户点开一个结果之后,秒退回百度首页,那么百度会记录下来,次数多了,会降低相应的链接权重。因此,做好维护好网站的内容本身是非常重要的。
该章主要介绍了SEO的一些常见名词和一些常用指令的搜索方式。
权重pr(Page Rank)
权重是一个页面索引的分数值,用于综合表示网站的质量(关键词排名、外链情况、收录量、alexa排名),是作为搜索结果排序的标志。针对性的去优化,需要内外兼修,做好外链,增加网站作品和收录量,保持优质的网站建设。
链接农场和内容农场
链接农场
指没有实际内容,通过手机网站和交换链接来提升网站pr或权重的网站。内容农场
指围绕关键词制作大量低质量(抄袭,堆砌关键词)内容的网站。两种都是搜索引擎严厉打击的对象。也表现了SEO两个重要的优化方向,外链数量质量,以及关键词的频率。
指令
使用,
来分割多个搜索关键词,使用+
来搜索同时匹配多个关键词的搜索结果。
使用site:
指令,来进行对应站点内内容搜索。比如我搜索前端 site:www.bilibili.com
,就是在哔哩哔哩这个网站当中搜索前端的相关内容。也是查看你网站是否被收录的方法之一。如果你网站没被收录,那么这个指令是无效的。而且你的网站被降权的话,搜索结果也会排到关键词结果的后面。是查看网站是否被降权的重要手段。
使用domain:
指令进行文本查询。domain指令能够搜索纯文本的指令(即title,description,页面内容和url中的内容,不会查询js,iframe,ajax中的内容)。这个指令可以用来查看你网站获得的文本链接数和收录量。比如你查找domain:www.mysite.com
的结果越多,可以侧面说明你网站获得链接越多。如果你专门做SEO,公司以这个数量来考察你的kpi,可以着重在这几个地方加上自己网站的链接,来增加搜索的结果数量。
使用filetype:type
来快速找到对应的文件资源。比如我查找前端 filetype:ppt
,那么可以帮我返回前端有关的ppt资源。
前三章对搜索引擎流程做了一个简单剖析,对SEO做了一个梗概的介绍。从中我们可以了解SEO大体需要做哪些方面的内容,根据搜索引擎的原理做一些针对性的优化。对于前端来说SEO更多的像偏门的一个技能点,而不是正统的技能树上的一个内容。SEO本身也是需要一个长期维护优化才能体现出来结果的技术。
对于纯前端同学,照理来说应该按照SEO的思维去进行语义化标签的处理和书写。但是由于神棍的浏览器兼容性,在实际工作当中其实不能完全语义化标签去处理(比如button标签),统一使用div反而更可控一些。如果你有一个长期维护的个人sideproject,那么学习好SEO,总归是没错的。