一、什么是搜索引擎
搜索引擎是一个帮助用户搜索他们需要内容的计算机程序。换一种说法,搜索引擎把计算机中存储的信息与用户的信息需求相匹配,并把匹配的结果展示出来。

举个例子:你想买iPhone12,想了解 "iPhone12"的配置或者价格等信息,就在浏览器搜索框里输入了 "iPhone12",点击搜索按钮。这里关键词 "iPhone12" 就是你的信息需求。浏览器在展示出搜索结果的那零点几秒之间,它的程序在巨大的数据库里按照关键字进行了查找,终于计算出所有关于"iPhone12"的网页。

二、搜索引擎工作原理
在搜索引擎网站的后台会有一个非常庞大的数据库,里面存储了海量的关键词,而每个关键词又对应着很多网址,这些网址是被称之为"搜索引擎蜘蛛" 或 "网络爬虫"。程序从茫茫的互联网上一点一点下载收集而来的。随着各种各样网站的出现,这些勤劳的"蜘蛛"每天在互联网上爬行,从一个链接到另一个链接,下载其中的内容, 进行分析提炼,找到其中的关键词,如果"蜘蛛" 认为关键词在数据库中没有而对用户是有用的便存入后台的数据库中。反之,如果"蜘蛛"认为是垃圾信息或重复信息,就舍弃不要,继续爬行,寻找最新的、有用的信息保存起来提供用户搜索。当用户搜索时,就能检索出与关键字相关的网址显示给访客。

一个关键词对用多个网址,因此就出现了排序的问题,相应的当与关键词最吻合的网址就会排在前面了。在 "蜘蛛" 抓取网页内容,提炼关键词的这个过程中,就存在一个问题:"蜘蛛" 能否看懂。如果网站内容是flash和js等,那么它是看不懂的,会犯迷糊,即使关键字再贴切也没用。相应的,如果网站内容可以被搜索引擎能识别,那么搜索引擎就会提高该网站的权重,增加对该网站的友好度。这样一 一个过程我们称之为SEO。

三、搜索引擎工作过程(三个阶段)
搜索引擎的工作过程大体可以分成三阶段。

【第一阶段】爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问网页,获取网页HTML代码存入数据库。

1、什么是蜘蛛(spider)?

它叫做抓取网页数据时的执行者,其实它就是一个计算机程序,因为这个工作过程与现实中的蜘蛛很相像,业内就称它为搜索引擎蜘蛛!蜘蛛程序向网站页面发出访问请求,服务器就会返回HTML代码,蜘蛛程序把收到的代码存入原始页面的数据库当中。蜘蛛访问任何一个网站时,都会最先访问网站根目录下的robots.txt文件!如果robots.txt文件禁止搜索引擎抓取某些文件或者目录,蜘蛛将会遵守这些禁止协议,不抓取那些被禁止的网址。

2、如何跟踪链接?

为了抓取网上尽量多的页面,搜索引擎蜘蛛会去跟踪网站页面上的链接,从一个页面爬到下一个页面,这个过程就好像蜘蛛在蜘蛛网上爬行一样,这也就是搜索引擎蜘蛛这个名字的由来。整个互联网是由相互链接的网站页面组合成的。从理论上说,只要给蜘蛛足够的时间,总是能把互联网上所有的页面链接都爬取完。但实际情况并不是这样,由于网站及链接结构异常复杂,蜘蛛需要采取一定的爬行策略才能遍历网上所有页面。

3、爬行策略

根据网站链接结构的不同我们可以把蜘蛛的爬行策略分为两种:深度爬行和广度爬行

深度爬行:蜘蛛沿着发现的页面链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面,沿着另为一个链接再一直向前爬行!
广度爬行:蜘蛛在一个页面上发现多个链接时,不顺着一个链接一直往前爬行,而是把页面上所有的第一层链接都爬行一遍,然后再继续沿着第二层页面上发现的链接爬向第三层页面!一直这样进行下去
在实际工作中,蜘蛛的带宽资源、时间都是有限的,也不可能爬完所有页面。深度优先和广度优先通常是混合使用的,这样既可以照顾到尽量多的网站(广度优先),也能照顾到一部分网站的内页(深度优先)

4、吸引蜘蛛

通过上面的介绍可以知道,蜘蛛不可能将所有的页面都收录,因此 SEO 就是要通过各种手段,吸引 蜘蛛爬行收录自己网站更多的页面。既然不能所有页面都收录,那么 蜘蛛肯定是尽量抓取重要页面。那么蜘蛛是如何判断哪些页面比较重要?有几个影响因素:

网站和页面权重:质量高,资格老的网站权重高
页面更新度:更新频率高的网站权重高
导入的链接:无论是外部链接还是内部链接,要被蜘蛛抓取,就必须要有导入链接进入页面。高质量的导入链接也经常使页面上的导出链接被爬行深度增加
与首页的点击距离:一般来说,网站最高的权重就是首页,大部分外链都是指向首页,蜘蛛访问最频繁的也是首页。所以离首页越近的页面,权重也相对更高,被蜘蛛爬行的机会也越大
5、地址库

搜索引擎会建立一个存放页面的地址库,目的就是为了避免搜索引擎蜘蛛重复爬行和抓取网址,这个地址库里面有已经被抓取的页面,也有被发现后还没有被抓取的页面。这个地址库中的URL一定是蜘蛛抓取来的吗?答案是No,有人工录入的种子网站地址,也有站长通过搜索引擎网页提交网址(一般个人博客或网站都采用这种方式),蜘蛛爬取页面后,解析出网址,与地址库对比。如果不存在,则存入

