一、搜索引擎工作原理

搜索引擎的工作分为三个阶段,即爬行,索引和检索

1、爬行 

搜索引擎具有网络爬虫或蜘蛛来执行爬网,每次抓取工具访问网页时,它都会复制该网页并将其网址添加到索引中。

在“蜘蛛”抓取网页内容,提炼关键词的这个过程中,就存在一个问题:“蜘蛛”能否看懂。如果网站内容是 flash 和 js,那么它是看不懂的。相应的,如果网站内容是它的语言,那么它便能看懂,它的语言即 SEO

2、索引 

此阶段,爬网程序会创建搜索引擎的索引。索引就像一本巨大的书,其中包含爬虫找到的每个网页的副本。如果任何网页发生更改,则抓取工具会使用新内容更新图书

3、检索  

这是搜索引擎以特定顺序提供最有用和最相关答案的最后阶段

二、SEO 简介

全称:Search English Optimization,搜索引擎优化,即为了提升网页在搜索引擎自然搜索结果中的收录数量以及排序位置而做的优化。

1、SEO 的分类

  • 白帽 SEO:起到了改良和规范网站设计的作用,使网站对搜索引擎和用户更加友好,并从搜索引擎中获取合理的流量
  • 黑帽 SEO:利用和放大搜索引擎政策缺陷来获取更多用户的访问量

2、白帽 SEO 的使用

(1)对网站的标题、关键字、描述精心设置,反映网站的定位,让搜索引擎明白网站是做什么的;

(2)网站内容优化:内容与关键字的对应,增加关键字的密度;

(3)在网站上合理设置 Robot.txt 文件;

(4)生成针对搜索引擎友好的网站地图;

(5)增加外部链接,到各个网站上宣传;

三、前端 SEO 优化

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

1、网站结构布局优化

(1)控制首页链接数量

对于中小型企业网站,建议首页链接在100个以内,链接的性质可以包含页面导航、底部导航、锚文字链接等

(2)扁平化的目录层次

尽量让“蜘蛛”只跳转3次,就能到达网站内的任何一个内页

(3)导航优化

导航应该尽量采用文字方式,也可以搭配图片导航,但<img>标签务必添加“alt”和“title”属性,告诉搜索引擎导航的定位

<img src="" alt="" title="">

其次,在每一个网页上应该加上面包屑导航

对用户而言,可以让用户了解当前所处的位置,形成更好的位置感,并方便用户操作;

对蜘蛛而言,能够清楚的了解网站结构,同时还增加了大量的内部链接,方便抓取,降低跳出率。

(4)结构布局的规范优化

  a、页面头部:logo 及主导航,以及用户的信息

  b、页面主体:左边面包屑导航及正文;右边放热门文章及相关文章,既增强了页面相关性,也增强页面的权重

  c、页面底部:版权信息和友情链接

注意:分页导航推荐写法:“1 2 3 4 5 6 7 8 9 10 下拉框/输入框”,这样“蜘蛛”能够根据相应页码直接跳转,下拉框直接选择页面跳转

(5)控制页面的大小

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

2、网页代码优化

(1)<title>

标题,强调重点即可,尽量做到每个页面的 <title> 标题内容不重复

<title>英雄联盟全新官方网站-腾讯游戏</title>

(2)<meta keywords>

关键词,列举出几个页面的重要关键字即可

<meta name="Keywords" content="英雄联盟,lol,lol新手礼包,lol攻略,lol视频,lol视频攻略,英雄资料,英雄联盟战争学院,明星解说视频,101战争学院,英雄,攻略,WCG,点亮图标,赛事">

(3)<meta description>

网页描述,高度概括网页内容的关键词,每个页面也要有所不同

<meta name="Description" content="英雄联盟官方网站,海量风格各异的英雄,丰富、便捷的物品合成系统,游戏内置的匹配、排行和竞技系统,独创的“召唤师”系统及技能、符文、天赋等系统组合,必将带你进入一个崭新而又丰富多彩的游戏世界。">

(4)标签语义化

比如:h1-h6是用于标题类的,<nav>标签是用来设置页面主导航的等

(5)<a>标签:

页内链接,要加“title” 属性加以说明,让访客和 “蜘蛛” 知道;

外部链接,链接到其他网站的,则需要加上 el="nofollow" 属性,避免“蜘蛛”爬了外部链接之后,就不回了

(6)正文标题要用 <h1> 标签:

“蜘蛛” 认为它最重要,若不喜欢<h1>的默认样式可以通过CSS设置

(7)<br>

只用于文本内容的换行

<p>
第一行文字<br/>
第二行文字<br/>
第三行文字
</p>

(8)<caption>

表格应该使用 <caption> 表格标题标签

(9)<img> 应使用 “alt” 属性加以说明

(10)<strong> 和 <em> : 需要强调时使用

<strong>标签在搜索引擎中能突出关键词

