SEO

2018-05-24 18:04:15 浏览数 (1)

@(分享)[seo]


为什么要做SEO

什么是seo

全称: SEO是英文Search Engine Optimization的缩写,中文意译为"搜索引擎优化" 定义:SEO是指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的目标。 通俗的来说就是优化网站以提高搜索引擎的相关搜索排名,从而达到获取更多流量的技术与过程

为什么要做seo

  1. 搜索流量质量高:主动搜索的用户基本上都是有相关需求的,这些流量留存率高,转化率高,是非常优质的流量来源
  2. 性价比高:相对于其他宣传方式,付出的成本低很多
  3. 可扩展性:网站可以不停的增加关键词及相关流量
  4. 长期有效: 一旦排名提上去,有效期较长
  5. 提高网站易用性,改善用户体验:seo对页面的要求很多时候和这两点是互通的

seo分类

seo分为白帽,黑帽和灰帽 在搜索引擎优化行业,一些不符合搜索引擎质量规范的优化手法,也就是作弊的SEO手法被称为黑帽,英文为Blackhat。而正规的符合搜索引擎网站质量规范的就称为白帽,Whitehat。由于搜索引擎公布的质量规范和准则比较笼统,常常有各种解释的空间,那些不能被明确归入黑帽或白帽,介于两者之间的优化手法就被称为灰帽SEO(Greyhat)。 seo主要作弊手段

搜索引擎

搜索引擎简史

为什么要了解搜索引擎

SEO人员优化网站就是尽量减少搜索引擎的工作量、降低搜索引擎的工作难度,使搜索引擎能更轻松、快速地收录网站页面,更准确地提取页面内容。

搜索引擎相关

真正的搜索引擎指的是由蜘蛛程序沿着链接爬行和抓取网上的大量页面,存进数据库,经过预处理,用户在搜索框输入关键词后,搜索引擎排序程序从数据库中挑选出符合搜索关键词要求的页面。蜘蛛的爬行、页面的收录及排序都是自动处理。(与门户网站的区别) 发展方向

  1. 抓取页面需要快而全面
  2. 海量数据储存
  3. 索引处理快速有效,具可扩展性
  4. 查询处理快速准确
  5. 判断用户意图及人工智能

搜索引擎工作原理

搜索引擎的工作过程大致分为三个阶段:分别是爬行和抓取,预处理,排名

爬行和抓取

完成数据收集工作

  1. 蜘蛛
    • 搜索引擎用来爬行和访问页面的程序被称为蜘蛛
    • 蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库。搜索引擎为了提高爬行和抓取速度,都使用多个蜘蛛并发分布爬行。
    • 蜘蛛访问任何一个网站时,都会先访问网站根目录下的robots.txt文件。如果robots.txt文件禁止搜索引擎抓取某些文件或目录,蜘蛛将遵守协议,不抓取被禁止的网站
      • 一个栗子淘宝robots
      • 防君子不防小人
  2. 跟踪链接 为了尽可能的抓取更多的页面,蜘蛛会跟踪页面上的链接从一个页面爬到下一个页面 爬行策略:深度优先和广度优先相结合
  3. 地址库
    • 为了避免重复爬行和抓取网址,搜索引擎都会建立一个地址库,记录还没有被抓取的网页和已经被抓取的网页
    • url来源
      • 人工录入的种子网站(门户网站)
      • 蜘蛛抓取页面后,页面中的外部链接
      • 站长自己提交的网址
    • 大部分主流搜索引擎都提供一个表格,让站长提交网址。不过这些提交来的网址都只是存入地址库而已,是否收录还要看页面重要性如何。搜索引擎所收录的绝大部分页面是蜘蛛自己跟踪链接得到的。可以说提交页面基本上是毫无用处的,搜索引擎更喜欢自己沿着链接发现新页面。
  4. 文件储存
    • 抓取的网页放入原始数据库中,每一个url都有对应的文件编号
  5. 爬行时复制内容检测
    • 蜘蛛在爬行时会进行一定程度的复制检测,如果有权重很低的网站上有大量转载和抄袭内容时,该网页不会被收录
预处理(索引)

