资源推荐

Zac出版的《SEO实战密码》是SEO入门的好书,可惜我在当当网买的电子书受DRM版权保护,无法与大家分享。

我在网上找到了此书的  了解搜索引擎  章节,非常详细,且容易理解。链接如下:

http://www.21jn.net/seo/zac/zac.html

前言

SEO由英文Search Engine Optimization缩写而来,中文意译为“搜索引擎优化”。SEO是指从自然搜索结果获得网站流量的技术和过程,是在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量。博客SEO的目的,就是要提升博客的访问量和人气。

要想做好SEO,就必须简单了解搜索引擎工作原理以及自然排名机制。

搜索引擎工作过程非常复杂,我这里只简单介绍搜索引擎是怎样实现网页排名的,并且我只是针对注册类博客的SEO需要了解的知识。本文章介绍的内容相对于真正的搜索引擎技术,来说只是皮毛,不过对博客的SEO已经足够用了。我尽量最容易理解的方式,并且不设计到算法和深奥的理论知识。

搜索引擎的工作过程大体上可以分成三个阶段:爬行和抓取、预处理、返回搜索结果。

爬行和抓取

搜索引擎蜘蛛通过跟踪链接访问网页,获得页面HTML代码存入数据库。

搜索引擎蜘蛛是怎样抓取网页的呢?

发现某一个链接 → 下载这一个网页 → 加入到临时库 → 提取网页中的链接 → 在下载网页 → 循环。

首先搜索引擎的蜘蛛需要去发现链接,至于怎么发现就简单了,就是通过链接发现链接。其方式有深度优先和广度优先。当然我们注册的博客基本不考虑网站目录结构的问题。通常网站结构通常分为以下三个层次:首页——频道——文章页。理想的网站结构应该是更扁平一些,从首页到内容页的层次尽量少,这样搜索引擎处理起来,会更简单。

对于博客SEO,要想让蜘蛛抓取我们的文章,就必须为文章导入链接。无论是外部链接还是同一个博客的内部链接,都可以增大蜘蛛发现网页并爬行的概率。否则蜘蛛根本没有机会知道页面的存在。

比如:我写系列博客喜欢把相关文章的连接写在博文里,虽然开始我的文章没有一篇被百度收录。一天,有一篇文章上了http协议分析工具上了博客园-原创精华区,因为其页面权重高,百度蜘蛛抓取也就越频繁。随着这一篇博文的收录,我的所有博文就都被百度收录了。

预处理

索引程序对抓取来的页面数据主要进行关键词提取、生成倒排索引、页面PageRank值计算、关键词与页面相关性、TrustRank值计算等处理,以备排名程序调用。这是搜索引擎能在极短时间内返回搜索结果的关键。其中我们最关心的是PR值和相关性。

PageRank原理

了解PageRank也就是理解为什么SEO要求一定数量高质量的外链。

PageRank可以形象的比喻成:一个页面的排名是由链接来"投票"的结果,并且是权重不等的投票,优秀的网站为你投的一票会为你的排名更靠前,垃圾网站就没啥用。因此高质量的外链是对SEO是很有帮助的。

经过页面PageRank值计算之后,网页会得到一个与页面主题(内容)无关的排名。

PageRank值决定因数:(来自维基百科)

PageRank works by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The underlying assumption is that more important websites are likely to receive more links from other websites。

上面这段话的大意是:PR值是通过指向该页面链接的数量和质量来决定。

链接的质量怎么理解?

假设一个网页PR值较高(重要性高),那么出现在该网页内的连接质量就比较好。通常一些权威网站PR值较高。

这也就意味着网页之间的重要性会传递。一个链接传递的PR值决定于导入链接所在页面的PR值,发出链接的页面本身PR值越高,所能传递出去的PR也越高。

关键词与页面的相关性

了解相关键词与页面的相关性就是要理解为什么SEO要求做好文章的锚文本以及关键字优化。

影响页面与搜索关键词相关性的因素有链接分析、词频及密度、关键词位置及形式、关键词距离等因素,其中链接分析占了相当大的比重。

不得不提的是百度创始人李彦宏的超链分析专利。

建立一个链接词库,记录链接锚文字的一些相关信息,如锚文字中包含哪些关键词,发出链接的页面索引,包含特定锚文字的链接总数,包含特定关键词的链接都指向哪些页面。词库不仅包含关键词原型,也包含同一个词干的其他衍生关键词。

根据这些链接数据,尤其是锚文字,计算出基于链接的网页的相关性。在用户搜索时,将得到的基于链接的相关性与基于关键词匹配的传统相关性综合使用,得到更准确的排名。

页面有越多以搜索词为锚文字的导入链接(这句话得仔细体会),说明页面的相关性越强。链接分析还包括了链接源页面本身的主题、锚文字周围的文字等,比如一个服装类的网站有指向java语言学习页面的连接,那么这个页面和搜索关键词的相关性就低。

返回搜索结果

用户输入关键词后,排名程序调用索引库数据,匹配关键词,然后按一定格式生搜索结果页面。这是因为前面的预处理,搜索引擎能在极短时间内返回结果。

