以下内容主要摘自《SEO实战密码》,为13年出版,应该会出现很多需要更新的内容,后续再做更正。
Googlebot最基本的两种爬取策略
深度优先
爬虫沿着发现的链接一直向前爬行,直到再也没有其他链接。然后返回到第一个页面,沿着另一个链接继续向前爬行。
广度优先
在一个页面发现多个链接时,是把当前页面所有第一层链接都爬一遍,再沿着第二层页面发现的链接爬向第三层页面。
理论上只要时间足够,爬虫能够爬完整个互联网,但实际操作中不可能有无限时间,所以爬取策略一般都是混合使用,照顾到尽量多的网站
吸引爬虫
- 页面权重高
- 页面更新频率高
- 高质量导入链接
- 与首页点击距离近
- 短、浅层次的URL
地址库
为避免重复爬行和抓取,搜索引擎建立的,用来记录已经被发现、但还没有被抓取的页面,以及已经被抓取的页面
地址库中URL来源:
- 人工录入的种子网站(应该是指网站目录)
- 爬取得到的URL
- 站长主动向搜索引擎提交的网址
- 站点丢
所以站点地图的作用相当于告诉搜索引擎“我有哪些网页”,但是否最终会加入索引显示在搜索结过中还是要看抓取后的分析。
复制抄袭内容检测
搜索引擎在爬取网站内容时有检测机制,遇到权重低且有大量转载和抄袭内容时,很可能不再进行爬取。
ps:这就是为什么当初爬了那么多文章,自然流量依然长期非常低的原因了……搜索引擎也不傻- -
预处理
爬取数据后,加入索引前的数据分析过程。
- 提取文字:去除无法用于排名的HTML标签、js等元素,提取文本内容。除了可见文字也会提取特殊含义的meta标签、图片替代文字、flash替代文字、锚点文字等。
- 中文分词(中文搜索引擎特有的,谷歌有没有添加该技术待确定)。
- 基于词典匹配
- 基于统计
- 分词特点
百度更喜欢查询词完整的匹配出页面,谷歌不太要求完整匹配。
分词的规则取决于搜索引擎使用的算法,对于运营者只能观察其规则作出相应的优化。比如: 在可能产生歧义的时候,在标题或h1标签中出现明确拆分的关键词。 - 无意义的助词、感叹词、介词、副词也会被筛掉。英文常见的有the,a,an,to,of等。
- 噪声词
与网页主题不相干的内容,比如底部的版权声明、导航、广告等。搜索引擎会对页面进行分块,区分出页头、导航、正文、页脚、广告等区域。 - 去重。如果搜索结果中前两个是一模一样的内容,那用户的体验会很差,所以搜索引擎会进行甄别去重。
去重方法是对页面特征关键词计算指纹,也就是从页面主体内容中选取最有代表性的一部分关键词(经常是出现频率最高的关键词),然后计算数字指纹。通常10个特征关键词就足够了。
典型的指纹计算方法如MD5算法,所以简单的增加“的”“得”“地”或调换段落这种伪原创对搜索引擎是无效的,因为并没有改变特征关键词。搜索引擎的去重算法很可能不至于页面,而是进行到段落级别,混合不同文章、交叉调换段落也不能增加原创内容。
- 加入索引。
经过文字提取、分词、消噪、驱虫后,搜索引擎得到以词为单位的字符串,接下来就会进行关键词提取,将页面转换成关键词的集合,记录出现频率、次数、格式、位置等信息,加入到索引表,这种页面和多个关键词对应的模式为正向索引。
同时也会构造倒排索引,即关键词和多个网页对应的模式。 - 链接关系计算
目前所有主流搜索引擎排名因素中,都包含网页之间的链接流动信息,复杂的链接指向关系形成了网站和页面的链接权重。
比如谷歌PR值。 - 特殊文件的处理
即图片、视频等内容,这个需要查看谷歌文档。 - 质量判断。
几个很可能已经过时的算法(预先计算,非实时效果):
百度绿萝
百度石榴
Google熊猫
google企鹅