蜘蛛获取到的原始页面,不能直接用于查询排名处理,需要对其进行预处理,为最后的查询排名做准备

  1. 提取文字
    • 从html中的title,p,h1,span标签中提取文字
    • 除文本文字外,还会提取meta标签中的文字、图片替代文字、Flash文件的替代文字、链接锚文字。
  2. 中文分词
    • 中文搜索引擎特有步骤
    • 词典匹配和基于统计两种方法
  3. 去停止词
    • 的,啊
    • the,of
  4. 消除噪声
    • 根据HTML标签对页面分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声。
  5. 去重
    • 同一博文发布到两个不同的博文网站
    • 页面特征关键词计算指纹,也就是说从页面主体内容中选取最有代表性的一部分关键词(经常是出现频率最高的关键词),然后计算这些关键词的数字指纹
  6. 正向索引
    • 把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式(如出现在标题标签、黑体、H标签、锚文字等)、位置(如页面第一段文字等
  7. 倒排索引
    • 将正向索引的关系转换过来
  8. 链接关系计算
    • 链接原理
    • 搜索引擎在抓取页面内容后,必须事前计算出:页面上有哪些链接指向哪些其他页面,每个页面有哪些导入链接,链接使用了什么锚文字,这些复杂的链接指向关系形成了网站和页面的链接权重。
  9. 特殊文件处理
    • 除了HTML文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如PDF、Word、WPS、XLS、PPT、TXT文件等
排名

用户在搜索框填入关键词后,排名程序调用索引库数据,计算排名显示给用户,排名过程是与用户直接互动的

  1. 搜索词处理
    • 中文分词
    • 去停止词
    • 指令处理:搜索结果是否全部符合条件
    • 拼写错误矫正
    • 整合搜索触发:视频,音频,咨询
  2. 文件匹配
    • 在倒排索引数据库中,找到同时符合多个关键字的文件
  3. 初始子集选择
    • 搜索出来的结果往往会有几万个甚至几十万个,当有这么多文件时,不可能计算所有文件的相关性,所有初始子集的选择会依据于网页的权重,先选出1000个左右的文件。
  4. 相关性计算
    • 关键词常用程度:越常用的关键词在计算相关性时,影响力越小,停止词就是常用词的极端,其对页面相关性几乎没有影响
    • 词频及密度:页面中出现关键词的次数越多,相关性越大;但由于这点太容易被钻空子,所以这一点的重要程度越来越低
    • 关键词的位置及形式:在标题,黑体,h1标签中的关键词,相关性更高
    • 关键词距离:多个关键词之间的距离越近,相关性越强
    • 链接分析及页面权重:有其他页面以关键词为锚文字描述该页面,自身页面的权重和导入该页面链接的页面权重
  5. 排名过滤及调整
    • 对于有作弊嫌疑的页面排名有-11,-6,-30等名次的惩罚
    • 广告置顶
  6. 排名显示
    • 所有排名确定后,排名程序调用原始页面的标题标签、说明标签、快照日期等数据显示在页面上
  7. 搜索缓存
    • 在搜索领域中,所谓缓存,就是在高速内存硬件设备上为搜索引擎开辟一块存储区,来存储常见的用户查询及其结果,并采用一定的管理策略来维护缓存区内的数据。当搜索引擎再次接收到用户的查询请求时,首先在缓存系统中查找,如果能够在缓存中找到,则直接返回搜索结果;否则采取正常的搜索流程来返回搜索结果。缓存技术在目前所有的搜索引擎都采用到。
    • 2/8定律
  8. 查询及点击日志
    • 搜索用户的IP地址、搜索的关键词、搜索时间,以及点击了哪些结果页面,搜索引擎都记录形成日志。这些日志文件中的数据对搜索引擎判断搜索结果质量、调整搜索算法、预期搜索趋势等都有重要意义。
    • 如果用户有登录,这些日志也会影响该用户之后的排名。

主要优化点

物理及链接结构

  • 扁平化的网站结构: 蜘蛛在爬取页面时会使用深度优先和广度优先相结合的方式,所以如果层级过多,可能会导致蜘蛛爬不到你的页面
  • 网站首页是整个网站权重最高的页面,与首页的点击距离越小,被 spider 爬取的概率和权重也就越大。这也是为什么我们需要将内页(也就是具体的文章页面)的首页点击距离控制得越小越好。

清晰的导航

清晰的导航系统是网站设计的重要目标。毕竟你肯定不想你的用户进入你的网站首页后,面对混乱的导航,难以找到想到的页面。对于搜索引擎的 spider 也是如此,混乱的导航会降低 spider 爬行概率。 在设置网站导航应该注意下面几点:

  • 文字导航。尽量使用 HTML 静态文字作为导航,不要使用 JavaScript 生成的动态导航。这样对 spider 来说,爬行阻力最小。导航系统链接是整个网站收录最重要的内部链接
  • 点击距离及扁平化。导航的一个目标就是让所有的页面与首页点击距离越短越好。像权重普通的网站,内页一般不要超过首页 4、5 次点击。所以要尽量在链接结构上做到扁平化。
  • 锚文字中包含关键词。导航关键词尽量使用目标关键词。
  • 面包屑导航。对于中大型网站,面包屑是必不可少。它是帮助用户和搜索引擎建立页面在网站整个结构中的位置最好的方法。
  • 避免页脚堆积。近年来对于页脚堆积关键词的做法似乎不受搜索引擎欢迎了,尽量避免这种做法。

禁止收录机制

meta robots 标签 通过 也可以设置禁止搜索引擎索引本页的内容,禁止跟踪本页的链接。其中 content 的参数有:

代码语言:javascript复制
noindex: 不索引本页内容
nofollow:不追踪本页链接
nosnippet:不要在搜索结果中显示说明文字
noarchive:不要显示快照
noodp:不要使用开放目录中的标题和说明

每个参数中间需要已逗号隔开。 nofollow 标签 <a href="" rel="nofollow">nofollow</follow> nofollow 标签是由 Google 领头创新的一个“反垃圾链接”的标签,并被市场上其他主流搜索引擎广泛支持。nofollow 是 a 标签的一个属性值。用于告诉搜索引擎不要追踪此链接,因为这个链接不是作者所信任的。这里的 nofollow 与上面说的 meta 标签上的 nofollow 区别在于:a 标签上的 nofollow 是指单个链接,而 meta 上的 nofollow 是指整个页面所有的链接。 nofollow 通常用于博客评论、论坛帖子、社交网站、留言板等地方。因为这些地方的内容都是用户可以自由留下链接,站长并不知道这些链接是否可信。经过测试发现,你在 segmentfault 或者掘金发表文章时,文章的外部链接都会加上 rel="nofollow"。 同时对于网站内部一些重复内容的页面或者是一些无需被收录的链接都可以加上该标签,可以防止网站权重浪费。比如像联系我们、隐私政策等页面,就可以使用 nofollow 标签了。

内部链接及权重分配

一个网站的首页权重是最高的,接着是二级分类页面,与我们前面提到的链接结构一样,也是成一个树结构。内部权限分配有几个原则:

  • 重点内页可以通过直接链接到首页提高权重
  • 非必要页面设置 nofollow 不分散权重

锚文字对于内部权限分配也是非常重要的一个手段。这方面 维基百科绝对是做得最好的。

404页面

当访问的页面不存在时,需要一个专门的 404 页面。404 页面的设计需要注意几点:

  • 保持与网站统一的风格
  • 应该在醒目的位置显示错误信息,明确提示用户,访问的页面不存在。
  • 错误页面还可以提供几种跳转:比如回到首页和其他你引导让用户访问的链接

404 页面与外链的一个小技巧 由于搜索引擎并不会无缘无故得爬行一些不存在的原因的。肯定是有外部链接指向这些地址,比如别人的博客页面引用等,而原文可能你已经删除或者更换 url 了。所以我们可以通过 Google 网站站长工具发现我们网站存在的错误链接,将错误地址做 301 跳转到正确的页面或者直接在本来不存在的 URL 上新建一个页面,接收这些外部链接的权重

标签的合理使用

语义化

语义化、简洁、结构化的代码更加有利于突出重点和适合搜索引擎抓取。

唯一的H1标题

每个页面都应该有个唯一的h1标题,但不是每个页面的h1标题都是站点名称。(但html5中h1标题是可以多次出现的,每个具有结构大纲的标签都可以拥有自己独立的h1标题,如header,footer,section,aside,article)

首页的h1标题为站点名称,内页的h1标题为各个内页的标题,如分类页用分类的名字,详细页用详细页标题作为h1标题

代码语言:javascript复制
<!-- 首页 -->
<h1 class="page-tt">腾讯课堂</h1>
<!-- 分类页 -->
<h1 class="page-tt">前端开发在线培训视频教程</h1>
<!-- 详细页 -->
<h1 class="page-tt">html5 CSS3</h1>

img设置alt属性

蜘蛛爬取不到图片 img必须设置alt属性,如果宽度和高度固定请同时设置固定的值

代码语言:javascript复制
<img src="" alt="seo优化实战" width="200" height="100" />

TDK优化

TDK,即 title, description, keywords。

title

在SEO中,标题的优化占着举足轻重的地位,无论是从用户体验的角度出发,还是从搜索引擎的排名效果出发,title都是页面优化最最重要的因素。 title的分隔符一般有,,_,-和空格。其中_对百度比较友好,而-对谷歌比较友好,空格在英文站点可以使用但中文少用。

推荐做法:

每个网页应该有一个独一无二的标题,切忌所有的页面都使用同样的默认标题 标题要主题明确,包含这个网页中最重要的内容 简明精练,不罗列与网页内容不相关的信息 如果你的文章标题不是很长,还可以加入点关键词进去,如文章title_关键词_网站名称 用户浏览通常是从左到右的,重要的内容应该放到title的靠前的位置 使用用户所熟知的语言描述。如果你有中、英文两种网站名称,尽量使用用户熟知的那一种做为标题描述 示例:

代码语言:javascript复制
<title>阿里巴巴1688.com - 全球领先的采购批发平台,批发网</title>
<title>京东(JD.COM)-正品低价、品质保障、配送及时、轻松购物!</title>
description

description不是权值计算的参考因素,这个标签存在与否不影响网页权值,只会用做搜索结果摘要的一个选择目标。用户极有可能通过网站的摘要来决定是否浏览该网站。

推荐做法:

网站首页、频道页、产品参数页等没有大段文字可以用做摘要的网页最适合使用description 准确的描述网页,不要堆砌关键词 为每个网页创建不同的description,避免所有网页都使用同样的描述 长度合理,不过长不过短(最好在100-150个字符,对应中文就是50到75个汉字)。 示例:

代码语言:javascript复制
<meta name="description" content="阿里巴巴(1688.com)批发网是全球企业间(B2B)电子商务的著名品牌,为数千万网商提供海量商机信息和便捷安全的在线交易市场,也是商人们以商会友、真实互动的社区平台。目前1688.com已覆盖原材料、工业品、服装服饰、家居百货、小商品等12个行业大类,提供从原料--生产--加工--现货等一系列的供应产品和服务。"
  />
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />
keywords
  • keywords在搜索排名的权重不高,但是合理的设置,可以提高关键字的密度及优化搜索结果页的体验。通过加大关键词的密度,从而提高关键词在搜索引擎的排名,是SEO优化的一个常用手段。
  • SEO的核心思想是每个页面抓住几个关键字(一般不超过5个)进行核心优化,所以设定与本页内容相关的主关键词一到三个就可以了。关键字之间用英文状态下的逗号分割,不要再滥用关键字,这会给搜索引擎不好的印象。

示例:

代码语言:javascript复制
<meta name="keywords" content="阿里巴巴,批发网,1688,批发市场,批发,采购,微商,微店,货源"/>

链接URL

统一URL

http://www.domainname.com http://domainname.com http://www.domainname.com/index.html http://domainname.com/index.html 以上四个其实都是首页。虽然不会给访客造成什么麻烦,但对于搜索引擎来说就是四条网址,并且内容相同,很可能会被误认为是作弊手段。而这四个页面的权重会被分散掉。

301跳转

URL发生改变,一定要把旧的地址301指向新的,不然之前做的一些收录权重什么的全白搭了。

SEO工具

  • 百度搜索风云榜
  • 百度指数
  • 百度站长平台
  • meta seo inspector,检查标签的,谷歌插件
  • seo in china,百度收录的各种数据,谷歌插件
  • check my links,检查链接,谷歌插件
  • seo quake,统计各种数据,谷歌插件

参考资料

Zac-seo实战密码 陈惠超-个人博客seo优化系列 heweixiao-web语义化之SEO和ARIA IMWeb-SEO优化实战

seo

0 人点赞