6、文件存储

搜索引擎蜘蛛抓取来的数据就存放在这个原始页面数据库中,其中的页面数据与用户浏览器得到的 HTML 是完全一样。每个URL都有一个独特的文件编号

7、对复制内容的检测

蜘蛛在爬行抓取文件的时候也会对其进行一定程度的复制内容检测!遇到权重低,而大量抄袭复制内容的网站,蜘蛛很可能就不再继续爬行了。这也就是为什么有的站长在日志文件中发现了蜘蛛,但页面从来没有被真正收录过的原因。

【第二阶段】预处理: 索引程序对抓取来的网页数据进行文字提取,中文分词,索引等处理,以备排名程序调用。

由于搜索引擎数据库中的数据实在是太多了,当用户在搜索框中输入关键词后不可能一下就返回排名结果,但是往往我们感觉很快,其实起到关键作用的就是预处理这个过程,和爬行抓取过程一样他也是在后台提前完成的。有些人认为预处理就是索引,其实不是这样的,索引只是预处理的一个主要步骤,那么什么是索引呢?索引是对数据库列表中的一列或者多列的值进行排序的一种结构。在索引之前要做五个工作:

1、提取文字

搜索引擎首先要做的就是从HTML文件中去除HTML格式标签,javascript程序,提取出可以用于排名处理的网站页面文字内容。搜索引擎除了提取出可见的文字外,还可以提出以下不可见的文字内容,比如:meta标签中的文字内容,图片替代文字,Flash文件的替代文字,链接锚文字等

2、中文分词

中文句子里,字和字没有之间没有分隔符,一个句子中的词都是连在一起的。所以,这时候搜索引擎就必须先分辨一下哪几个字组成一个词,哪几个字本身就是一个词。比如:"波司登羽绒服" 就将其分为 "波司登" 和 "羽绒服" 两个词。中文分词一般有两种方法:

词典匹配:将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中己有的词条则匹配成功,或者说切分出一个单词。
根据搜索统计:基于统计的分词方法指的是分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。基于统计的方法的优势是对新出现的词反应更快速,也有利于消除歧义。
基于词典匹配和基于统计的分词方法各有优劣,实际使用中的分词系统都是混合使用
两种方法的,快速高效,又能识别生词、新词,消除歧义。)

3、去停止词

什么是停止词?页面内容中一些出现频率很高,却对内容没有任何影响的词。比如:"的","地","得" 之类的助词;"啊" ,"哈", "呀" 之类的感叹词;"从而", "以" ,"却"之类的介词。英文常见的停止词,如"the"、"of" 。这些词被称为停止词,因为它们对页面主要意思没什么影响。搜索引擎去停止词主要有两个目的:

一是使索引数据主题更为突出,减少无谓的计算量
二是检测你的内容是否和另外数据库中的内容有大量的重复性
 4、去除噪声

这里的噪声不是我们所说的噪声,它是特指一种垃圾,即多余的字词!这些字词一般包含在版权声明文字,导航条,广告中。搜索引擎需要识别并消除这些噪声,排名时不使用噪声内容。消噪的基本方法是根据HTML标签对页面分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声,对页面主题只能起到分散作用。对页面进行消噪后,剩下的才是页面主体内容。

5、去重(chong)

同一篇文章经常会重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一篇文章,用户体验就太差了,虽然都是内容相关的。搜索引擎希望只返回相同文章中的一篇, 所以在进行索引前还需要识别和删除重复内容,这个过程就称为"去重"

经过上面的五个步骤后,搜索引擎就能得到独特的,能反映页面主要内容的,以词为单位的内容。然后搜索引擎程序将上边提取到的关键词通过分词程序来划分好,把每一个网站页面都转化为一个关键词组成的集合,同时记录下每一个关键词在该页面上出现的频率、次数、格式(比如:标题标签、黑体、H标签、锚文本等)位置(第几段),这些都已权重的形式记录在下来,然后放到一个地方,这个地方就是专门放置这些组合词的词表结构——索引库,也叫做 "词表索引形式"

6、正向索引

页面转换为一个关键词组成的集合,同时记录每一个关键词在页面.上的出现频率、出
现次数、格式(如出现在标题标签、黑体、H标签、锚文字等)、位置(如页面第一段
文字等)。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频
、格式、位置等权重信息也都记录在案。每一个文件夹都对应一个ID,文件内容被表示为一串关键词的集合。在搜索引擎的索引库中,这时候关键词已经别转化成了关键词ID,这样的数据结构叫正向索引

7、倒排索引

因为正向索引不能直接用于排名,比如:用户搜索某一关键词2,如果只从在正向索引,只能找到包含该关键词的文件夹,不能实际的返回排名。这时候就会用到倒排索引了。在倒排索引中关键词变成了主键,每个关键词对应一系列文件,每一个文件都出现了要搜索的关键词,这样用户在搜索某一个关键词的的时候,排序程序就能在倒排列表中找到这个关键词对应的文件

8、特殊文件的处理

除了HTML文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如
PDF、Word、 WPS、XLS、PPT、TXT文件等。我们在搜索结果中也经常会看到这些
文件类型。但目前的搜索引擎还不能处理图片、视频、Flash这类非文字内容,也不能
执行脚本和程序。虽然搜索引擎在识别图片及从Flash中提取文字内容方面有些进步,不过距离直接靠读取图片、视频、Flash内 容返回结果的目标还很远。对图片、视频内容的排名还往往是依据与之相关的文字内容。所以在SEO的时候,你网站上面尽量少用这些