百度搜索结果显示格式

自然结果格式解析

百度自然界结果的一条记录格式如下:

第一行是页面标题,通常取自页面HTML代码中的标题标签(Title Tag)。这是结果列表中最醒目的部分,用户点击标题就可以访问对应的网页。所以页面标题标签的写法,无论对排名还是点击率都有重要意义。

第二、三行是页面说明。页面说明有的时候取自页面HTML中的说明标签(DescriptionTag),有的时候是从页面可见文字中动态抓取相关内容。所以显示什么页面说明文字是用户查询时才决定的。

第四行是百度快照和百度口碑的好评率,注意这个好评率是整个网站的好评率,而不是单个网页。

博客SEO-搜索引擎工作原理简介的更多相关文章

  1. WEB前端-搜索引擎工作原理与SEO优化

    一.搜索引擎工作原理 搜索引擎的工作分为三个阶段,即爬行,索引和检索 1.爬行  搜索引擎具有网络爬虫或蜘蛛来执行爬网,每次抓取工具访问网页时,它都会复制该网页并将其网址添加到索引中. 在“蜘蛛”抓取 ...

  2. Nginx 反向代理工作原理简介与配置详解

    Nginx反向代理工作原理简介与配置详解   by:授客  QQ:1033553122   测试环境 CentOS 6.5-x86_64 nginx-1.10.0 下载地址:http://nginx. ...

  3. django工作原理简介

    django工作原理简介 先简单的介绍一下django的工作原理,其中还会涉及到Middleware(中间件,包括request, view, exception, response),URLConf ...

  4. WordPress博客系统搜索引擎优化seo全攻略方法

    WordPress的文章.评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表 ...

  5. 团队博客作业Week1 --- 团队成员简介

    团队博客作业Week1 团队作业1 我们团队是一个以功能团队模式组建而成的团队,我们总共有5位队员,分别是:李剑锋.陈谋.卢惠明.潘成鼎.仉伯龙. 中间的那位就是李剑锋,我们的PM(项目经理).性格热 ...

  6. Windows下ARP协议的工作原理简介

       ARP协议(Address Resolve Protocol,地址解析协议)工作在TCP/IP协议的第二层-数据链路层,用于将IP地址转换为网络接口的硬件地址(媒体访问控制地址,即MAC地址). ...

  7. 博客恢复更新 工作环境转移到Linux

    嗯, 回来了. 工作了, 以后学习和写博的时间只能靠挤了, 相信挤一挤总会有的.最近的一些计划: 重拾基础 玩好linux wid, 2014-04-27

  8. kafka工作原理简介

    消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行 ...

  9. Java虚拟机工作原理简介

    1. Java 文件执行过程 2. 运行数据区域 Runtime Data Areas:当运行一个JVM示例时,系统将分配给它一块内存区域(这块内存区域的大小可以设置的),这一内存区域由JVM自己来管 ...

随机推荐

  1. Xaml中的资源(1 样式)

    <Window x:Class="MyResoures.MainWindow" xmlns="http://schemas.microsoft.com/winfx/ ...

  2. Java多线程:Semaphore

    Semaphore为并发包中提供用于控制某资源同时可以被几个线程访问的类 实例代码: // 允许2个线程同时访问 final Semaphore semaphore = new Semaphore(2 ...

  3. mysqldump: command not found问题解决

    首先得知道mysql命令或mysqldump命令的完整路径,可以使用find命令查找除非你知道mysql安装路径可以略过这一步. find / -name mysql -print 例如我的mysql ...

  4. tbody 滚动条

    ARRIVALS TO BRISTOL - ENGLAND FLIGHT CODE FROM STA ETA Notes T3 4264 ISLE OF MAN 11:40 11:42 LANDED ...

  5. 利用sfntly的sfnttool.jar提取中文字体

    雨忆博客中提到了sfntly(具体介绍可以看:https://code.google.com/p/sfntly/),利用其中sfnttool.jar就可以提取只包含指定字符的字体,如果想在页面中通过@ ...

  6. php如何计算两个时间戳之间相差的日时分秒

    /功能:计算两个时间戳之间相差的日时分秒//$begin_time 开始时间戳//$end_time 结束时间戳function timediff($begin_time,$end_time){ if ...

  7. 【转】javascript变量作用域、匿名函数及闭包

    下面这段话为摘抄,看到网上大多数人使用的是变量在使用的时候声明而不是在顶端声明,也可能考虑到js查找变量影响性能的问题,哪里用就在哪里声明,也很好. 在Javascript中,我们在写函数的时候往往需 ...

  8. 更换Python默认软件镜像源

    限于一些众所周知的原因,在我们pip安装软件的时候出现类似报错: data = self.read(amt=amt, decode_content=decode_content) File " ...

  9. python中归并排序

    # coding=UTF-8 #!/usr/bin/python import sys def merge(nums, first, middle, last): "merge" ...

  10. /proc/sys/net/ipv4/ip_forward

    ip地址分公有地址和私有地址,public address是由INIC(internet network information center)负责,这些ip地址分配给注册并向INIC提出申请的组织机 ...