一、搜索引擎工作原理

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

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. css选择器测试2-用ul和li简单排版

    之前的博文:测试了一些css样式的优先级,都是比较常见的选择器 ,这里测试一些其他一些选择方式. *:通配符,所有页面的元素都走这个.设置多个class:一个标签里不能有两个class,如果想要设置多 ...

  2. mysql查询之上升的温度,有趣的电影,超过5名学生的课,大国,反转性别, 换座位

    最近发现一个网站 力扣 查看 上面有很多算法和数据库的题目,做了一下,发现自己平时都疏忽了,因此边做边记录下来 1.上升的温度 给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天 ...

  3. jquery向上滚动页面的写法

    jquery向上滚动页面的写法<pre> $('.arrow_top').on('click',function () { $body = (window.opera) ? (docume ...

  4. mysqlbinlog二三事儿

    binlog的sql命令: SHOW VARIABLES LIKE 'log_%';  查询各种log是否开启 SHOW MASTER STATUS; 查询当前binlog文件position状态 S ...

  5. C语言之指针在printf语句里面的使用规范

    *** 一级指针的使用规则探索 *** #include<stdio.h> #include<stdlib.h> void main() { char *p; p = &quo ...

  6. nginx 简单介绍

    Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Uniform Resources Identifier)URI或者统一资源定位符(Uniform Resou ...

  7. 创建包含CRUD操作的Web API接口2:实现Get方法

    本节是前一节的延续,上一节中我们已经为我们的Web API项目创建必要的基础设施. 在本节中,我们将在我们的控制器类中实现操作方法,这些方法用来处理HTTP GET请求. 根据Web API命名约定, ...

  8. 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

    1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...

  9. 同一个Tomcat部署多个springboot项目问题

    2018-12-13 10:37:21,412 ERROR [localhost-startStop-2] c.a.d.s.DruidDataSourceStatManager [DruidDataS ...

  10. JDBC使用8.0驱动包连接mysql设置时区serverTimezone

    驱动包用的是新版 mysql-connector-java-8.0.16.jar新版的驱动类改成了com.mysql.cj.jdbc.Driver新版驱动连接url也有所改动I.指定时区 如果不设置时 ...