9、链接关系的计算

当搜索引擎抓取了页面后,还必须事先计算出页面上有哪些链接指向哪些页面。每个页面又有哪些导入链接,链接使用的什么锚文字,正是这些复杂的链接指向关系形式形成了网站和页面的链接权重。

【第三阶段】排名: 用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。

1、搜索词处理

中文分词:与页面索引时一样,搜索词也必须进行中文分词,将查询字符串转换为以词为基础的关键词组合。分词原理与页面分词相同。
去停止词:和索引时一样,搜索引擎也需要把搜索词中的停止词去掉,最大限度地提高排名相关性及效率。
指令处理:如加号、减号等,搜索引擎都需要做出识别和相应处理
拼写错误矫正:如果用户输入了明显错的字或者英文单词的时候,搜索引擎会提示用户正确的用字或者拼法
整合搜索触发:比如搜索明星,会出现图片,视频等内容,适合做热门话题
 
2、文件匹配

倒排索引快速匹配文件,假设用户搜索 "关键词2关键词7" ,排名程序只要在倒排索引中找到 "关键词2" 和 "关键词7" 这两个词,就能找到分别含有这两个词的所有页面。经过简单计算就能找出既包含 "关键词2",也包含 "关键词7" 的所有页面:文件1和文件6

3、初始子集选择

互联网上的页面有成千上万个,搜索某一关键词出来的页面也会有上千万个,如果搜索引擎一上来就是直接计算页面相关性的话,那简直就是太费时间了。实际上用户是不需要看到这成千上万的页面的,用户只需要的是一两个有用的页面。这时候搜索引擎就会根据用户的搜索词预定的选择100个文件,然后进行返回,那么到底是选择哪一百个呢?这就看你网站页面和用户搜索的关键词的相关匹配度了。页面权重高的就会进入到搜索引擎的预选子集中

4、相关性计算

选出初始子集后,对子集中的页面计算关键词相关性。影响相关性的主要因素包括以下几方面:

关键词常用程度:越常用的词对搜索词的意义贡献越小,越不常用的词对意义贡献越大。假设用户输入的搜索词是"我们DKI"。"我们" 这个词常用程度非常高,在很多页面上会出现,它对"我们DKI"这个搜索词的辨识程度和意义相关度贡献就很小。那些包含"DKI"这个词的页面,对"我们DKI"这个搜索词会更为相关
词频及密度:一般认为在没有关键词堆积的情况下,搜索词在页面中出现的次数多,密度比较高,说明页面与搜索词越相关
关键词位置及形式:像在索引部分中提到的,页面关键词出现的格式和位置都被记录在索引库中。关键词出现在比较重要位置,如标题标签、黑体、H1等,说明页面与关键词越相关。这一部分就是页面SEO所要解决的
关键词距离:切分后的关键词完整匹配出现,说明与搜索词最相关。比如搜索"减肥方法"时,页面上连续完整出现"减肥方法"四个字是最相关的。如果"减肥"和"方法"两个词没有连续匹配出现,出现的距离近一些,也被搜索引擎认为相关性稍微大一些。
链接分析及页面权重:除了页面本身的因素,页面之间的链接和权重关系也影响关键词的相关性,其中最重要的是锚文字。页面有越多以搜索词为锚文字的导入链接,说明页面的相关性越强。链接分析还包括了链接源页面本身的主题,锚文字周围的文字等。
5、排名过滤及调整

计算相关性后,大体排名就已经确定了。之后搜索引擎可能还有一些过滤算法,对排名进行轻微调整,其中最主要的过滤就是施加惩罚。一些有作弊嫌疑的页面,虽然按照正常的权重和相关性计算排到前面,但搜索引擎的惩罚算法却可能在最后一 步把这些页面调到后面去。典型的例子是百度的11位,Google的负6、负30、 负950等算法。

6、排名显示

所有排名确定后,排名程序调用原始页面的标题标签、描述标签、快照日期等数据显示在页面上。有时搜索引擎需要动态生成页面摘要,而不是调用页面本身的描述标签。

7、搜索缓存

如果每次搜索都重新处理排名可以说是很大的浪费。搜索引擎会把最常见的搜索词存入缓存,用户搜索时直接从缓存中调用,而不必经过文件匹配和相关性计算,大大提高了排名效率,缩短了搜索反应时间

8、查询及点击日志

搜索用户的IP地址、搜索的关键词、搜索时间,以及点击了哪些结果页面,搜索引擎都记录形成日志。这些日志文件中的数据对搜索引擎判断搜索结果质量、调整搜索算法、预期搜索趋势等都有重要意义。

四、前端SEO规范概况
1、合理的title、description、 keywords,搜索对着三项的权重逐个减小,title值强调重点即可。description把页面内容高度概括,不可过分堆砌关键词,keywords列举出重要关键词。

2、语义化的HTML标签

3、非装饰性的图片必须加alt

4、让重要的内容放在HTML最前面,优先加载,搜索引擎抓取HTML顺序是从上到下,保证重要内容一定被抓取

5、每个页面只出现一个h1标签

6、页面尽量不要做成flash、图片、视频,因为搜索引擎抓取不到

7、少用iframe,iframe抓取不到