<em>标签强调效果仅次于 <strong>

而 <b>、<i>标签: 只是用于显示效果时使用,在 SEO 中不起效果

(11)避免使用 &nbsp; 和 &copy;

空格符 &nbsp; 应用 CSS 进行设置

版权符 &copy; 可以直接使用输入法打“©”

(12)少用 iframe 框架,因为“蜘蛛”一般不会读取其中的内容

(13)少用 display: none;

对于不想显示的文字内容,应当设置 z-index 或设置到浏览器显示器之外。因为搜索引擎会过滤掉 display:none 中的内容

WEB前端-搜索引擎工作原理与SEO优化的更多相关文章

  1. Web服务器的工作原理

    Web服务器的工作原理 Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了 ...

  2. java gc的工作原理、如何优化GC的性能、如何和GC进行有效的交互

    java gc的工作原理.如何优化GC的性能.如何和GC进行有效的交互 一个优秀的Java 程序员必须了解GC 的工作原理.如何优化GC的性能.如何和GC进行有效的交互,因为有一些应用程序对性能要求较 ...

  3. 转 web前端性能分析--原理篇

    转自http://blog.csdn.net/five3/article/details/7686715 web前端性能: 即是web用户在访问一个页面时所要花费的时间总和.即一个完全意义上的用户响应 ...

  4. Velocity工作原理解析和优化

    在MVC开发模式下,View离不开模板引擎,在Java语言中模板引擎使用得最多是JSP.Velocity和FreeMarker,在MVC编程开发模式中,必不可少的一个部分是V的部分.V负责前端的页面展 ...

  5. Web的基本工作原理、HTTP协议和URL说明

    Web工作原理 客户端和Web服务器通过HTTP协议进行通信.Web服务器有是也叫HTTP服务器或Web容器.HTTP协议采用的是请求/响应模式.即客户端发起HTTP请求,web服务器接收并解析处理H ...

  6. 简介web服务器的工作原理

    一 什么是web服务器,应用服务器和web容器? 对于web服务器与应用服务器:“在过去它们是有区别的,但是这两个不同的分类慢慢地合并了,而如今在大多在情况下和使用中可以把它们看成一个整体.” 但是当 ...

  7. 简述ASP.NET Web网页的工作原理。

    ASP.NET的工作原理是:首先,有一个HTTP请求发送到Web服务器要求访问一个Web网页. Web服务器通过分析客户的HTTP请求来定位所请求网页的位置.如果所请求的网页的文件名的后缀是 aspx ...

  8. Web前端应该从哪些方面来优化网站

    作者:斯迪链接:https://www.zhihu.com/question/21658448/answer/18903129来源:知乎著作权归作者所有,转载请联系作者获得授权. 不知道是哪位大牛的文 ...

  9. Web Service 的工作原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

随机推荐

  1. kubernetes之secret

    Secret解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中.Secret可以以Volume或者环境变量的方式使用. Secret类型: Opa ...

  2. windows下大数据开发环境搭建(2)——Hadoop环境搭建

    一.所需环境 ·Java 8 二.Hadoop下载 http://hadoop.apache.org/releases.html 三.配置环境变量 HADOOP_HOME: C:\hadoop- Pa ...

  3. LeetCode第8场双周赛(Java)

    这次我只做对一题. 原因是题目返回值类型有误,写的是 String[] ,实际上应该返回 List<String> . 好吧,只能自认倒霉.就当涨涨经验. 5068. 前后拼接 解题思路 ...

  4. leetcode两数相加

    题目描述:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表 ...

  5. @Autowired 和 @Resource注解, 一个接口有多个实现类的时候Spring注入遇到的问题

    先说下我遇到的问题,有一个接口 CompensationService, 有两个实现类 MusicCompensationStrategyImpl  和  TakeDeliveryCompensati ...

  6. ByteArray、16进制、字符串之间的转换

    ByteArray.16进制.字符串之间的转换: package fengzi.convert { import flash.utils.ByteArray; public class ByteArr ...

  7. 2.Vue 获取企业微信的Code并把Code发送的后台进行验证

    1 . 在企业微信配置请求的页面写入下面代码 mounted() { //获取微信请求的的Code let code = this.$route.query.code; if (code) { thi ...

  8. .NET Core AvaloniaUI实现多语言国际化

    AvaloniaUI是一个基于.Net Core的跨平台桌面程序UI框架,如果使用AvaloniaUI有多语言国际化的朋友可以参考我这篇文章: 这篇文章可以帮助你: 根据用户系统设置的语言改变UI显示 ...

  9. C# vb .net实现饱和度调整特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的饱和度调整呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一 ...

  10. java List分组和排序处理

    在一些应用中,需要将List中的对象按某种情况分组或者排序处理.做个小结如下: 1. 如一个List中存放了ProductDoing对象,productDoing对象有rawTypeId 现在要求将r ...