Seo Overview

Review

  1. 2019/04/06
  2. 2021/02/17 08:12:59
  3. 2022/11/18
  4. 2024-10-06 08:52

[!Summary] SEO (Search Engine Optimization) 搜索引擎优化

SEO 工具

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

一、Introduction #

SEO三阶段

  1. 关键词TDK
  2. 外链
  3. 基于用户需求分析,数据挖掘,用户体验提升

[!SUCCESS] 基本操作方法

  1. 合理的 TDK ( titledescriptionkeywords ) 搜索引擎对这三项的权重逐个减小,title 值强调重点即可,重要的关键词出现不要超过两次,而且要靠前。
  2. 不同页面的 tilte 要有所不同;description 把页面的内容高度概括,长度合适,不可过分堆叠关键词,不同页面 description 有所不同。keywords 列举出重要的关键词即可。
  3. 语义化的HTML标签,符合W3C 规范:语义化代码有利于搜索引擎理解网页。
  4. 重要的内容HTML代码放在前面:搜索引擎抓取HTML 的顺序是从上到下,有的搜索引擎对抓取长度有限制,保证重要内容一定会被抓取。
  5. 重要的内容不要用JS输出,爬虫不会执行JS获取内容。
  6. 尽量少用iframe ,搜索引擎不会抓取iframe中的内容。
  7. 非装饰的图片<img /> 必须加 alt
  8. 提高网站速度:网站速度是搜索引擎排序的一个重要指标。
  9. 网站配置 robots.txt

从宏观的角度来说,SEO有三条最重要的规律,那就是原创的内容高质量的外部链接适度的优化

一、搜索引擎工作原理 #

当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果。深究其背后的原理,搜索引擎做了很多事情。    搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关键词,而每个关键词又对应着很多网址,这些网址是百度程序从茫茫的互联网上一点一点下载收集而来的,这些程序称之为“搜索引擎蜘蛛”或“网络爬虫”。这些勤劳的“蜘蛛”每天在互联网上爬行,从一个链接到另一个链接,下载其中的内容,进行分析提炼,找到其中的关键词,如果“蜘蛛”认为关键词在数据库中没有但对用户是有用的便存入数据库。反之,如果“蜘蛛”认为是垃圾信息或重复信息,就舍弃不要,继续爬行,寻找最新的、有用的信息保存起来提供用户搜索。当用户搜索时,就能检索出与关键字相关的网址显示给访客。

一个关键词对应多个网址,因此就出现了排序的问题,相应的与关键词最吻合的网址就会排在前面了。在“蜘蛛”抓取网页内容,提炼关键词的这个过程中,就存在一个问题:“蜘蛛”能否看懂。如果网站内容是flash和JS,那么它是看不懂的,会犯迷糊,即使关键字再贴切也没用。相应的,如果网站内容是它的语言,那么它便能看懂,它的语言即SEO。

二、SEO简介 #

全称:Search Engine Optimization,搜索引擎优化。自从有了搜索引擎,SEO便诞生了。

存在的意义 为了提升网页在搜索引擎自然搜索结果中的收录数量以及排序位置而做的优化行为。简言之,就是希望百度等搜索引擎能多多收录精心制作后的网站,并且在别人访问时网站能排在前面。

分类 白帽SEO和黑帽SEO。

  1. 白帽SEO,起到了改良和规范网站设计的作用,使网站对搜索引擎和用户更加友好,并且网站也能从搜索引擎中获取合理的流量,这是搜索引擎鼓励和支持的。
  2. 黑帽SEO,利用和放大搜索引擎政策缺陷来获取更多用户的访问量,这类行为大多是欺骗搜索引擎,一般搜索引擎是不支持抵制的。

白帽SEO工作

  1. 对网站的标题、关键字、描述精心设置,反映网站的定位,让搜索引擎明白网站是做什么的
  2. 网站内容优化:内容与关键字的对应,增加关键字的密度
  3. 在网站上合理设置 robots.txt 文件
  4. 生成针对搜索引擎友好的网站地图
  5. 增加外部链接,到各个网站上宣传

三、前端SEO #

通过网站的结构布局设计和网页代码优化,使前端页面既能让浏览器用户能够看懂,也能让“蜘蛛”看懂。

➠ 网站结构布局优化:尽量简单、开门见山,提倡扁平化结构