8、页面尽量扁平,层级太深也不利于抓取

9、异步加载内容(ajax) 搜索引擎也无法抓取,重要信息选择直接输出,有利于用户体验和seo优化

10、采用友情链接,在别人的网站导入自己网站的链接

11、向各大搜索引擎登陆入口提交尚未收录站点

12、提高网站速度,网站速度是搜索引擎排序的一个重要指标

13、做好404页面,不仅是为了提高蜘蛛体验,也是为了用户体验的更好

五、前端SEO规范详细介绍
【1】网站结构布局优化

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

控制首页链接数量:网站首页是权重最高的地方,如果首页链接太少,没有"桥”,”蜘蛛”不能继续往下爬到内页,直接影响网站收录数量。但是首页链接也不能太多,一旦太多,没有实质性的链接,很容易影响用户体验,也会降低网站首页的权重,收录效果也不好。
扁平化的目录层次:尽量让 "蜘蛛" 只要跳转3次,就能到达网站内的任何一个内页。
导航优化:导航应该尽采用文字方式,也可以搭配图片导航,但是图片代码一定要进行优化,<img>标签必须添加alt 和 title属性,告诉搜索引擎导航的定位,做到即使图片未能正常显示时,用户也能看到提示文字。其次,在每一个网页上应该加上面包屑导航,从用户体验方面来说,可以让用户了解当前所处的位置以及当前页面在整个网站中的位置,帮助用户很快了解网站组织形式,从而形成更好的位置感,同时提供了返回各个页面的接口,方便用户操作。对"蜘蛛”而言,能够清楚的了解网站结构,同时还增加了大量的内部链接,方便抓取,降低跳出率。
网站的结构布局:页面头部:logo及主导航,以及用户的信息。页面主体:左边正文,包括面包屑导航及正文。右边放热门文章及相关文章,留住访客,让访客多停留。对“蜘蛛”而言,这些文章属于相关链接,增强了页面相关性,也能增强页面的权重。页面底部版权信息和友情链接。
把重要内容HTML代码放在最前:搜索引擎抓取HTML内容是从上到下,利用这一特点,可以让主要代码优先读取,广告等不重要代码放在下边。例如,在左栏和右栏的代码不变的情况下,只需改一下样式,利用float:left;和float:right;就可以随意让两栏在展现上位置互换,这样就可以保证重要代码在最前,让爬虫最先抓取。同样也适用于多栏的情况。
控制页面的大小,减少http请求,提高网站的加载速度:一个页面最好不要超过100k,太大,页面加载速度慢。当速度很慢时,用户体验不好,留不住访客,并且一旦超时,"蜘蛛” 也会离开。
【2】网页代码优化

突出重要内容:合理的设计title 、description 和keywords。<title>标题只强调重点即可,尽量把重要的关键词放在前面,关键词不要重复出现,尽量做到每个页面的<title> 标题中不要设置相同的内容。<meta keywords>关键词,列举出几个页面的重要关键字即可,切记过分堆砌。<meta description>网页描述,需要高度概括网页内容,切记不能太长,过分堆砌关键词,每个页面也要有所不同。
语义化书写HTML代码:尽量让代码语义化,在适当的位置使用适当的标签,用正确的标签做正确的事。让阅读源码者和"蜘蛛”都一目了然。比如: h1-h6是用于标题类的, <nav> 标签是用来设置页面主导航,列表形式的代码使用ul或ol, 重要的文字使用strong等。
<a>标签:页内链接,要加title 属性加以说明,让访客和"蜘蛛"知道。而外部链接,链接到其他网站的,则需要加上el="nofollow属性,告诉"蜘蛛” 不要爬,因为一旦”蜘蛛”爬了外部链接之后,就不会再回来了。
正文标题:<h1>标签: h1标签自带权重,"蜘蛛” 认为它最重要,一个页面有且最多只能有一个H1标签, 放在该页面最重要的标题上面,如首页的logo上可以加H1标签。副标题用<h2>标签,而其它地方不应该随便乱用h标题标签。
<img>应使用"alt"属性加以说明:当网络速度很慢,或者图片地址失效的时候,就可以体现出alt属性的作用,他可以让用户在图片没有显示的时候知道这个图片的作用。同时为图片设置高度和宽度,可提高页面的加载速度。
表格应该使用<caption> 表格标题标签:caption元素定义表格标题。caption 标签必须紧随table标签之后
<strong> 、<em> 标签:<strong>标签在搜索引擎中能够得到高度的重视,它能突出关键词,表现重要的内容,<em> 标签强调效果仅次于<strong> 标签,<b>、<i> 标签只是用于 显示效果时使用,在SEO中不会起任何效果。
重要内容不要用JS输出:因为"蜘蛛”不会读取JS里的内容,所以重要内容必须放在HTML里。前端框架针对SEO的缺陷,可通过服务端渲染弥补
尽量少使用iframe框架:因为"蜘蛛”一般不会读取其中的内容。
搜索引擎会过滤掉display:none其中的内容
蜘蛛只能抓取a标签中href:<a href= "Default.aspx?id=1">测试</a> 最好后面不要带参数,<a href= "Default.aspx" >测试</a>如果带上参数蜘蛛不会考虑的。这样的话,就需要用到URL重写了。
蜘蛛不会执行JavaScript:换句话说如果在a标签中使用了onclick蜘蛛是不会抓到的。
蜘蛛只能抓到get请求的页面,不会抓到post请求的页面
创建robots文件:我们希望网页的前台页面全部被蜘蛛抓到,但是不希望后台页面被蜘蛛抓到,蜘蛛可没有那么智能,知道你的网站哪个是前台页面,哪个后台页面。这里就需要创建一个名为"robots.txt" (注意robots.txt是一个协议,不是命令,一般最好要遵守的robots.txt是搜索引擎搜索该网站时的第一个文件。

定义

网站地图,又称站点地图,它就是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接(注:不是所有页面)。大多数人在网站上找不到自己所需要的信息时,可能会将网站地图作为一种补救措施。搜索引擎蜘蛛非常喜欢网站地图。

功能

网站地图是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎蜘蛛抓取网站页面,通过抓取网站页面,清晰了解网站的架构,网站地图一般存放在根目录下并命名为sitemap,为搜索引擎蜘蛛指路,增加网站重要内容页面的收录。网站地图就是根据网站的结构、框架、内容,生成的导航网页文件。大多数人都知道网站地图对于提高用户体验有好处:它们为网站访问者指明方向,并帮助迷失的访问者找到他们想看的页面。对于SEO,网站地图的好处就更多了:

1.为搜索引擎蜘蛛提供可以浏览整个网站的链接简单的体现出网站的整体框架出来给搜索引擎看;

2.为搜索引擎蜘蛛提供一些链接,指向动态页面或者采用其他方法比较难以到达的页面;

3.作为一种潜在的着陆页面,可以为搜索流量进行优化:如果访问者试图访问网站所在域内并不存在的URL,那么这个访问者就会被转到“无法找到文件”的错误页面,而网站地图可以作为该页面的“准”内容。

构建技巧

网站地图的作用非常重要,它不仅要满足访问用户的需求,还要取悦搜索引擎蜘蛛。在设计上也有一些技巧来让用户和蜘蛛都获得满意:

1.网站地图要包含最重要的一些页面

如果网站地图包含太多链接,人们浏览的时候就会迷失。因此如果网站页面总数超过了100个的话,就需要挑选出最重要的页面。建议挑选下面这些页面放到网站地图中去:

1)产品分类页面。

2)主要产品页面。

3)FAQ和帮助页面。

4)位于转化路径上的所有关键页面,访问者将从着陆页面出发,然后沿着这些页面实现转化。

5)访问量最大的前10个页面。

6)如果有站内搜索引擎的话,就挑选出从该搜索引擎出发点击次数最高的那些页面。

2.网站地图布局一定要简洁,所有的链接都是标准的HTML文本,并且要尽可能多的包含关键字。

不要使用图片来做网站地图里的链接,这样蜘蛛就不能跟随了。一定要使用标准的HTML文本来做链接,链接中要包括尽可能多的目标关键字。比如:可以使用“无公害除草剂、杀虫剂和杀菌剂”来代替“我们的产品”为标题。

3. 尽量在站点地图上增加文本说明

增加文本会给蜘蛛提供更加有索引价值的内容,以及有关内容的更多线索。

4. 在每个页面里面放置网站地图的链接

用户一般会期望每个页面的底部都有一个指向网站地图的链接,你可以充分利用人们的这一习惯。如果网站有一个搜索栏的话,那么可以在这个搜索栏的附近增加一个指向网站地图的链接,甚至可以在搜索结果页面的某个固定位置放置网站地图的链接。

5. 确保网站地图里的每一个链接都是正确、有效的

如果在网站地图里出现的链接是断链和死链,对搜索引擎的影响是非常不好的。如果链接比较少,你可以把所有的链接都点一遍,以确保每一个链接是有效的。如果链接比较多,可以使用一些链接检查工具来检测。

6. 可以把sitemap写进robots.txt里

在引擎爬虫进来抓取网页的时候,会首先查看robots.txt、如果首先把sitemap写进robots.txt里那么在效率上会大大提高,从而获得搜索引擎的好感。

生成提交

网上有很多sitemap地图生成的方法,比如在线生成、软件生成等,sitemap地图可以提交给各大搜索引擎,从而使搜索引擎更好的对网站页面进行收录,我们也可以通过robots.txt来告诉搜索引擎地图的位置。将制作好的网站地图上传至网站根目录下,最关键是把网站地图链接地址加入在robots文件中以及做好网站地图在页面方便蜘蛛抓取的位置,一般把网站地图放在页眉和页脚位置。

1.普通Html格式的网站地图

它的目的是帮助用户对站点的整体有个把握。Html格式的网站地图根据网站结构特征制定,尽量把网站的功能结构和服务内容富有条理地列出来。一般来说,网站首页有一个链接指向该格式的网站地图。

2.XML Sitemap 通常称为Sitemap(首字母大写 S)

简单来讲,Sitemap 就是网站上链接的列表。制作Sitemap,并提交给搜索引擎可以使网站的内容完全被收录,包括那些隐藏比较深的页面。这是一种网站与搜索引擎对话的好方式

3.搜索引擎识别的地图

因为每个搜索引擎主要识别地图格式效果不同,建议分别采用以下格式:

百度:建议使用Html格式的网站地图

Google:建议使用Xml格式的网站地图

Yahoo:建议使用Txt格式的网站地图

重要性

1、搜索引擎每天都是让蜘蛛在互联网爬行来抓取页面,网站地图的作用就是给蜘蛛爬行构造了一个方便快捷的通道,因为网站页面是一层一层的链接的,其中可能会存在死链接的情况,如果没有网站地图,蜘蛛爬行在某个页面就因死链接爬行不了,那么就不能收录那些断链接的页面,更别说快速的收录了!