一般而言,建立的网站结构层次越少,越容易被“蜘蛛”抓取,也就容易被收录。一般中小型网站目录结构超过三级,“蜘蛛”便不愿意往下爬,“万一天黑迷路了怎么办”。并且根据相关调查:访客如果经过跳转3次还没找到需要的信息,很可能离开。因此,三层目录结构也是体验的需要。为此我们需要做到:

1. 控制首页链接数量 #

网站首页是权重最高的地方,如果首页链接太少,没有“桥”,“蜘蛛”不能继续往下爬到内页,直接影响网站收录数量。但是首页链接也不能太多,一旦太多,没有实质性的链接,很容易影响用户体验,也会降低网站首页的权重,收录效果也不好。

因此对于中小型企业网站,建议首页链接在100个以内,链接的性质可以包含页面导航、底部导航、锚文字链接等等,注意链接要建立在用户的良好体验和引导用户获取信息的基础之上。

2.扁平化的目录层次。 #

尽量让“蜘蛛”只要跳转3次,就能到达网站内的任何一个内页。扁平化的目录结构,比如:“植物”–> “水果” –> “苹果”、“桔子”、“香蕉”,通过3级就能找到香蕉了。

3.导航优化 #

导航应该尽量采用文字方式,也可以搭配图片导航,但是图片代码一定要进行优化,标签必须添加“alt”和“title”属性,告诉搜索引擎导航的定位,做到即使图片未能正常显示时,用户也能看到提示文字。

其次,在每一个网页上应该加上面包屑导航,好处:从用户体验方面来说,可以让用户了解当前所处的位置以及当前页面在整个网站中的位置,帮助用户很快了解网站组织形式,从而形成更好的位置感,同时提供了返回各个页面的接口,方便用户操作;对“蜘蛛”而言,能够清楚的了解网站结构,同时还增加了大量的内部链接,方便抓取,降低跳出率。

4. 网站的结构布局–不可忽略的细节 #

页面头部:logo及主导航,以及用户的信息。 页面主体:左边正文,包括面包屑导航及正文;右边放热门文章及相关文章,好处:留住访客,让访客多停留,对“蜘蛛”而言,这些文章属于相关链接,增强了页面相关性,也能增强页面的权重。 页面底部:版权信息和友情链接。

特别注意:分页导航写法,推荐写法:“首页 1 2 3 4 5 6 7 8 9 下拉框”,这样“蜘蛛”能够根据相应页码直接跳转,下拉框直接选择页面跳转。而下面的写法是不推荐的,“首页 下一页 尾页”,特别是当分页数量特别多时,“蜘蛛”需要经过很多次往下爬,才能抓取,会很累、会容易放弃。

5.控制页面的大小,减少http请求,提高网站的加载速度。 #

一个页面最好不要超过100k,太大,页面加载速度慢。当速度很慢时,用户体验不好,留不住访客,并且一旦超时,“蜘蛛”也会离开。

➠ 网页代码优化

  1. <title>标题:只强调重点即可,尽量把重要的关键词放在前面,关键词不要重复出现,尽量做到每个页面的<title>标题中不要设置相同的内容。
  2. <meta keywords> 标签:关键词,列举出几个页面的重要关键字即可,切记过分堆砌。
  3. <meta description> 标签:网页描述,需要高度概括网页内容,切记不能太长、不能过分堆砌关键词,每个页面也要有所不同。
  4. <body> 中的标签:尽量让代码语义化,在适当的位置使用适当的标签,用正确的标签做正确的事。让阅读源码者和“蜘蛛”都一目了然。比如:h1-h6 是用于标题类的,<nav> 标签是用来设置页面主导航的等。
  5. <a> 标签:页内链接,要加 “title” 属性加以说明,让访客和 “蜘蛛” 知道。而外部链接,链接到其他网站的,则需要加上 rel="nofollow" 属性, 告诉 “蜘蛛” 不要爬,因为一旦“蜘蛛”爬了外部链接之后,就不会再回来了。
  6. 正文标题要用<h1>标签:“蜘蛛” 认为它最重要,若不喜欢<h1>的默认样式可以通过CSS设置。尽量做到正文标题用<h1>标签,副标题用<h2>标签,而其它地方不应该随便乱用 h 标题标签。
  7. <br>标签:只用于文本内容的换行,比如:
<p>
第一行文字内容<br/>
第二行文字内容<br/>
第三行文字内容
</p>
  1. 表格应该使用 <caption> 标题标签
  2. <img>应使用 “alt” 属性加以说明
  3. <strong><em> 标签 : 需要强调时使用。<strong> 标签在搜索引擎中能够得到高度的重视,它能突出关键词,表现重要的内容,<em> 标签强调效果仅次于 <strong> 标签。
  4. <b><i> 标签: 只是用于显示效果时使用,在SEO中不会起任何效果。
  5. 文本缩进不要使用特殊符号 &nbsp; 应当使用CSS进行设置。版权符号不要使用特殊符号 &copy; 要使用符号©
  6. 巧妙利用CSS布局,将重要内容的HTML代码放在最前面,最前面的内容被认为是最重要的,优先让“蜘蛛”读取,进行内容关键词抓取。
  7. 重要内容不要用JS输出,因为“蜘蛛”不认识
  8. 尽量少使用iframe框架,因为“蜘蛛”一般不会读取其中的内容
  9. 谨慎使用 display: none :对于不想显示的文字内容,应当设置z-index或设置到浏览器显示器之外。因为搜索引擎会过滤掉display:none 其中的内容。
  10. 不断精简代码
  11. JS代码如果是操作DOM操作,应尽量放在body结束标签之前,html代码之后。
  12. URL设计良好
<a href="http://example.com" rel="nofollow">no follow 外部链接</a>
URL设计原则 #
  • 越短越好
  • 避免太多参数
  • 目录层次尽量少
  • 文件及目录名具有描述性
  • URL中包括关键词(中文除外)
  • 字母全部小写
  • 连词符使用 - 而不是 _
  • 目录形式而非文件形式
robots.txt #

搜索引擎蜘蛛访问网站时会第一个访问 robots.txt 文件,robots.txt 用于指导搜索引擎蜘蛛禁止抓取网站某些内容或只允许抓取那些内容,放在站点根目录

  • User-agent 表示以下规则适用哪个蜘蛛,* 表示所有
  • # 表示注释
  • Disallow 表示禁止抓取的文件或目录,必须每个一行,分开写
  • Allow 表示允许抓取的文件或目录,必须每个一行,分开写
  • Sitemap 表示站点XML地图,注意S大写

详见 http://www.cnblogs.com/yuzhongwusan/archive/2008/12/06/1348969.html

sitemap #

站点地图格式分为HTML和XML两种。

  1. HTML版本的是普通的HTML页面 sitemap.html,用户可以直接访问,可以列出站点的所有主要链接,建议不超过100条。
  2. XML版本的站点地图是 Google 在2005年提出的,由XML标签组成,编码为 utf-8,罗列页面所有的URL。

XML版本格式如下

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
  <loc>//ke.qq.com</loc>
  <lastmod>2015-12-28</lastmod>
  <changefreq>always</changefreq>
  <priority>1.0</priority>
  </url>
  ...
</urlset>

其中 urlset, url, loc 三个为必须标签,lastmod, changefreq, priority 为可选标签。 lastmod 表示页面最后一次更新时间。 changefreq 表示文件更新频率,有以下几种取值:always, hourly, daily, weekly, monthly, yearly, never。其中 always 表示一直变动,每次访问页面内容都不同;而 never 表示从来不变。 priority 表示URL相对重要程度,取值范围为 0.0-1.0,1.0表示最重要,一般用在网站首页,对应的0.0就是最不重要的,默认重要程度为0.5。具体重要程度取决于搜索引擎。 sitemap.xml 不能超过 10M,而且每个sitemap文件中url的条数不要超过5万条,当你的sitemap文件很大的时候,可以分解为多个文件。

参照: Prerender ;SPA应用可以给爬虫提供静态页面文件。

Reference #

  1. 搜索引擎优化报告: https://httparchive.org/reports/search-engine-optimization
  2. SEO新手指南: https://developers.google.com/search/docs/beginner/seo-starter-guide?ref_topic=9268559&hl=zh-cn
  3. 《谷歌搜索引擎优化初学者指南》
  4. 百度搜索引擎优化指南2.0: https://ziyuan.baidu.com/college/courseinfo?id=193&page=1
  5. 2018年搜索引擎优化指南: https://cloud.tencent.com/developer/article/1127393
  6. 百度搜索引擎优化指南2.0 
  7. zac著作《SEO实战密码》