2、网站地图的存在不仅是满足搜索引擎蜘蛛的查看,更多是方便网站访客来浏览网站,特别是例如门户型网站由于信息量太多很多访客都是通过网站地图来寻找到自己需要的信息页面,这也能很好的提高用户体验度

3、网站地图可以提高链接页面的权重,因为网站地图是指向其他页面的链接,此时网站地图就给页面增加了导入链接,大家知道导入链接的增加会影响到页面的权重,从而提高页面的权重,页面权重的提高同时会提高页面的收录率。

注意要点

真实有效

地图的主要目的是方便搜索引擎蜘蛛抓取的,如果地图存在死链或坏链,会影响网站在搜索引擎中网站权重的,所以要仔细检查有无错误的链接地址,提交前通过站长工具,检查网站的链接是否有效。

简化

网站地图不要出现重复的链接,要采用标准W3C格式的地图文件,布局要简洁,清晰,如果地图是内容式地图,每页不要超过100内容个链接,采用分页的形式,逐一开来,这样方便搜索引擎蜘蛛逐页爬行。

更新

建议经常更新网站地图,便于培养搜索引擎蜘蛛爬行的频率。经常有新的地图内容生成,长期以来,蜘蛛就会更关注,培养蜘蛛的爬行规则。这样网站内容能更快的被搜索引擎抓取收录,网站内容也可以早日被搜索引擎检索。

多样性

网站地图不仅仅是给搜索引擎来看的,而SEO的根本目的也是方便浏览者,所以网站地图最好兼顾搜索引擎的同时也要兼顾浏览者。我们通常为一个网站建3个网站地图。sitemap.html 页面精美,简洁大方,让浏览者方便找到目标页面的同时也心情愉悦。.XML 认真研究自己的网站,把重要的页面标注出来,把不需要纳入的页面 加上NO FOLLOW 这样更有利于搜索引擎辨别。URLLIST.TXT 或者ROBOTS.TXT 如果方便最好做一下,yahoo等搜索引擎比较认可,谷歌也有这个项目。
另外在robots文本里要写好网站地图位置即格式。

分类

网站地图分为html地图和xml地图。

1、html网站地图是百度搜索引擎喜欢的网站地图,也是其他搜索引擎都喜欢的网站地图。

2、xml网站地图是谷歌喜欢的网站地图。

使用方法

第一步:添加网站,验证网站归属,等待审核

登录后点击“添加网站”。若网站删除或更换域名,则需重新提交。

点击“验证此网站”,选择验证方式并获取验证文件,完成验证。

验证方式一:文件验证

验证方式二:HTML标签验证

等待管理员审核。主要审核网站属性、网站内容质量等。审核最长可能需要一天时间。

第二步:通过点击“数据管理”,添加新数据

如何添加新数据

选择数据的类型,根据类型对应的xml格式规范部署您的数据文件。

为您的数据指定更新周期。

按照xml格式规范部署好文件后,在地址栏填写文件存放地址,点击提交即可。

我们对文件的处理时间长短将视文件大小而定。

如何手动更新已提交的数据 ·如果您想在指定更新周期以外,手动通知我们数据有更新,可以在“数据管理”页面选中要手动更新的文件并点击“更新所选”即可。

如果数据存在错误或不符合协议格式,则状态栏会显示为错误,请参考平台提示修改并更新。

您可通过平台查看数据的统计信息,包括已抓取数量,最新处理时间等。

注:百度对已提交的数据,不保证一定会抓取及索引所有网址,并且不保证其排名。

生成工具

1、Xenu Link Sleuth

可同时生成html格式地图(适用于小型站点)和XML格式地图。

2、XML Sitemap

在线生成工具,网站地址很多时,会比较浪费时间,想生成所有,则需要收费。

3、Sitemap Generator

强大的sitemap生成器,需下载安装客户端。

创建流程

1、在网站地图的文本和超级链接里提及最主要的关键词短语,帮助搜索引擎来识别,所链接的页面主题是什么。
  2、为每一个链接提供一个简短的介绍,以提示访问者这部分内容是关于哪方面的。
  3、提供文本链接到你站点上最主要的页面上;根据您的网站大小,网页数目的多少,它甚至可以链接到您所有的页面。
  4、为搜索引擎提供一条绿色通道,使搜索引擎程序把您的主要网页迅速收录进去。
  5、当用户查寻在您网站上原来看过的相关信息时,告诉他们如何去查询。只要在这一个网页内就可以得到所有希望查找的内容链接。
  6、帮助搜索引擎轻松索引一些动态页面。由于一些页面将是动态产生,如果不是用户行为调用,将不会显示出来,您可以将此链接放在您的网站地图上,以帮助搜索引擎来索引您重要的动态页面。
  7、建立网站地图后,当访问者访问网站时,可以轻松找到他们所需要的内容;当搜索引擎蜘蛛爬行网站时,可以快速访问整个站点。为了使图吸引网络蜘蛛与访问者,一定要在链接后写上一定的描述性的短句和与此链接相关的关键词,切记不要使用过多的关健词。当访问者感觉到地图好用时,搜索引擎也同样能正确地理解地图的意义。不管网站的大小,页面的多少,给网站添加一个网站地图,这是非常必要的。

(一)针对网站程序,不考虑服务器。

  一、查找注入,注意数据库用户权限和站库是否同服。

  二、查找XSS,最近盲打很流行,不管怎样我们的目的是进入后台。

  三、查找上传,一些能上传的页面,比如申请友链、会员头像、和一些敏感页面等等,注意查看验证方式是否能绕过,注意结合服务器的解析特性,比如典型的IIS6.0、阿帕奇等。

  四、查找编辑器,比较典型的ewebeditor、fckeditor等等。

  五、查找phpmyadmin等管理程序,可以尝试弱口令,或者寻找其漏洞。

  六、百度、谷歌搜索程序公开漏洞。

  七、猜解文件,如知道某文件为admin_login.php,我们可尝试admin_add.php、admin_upload.php文件是否存在,也可以谷歌搜索site:cnseay.com inurl:edit等等,很多时候可以找到一些敏感文件,接着看是否验证权限或能否绕过验证,这像冰风说高级语法。

  八、会员注册、修改、删除、评论等一切需要操作数据库的地方记得加单引号之类查看是否存在insert、update等类型注入。

  九、会员或低权限管理登陆后可抓包分析,尝试修改超级管理员密码,权限提升。

  十、通常有下载功能的站我们可以尝试修改下URL文件名,看能否下载站点敏感文件,如数据库配置文件等,数据库不可外连情况下可以尝试数据库密码登陆后台,也可下载上传、登陆验证等文件进行代码审计。

  十一、备份文件和后门,某些主站子目录存在分站,比如www.cnseay.com/seay/,我们可以尝试www.cnseay.com/seay.rar/zip等压缩文件是否存在,可能就是子站的源码。也有一些站类似这样www.cnseay.com/old/,一般都是以前的老站,通常老站会比较容易拿。还有就是数据库备份、前人的后门等,具体这些目录上的东西就要看你的字典了。

  十二、0day漏洞,不管是别人给你的,还是自己挖的,总之好使就行。

(二)针对服务器

  一、通常先扫下服务器开放的端口,再考虑对策。

  二、比较常见的解析漏洞,比如IIS6.0、阿帕奇、nginx/IIS7.0(php-fpm)解析漏洞等,还有就是cer、asa之类的解析,.htaccess文件解析配置等。

  三、弱口令和everyone权限,先扫描服务器开放的端口,比如21对应的FTP、1433对应的MSSQL、3306对应的MYSQL、3389对应的远程桌面、1521对应的Oracle等等,平时可以多搜集下字典,有时候效果也是不错的(通常在cain嗅探的时候,经常能嗅到别人不停的扫…很蛋疼)。 
 

  四、溢出,这点要看系统补丁和服务器使用的软件等等,比如FTP等工具,这里不详解。

  五、针对一些服务器管理程序,比如tomcat、jboss等等,这种比较常见于大中型的站点服务器。

  六、IIS、apache等各种漏洞,这个要平时多关注。

  七、目录浏览,服务器配置不当,可直接浏览目录。

  八、共享…

(三)针对人,社工

  社工在渗透中通常能起到惊人的效果,主要还是利用人的弱点,博大精深,这里不详细讨论,注意平时多看一些社工文章,学习一些思路、技巧。

(四)迂回战术,旁注和C段

  一、旁注,针对旁站,我们可以运用到上面说到的方法,这里不多说。

  二、C段,基本想到C段就会想到cain,针对C段的站点和服务器,结合上面说的针对目标站、服务器、人、旁站的思路,一个道理,当然如果你的目的仅仅是黑站的话,不妨试试NetFuke之类。

(五)提权常用手段

  一、使用系统溢出提权EXP,这类在提权中最常用,使用的方法大都一致,比如比较常见的巴西烤肉、pr等等,溢出提权通常在Linux上也利用的比较多,注意多收集EXP。

  二、第三方软件提权,主要还是利用服务器上安装的第三方软件拥有比较高的权限,或者软件的溢出漏洞,比如典型的mssql、mysql、serv-u等等,还有各种远程控制软件,比pcanywhere、Radmin这类。

  三、劫持提权,说到这个,想必肯定会想到lpk.dll这类工具,有时候在蛋疼怎么都加不上账户的时候,可以试试劫持shift、添加开机启动等等思路。

  四、弱口令技巧,我们可以看看有木有什么hack、或者隐藏账户之类的,一般这种用户密码都比较简单,可以尝试下弱口令,还有之前说过的各种数据库、远程控制软件、FTP软件的弱口令,没办法的时候就去扫扫碰碰运气吧。

  五、信息收集,注意翻下硬盘各种文档,说不定各种密码就在里面。在内网渗透时,信息收集是非常重要的,记得拿下服务器了GET一下明文密码,德国那个mimikatz不错,还有就是域、ARP。。。貌似扯多跑题了。

六、社工…不多说。

  暂时总结到这里,渗透博大精深,不是这么几段字就能说清楚的,具体还是要看具体情形,随机应变。一定要养成在渗透过程中信息收集的好习惯,特别是针对大中型站点,注意收集子站域名、目录、密码等等敏感信息,这对于我们后面的渗透非常有用,内网经常弱口令,同密码比较多。很多时候,或许一个主站就死在子站的一个小漏

————————————————
版权声明:本文为CSDN博主「@Demi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38128179/article/details/111641828

seo 优化 以及网站地图 很透彻相关推荐

  1. 重庆SEO优化:网站通过SEO优化会有哪些好处以及【SEO优化】 深度了解蜘蛛spider抓取原理-专业SEO技术教程

    网站通过SEO优化会有哪些好处       SEO优化自产生以来,受到了众多网络推广人员的的欢迎.其实通过SEO进行优化是有很大的好处的.虽然不是很全面但是还是可以提供一定的帮助.接下来就为大家网络就 ...

  2. SEO优化:网站优化的五大步骤

    我们在做SEO优化的过程中,不能毫无头绪得去做,不然取得的效果很差,做任何事情,都要有一个好的策划,完整的方案才能做的更好.今天搜客大伟讲讲做网站优化的五大步骤: 1.关键词分析 这是进行SEO优化最 ...

  3. seo优化时网站_选择关键词的方法

    网站优化中关键词的选择和布局很关键,直接影响网站的流量.选好关键词是第一步,接下来怎么布局也很重要,今天小编带大家分享一些技巧. 1.根据内容选择关键词 在选择关键词之前,我们应该首先确定网站的内容并 ...

  4. 做过SEO优化的网站与普通站的区别在哪里

    一个网站有没有进行过搜索引擎优化,打开网站一看便知.例如,通过看网站首页.网站的导航.图片的alt标签描写等内容,可以发现两者之间的区别.与没有进行优化的普通网站相比,做过SEO优化的网站的优越性主要 ...

  5. 【杭州SEO优化】网站建设细节分析!

    [杭州SEO优化]网站建设细节分析!企业网站的建设一直都是麻烦事,新颖精致的网站风格,很容易在短时间内吸引顾客的注意力.如果客户的眼睛被锁定,他们将继续浏览网站,从而为企业创造了许多可能性.但是有这么 ...

  6. 自动seo网站源码_做了利于SEO优化的网站建设,企业的网站就能自动排名靠前?...

    这些年,eGoBest发现很多人做网站建设有个错误的观点,尤其是做了营销型品牌网站的企业,都以为只要做一个利于SEO优化好的网站,,Google和百度等搜索引擎就能自动排名靠前,这都是错误的观点,下面 ...

  7. 怎么做好网站seo优化,网站外链平台有哪些

    外链发布对于一个新站来说,还是比较重要的,因为如果外链增加不仅可以给网站投票,还能为网站引流.那么可以发布外链的网站有哪些? 1.百度贴吧. 这是百度自有平台,外链还是挺重要的,尤其到百度站长平台,把 ...

  8. 通过SEO优化提升网站排名

    在竞争激烈的互联网营销中,谁能优先获得人流量,并使之变现,就有可能在众多网站中脱颖而出,获得较好发展.所以,很多企业都会在网站营销的过程中通过SEO优化来提高排名.因为,网站SEO优化带来的不单单只是 ...

  9. 玉米社:seo优化推广 网站收录一直不太好什么原因?

    网站做了好几个月,内容一直不收录? 内容收录速度参差不齐,有的当天收录,有的几天后才收录? 文章开始有收录,怎么突然不收录了? seo优化推广 网站收录一直不太好什么原因? 1.内容重复 (1)模板重 ...

最新文章

  1. 别再SOTA了,那叫“微调”!Science发文炮轰论文灌水
  2. 怎么将文件转换成linux文件,Linux将DOS文件格式转换成UNIX文件格式的方法
  3. Python零基础学习代码实践 —— 提取字符串里面的单词数
  4. ubuntu下使用filezilla上传文件权限问题(open for write: permission denied)
  5. element vue 获取select 的label_Vue动态组件component的深度使用
  6. Visual Studio Code 开发 .NET Core 看这篇就够了
  7. browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...
  8. Codeforces Round #250 (Div. 2)—A. The Child and Homework
  9. 关于领域驱动设计与面向数据库设计
  10. 鸿蒙2.0手机交互体验,鸿蒙 2.0手机应用开发者Beta,来了!全新交互体验
  11. 安装MongoDB时弹窗错误,使用时无法启动服务器
  12. Systrace抓取
  13. Proteus8.15(集电路仿真、PCB设计件和虚拟模型仿真于一体)工具的安装使用
  14. EDraw 亿图图示设计软件 一款好用的绘制网络拓扑图的软件
  15. c语言程序课程设计题目
  16. 终于!疫情之下,第一批企业没能熬住面临倒闭,员工被遣散,没能等来春暖花开!...
  17. Web前端第一季(HTML):三:课时 7 : 106-设置文档类型和网页编码+课时 8 : 107-段落标签和标题标签+课时 9 : 108-标签的属性和段落的对齐属性
  18. php nodejs 慢多少,node.js,_nodejs前端频繁post 导致很卡的问题,node.js - phpStudy
  19. SpringCloud学习Day1
  20. 你知道界面编程吗?一文带你了解界面编程【Java养成】

热门文章

  1. dedecms教程:织梦dedecm模板中sql语句调用文章链接静态化
  2. maplesim matlab,MapleSim-Simulink 接口工具箱是什么?
  3. 算法总结与归纳ForLiXinBo
  4. 缘分天空之我的机器学习--(二)Tensorflow实例:利用LSTM预测股票每日最高价
  5. 信号与系统(考研/保研面试用)
  6. 高熵合金FeNiCrCoCu建模及拉伸模拟代码
  7. ESPCN论文阅读笔记
  8. 量化机器人api接口
  9. MySQL重要知识点
  10. 逻辑回归(LR实则分类)的损失函数