网页中内容区的属性有哪些呢?

本章主要内容分为四个章节,分别为:抓取建库;检索排序;外部投票;结果展现。

互联网信息爆发式增长,如何有效的获取并利用这些信息是搜索引擎工作中的首要环节,数据抓取系统作为整个搜索系统中的上游,主要负责互联网信息的搜集、保 存、更新环节,它像蜘蛛一样在网络间爬来爬去,因此通常会被叫做“spider”,例如我们常用的几家通用搜索引擎蜘蛛被称为:Baiduspdier、 Googlebot、Sogou Web Spider等。

1、Spider抓取系统的基本框架

Spider抓取系统是搜索引擎数据来源的重要保证,如果把web理解为一个有向图,那么,spider的工作过程可以认为是对这个有向图的遍历,从一些重要的种子URL开始,通过页面上的超链接关系,不断的发现新URL并抓取,尽最大可能抓取到更多的有价值网页。

对于类似百度这样的大型spider系统,因为每时每刻都存在网页被修改、删除或出现新的超链接的可能,因此,还要对spider过去抓取过的页面保持更新,维护一个URL库和页面库。

上图看似简单,但其实Baiduspider在抓取过程中面对的是一个超级复杂的网络环境,为了使系统可以抓取到尽可能多的有价值资源并保持系统及实际环境中页面的一致性同时不给网站体验造成压力,会设计多种复杂的抓取策略,以下马海祥博客也为大家做下简单的介绍:

互联网资源庞大的数量级,这就要求抓取系统尽可能的高效利用带宽,在有限的硬件和带宽资源下尽可能多的抓取到有价值资源,这就造成了另一个问题,耗费被抓 网站的带宽造成访问压力,如果程度过大将直接影响被抓网站的正常用户访问行为,因此,在抓取过程中就要进行一定的抓取压力控制,达到既不影响网站的正常用 户访问又能尽量多的抓取到有价值资源的目的。

通常情况下,最基本的是基于ip的压力控制,这是因为如果基于域名,可能存在一个域名对多个ip(很多大网站)或多个域名对应同一个ip(小网站共享ip)的问题。

实际中,往往根据ip及域名的多种条件进行压力调配控制,同时,站长平台也推出了压力反馈工具,站长可以人工调配对自己网站的抓取压力,这时百度spider将优先按照站长的要求进行抓取压力控制。

对同一个站点的抓取速度控制一般分为两类:其一,一段时间内的抓取频率;其二,一段时间内的抓取流量。

同一站点不同的时间抓取速度也会不同,例如夜深人静月黑风高时候抓取的可能就会快一些,也视具体站点类型而定,主要思想是错开正常用户访问高峰,不断的调整,在马海祥看来,对于不同站点,也需要不同的抓取速度。

(2)、常用抓取返回码示意

简单介绍几种百度支持的返回码:

①、最常见的404代表“NOT FOUND”,认为网页已经失效,通常将在库中删除,同时短期内如果spider再次发现这条url也不会抓取。

②、503代表“Service Unavailable”,认为网页临时不可访问,通常网站临时关闭,带宽有限等会产生这种情况,对于网页返回503状态码,百度spider不会把这条 url直接删除,同时短期内将会反复访问几次,如果网页已恢复,则正常抓取;如果继续返回503,那么这条url仍会被认为是失效链接,从库中删除。

③、403代表“Forbidden”,认为网页目前禁止访问。如果是新url,spider暂时不抓取,短期内同样会反复访问几次;如果是已收录 url,不会直接删除,短期内同样反复访问几次,如果网页正常访问,则正常抓取;如果仍然禁止访问,那么这条url也会被认为是失效链接,从库中删除。

④、301代表是“Moved Permanently”,认为网页重定向至新url,当遇到站点迁移、域名更换、站点改版的情况时,我们推荐使用301返回码,同时使用站长平台网站改版工具,以减少改版对网站流量造成的损失。

(3)、多种url重定向的识别

互联网中一部分网页因为各种各样的原因存在url重定向状态,为了对这部分资源正常抓取,就要求spider对url重定向进行识别判断,同时防止作弊行为。

重定向可分为三类:http 30x重定向、meta refresh重定向和js重定向,另外,百度也支持Canonical标签,在效果上可以认为也是一种间接的重定向。

(4)、抓取优先级调配

由于互联网资源规模的巨大以及迅速的变化,对于搜索引擎来说全部抓取到并合理的更新保持一致性几乎是不可能的事情,因此这就要求抓取系统设计一套合理的抓 取优先级调配策略,主要包括:深度优先遍历策略、宽度优先遍历策略、pr优先策略、反链策略、社会化分享指导策略等等,每个策略各有优劣,在实际情况中往 往是多种策略结合使用以达到最优的抓取效果。

(5)、重复url的过滤

spider在抓取过程中需要判断一个页面是否已经抓取过了,如果还没有抓取再进行抓取网页的行为并放在已抓取网址集合中,判断是否已经抓取其中涉及到最 核心的是快速查找并对比,同时涉及到url归一化识别,例如一个url中包含大量无效参数而实际是同一个页面,这将视为同一个url来对待。

(6)、暗网数据的获取

互联网中存在着大量的搜索引擎暂时无法抓取到的数据,被称为暗网数据,一方面,很多网站的大量数据是存在于网络数据库中,spider难以采用抓取网页的方式获得完整内容;另一方面,由于网络环境、网站本身不符合规范、孤岛等等问题,也会造成搜索引擎无法抓取。

目前来说,对于暗网数据的获取主要思路仍然是通过开放平台采用数据提交的方式来解决,例如“百度站长平台”“百度开放平台”等等。

spider在抓取过程中往往会遇到所谓抓取黑洞或者面临大量低质量页面的困扰,这就要求抓取系统中同样需要设计一套完善的抓取反作弊系统,例如分析url特征、分析页面大小及内容、分析站点规模对应抓取规模等等。

3、Baiduspider抓取过程中涉及的网络协议

刚才提到百度搜索引擎会设计复杂的抓取策略,其实搜索引擎与资源提供者之间存在相互依赖的关系,其中搜索引擎需要站长为其提供资源,否则搜索引擎就无法满足用户检索需求;而站长需要通过搜索引擎将自己的内容推广出去获取更多的受众。

spider抓取系统直接涉及互联网资源提供者的利益,为了使搜素引擎与站长能够达到双赢,在抓取过程中双方必须遵守一定的规范,以便于双方的数据处理及对接,这种过程中遵守的规范也就是日常中我们所说的一些网络协议,以下简单列举:

超文本传输协议,是互联网上应用最为广泛的一种网络协议,客户端和服务器端请求和应答的标准。

客户端一般情况是指终端用户,服务器端即指网站,终端用户通过浏览器、蜘蛛等向服务器指定端口发送http请求,发送http请求会返回对应的httpheader信息,可以看到包括是否成功、服务器类型、网页最近更新时间等内容。

实际是加密版http,一种更加安全的数据传输协议。

UA即user-agent,是http协议中的一个属性,代表了终端的身份,向服务器端表明我是谁来干嘛,进而服务器端可以根据不同的身份来做出不同的反馈结果。

robots.txt是搜索引擎访问一个网站时要访问的第一个文件,用以来确定哪些是被允许抓取的哪些是被禁止抓取的,robots.txt必须放在网站根目录下,且文件名要小写,百度严格按照robots协议执行,另外,同样支持网页内容中添加的名为robots的meta标签,index、follow、nofollow等指令。

Baiduspider根据上述网站设置的协议对站点页面进行抓取,但是不可能做到对所有站点一视同仁,会综合考虑站点实际情况确定一个抓取配额,每天定 量抓取站点内容,即我们常说的抓取频次,那么百度搜索引擎是根据什么指标来确定对一个网站的抓取频次的呢?主要指标有四个:

(1)、网站更新频率:更新快多来,更新慢少来,直接影响Baiduspider的来访频率。

(2)、网站更新质量:更新频率提高了,仅仅是吸引了Baiduspier的注意,Baiduspider对质量是有严格要求的,如果网站每天更新出的大量内容都被Baiduspider判定为低质页面,依然没有意义。

(3)、连通度:网站应该安全稳定、对Baiduspider保持畅通,经常给Baiduspider吃闭门羹可不是好事情。

(4)、站点评价:百度搜索引擎对每个站点都会有一个评价,且这个评价会根据站点情况不断变化,是百度搜索引擎对站点的一个基础打分(绝非外界所说的百度权重),是百度内部一个非常机密的数据,站点评级从不独立使用,会配合其它因子和阈值一起共同影响对网站的抓取和排序。

抓取频次间接决定着网站有多少页面有可能被建库收录,如此重要的数值如果不符合站长预期该如何调整呢?百度站长平台提供了抓取频次工具,该工具除了提供抓 取统计数据外,还提供“频次调整”功能,站长根据实际情况向百度站长平台提出希望Baiduspider增加来访或减少来访的请求,工具会根据站长的意愿 和实际情况进行调整。

有一些网页,内容优质,用户也可以正常访问,但是Baiduspider却无法正常访问并抓取,造成搜索结果覆盖率缺失,对百度搜索引擎对站点都是一种损失,百度把这种情况叫“抓取异常”。

对于大量内容无法正常抓取的网站,百度搜索引擎会认为网站存在用户体验上的缺陷,并降低对网站的评价,在抓取、索引、排序上都会受到一定程度的负面影响,最终影响到网站从百度获取的流量。

下面马海祥博客向站长们介绍一些常见的抓取异常原因:

(1)、服务器连接异常

服务器连接异常会有两种情况:一种是站点不稳定,Baiduspider尝试连接您网站的服务器时出现暂时无法连接的情况;一种是Baiduspider一直无法连接上您网站的服务器。

造成服务器连接异常的原因通常是您的网站服务器过大,超负荷运转,也有可能是您的网站运行不正常,请检查网站的web服务器(如apache、iis)是 否安装且正常运行,并使用浏览器检查主要页面能否正常访问,您的网站和主机还可能阻止了Baiduspider的访问,您需要检查网站和主机的防火墙。

(2)、网络运营商异常

网络运营商分电信和联通两种,Baiduspider通过电信或网通无法访问您的网站,如果出现这种情况,您需要与网络服务运营商进行联系,或者购买拥有双线服务的空间或者购买cdn服务。

当Baiduspider无法解析您网站的IP时,会出现DNS异常,可能是您的网站IP地址错误,或者域名服务商把Baiduspider封禁,请使用 WHOIS或者host查询自己网站IP地址是否正确且可解析,如果不正确或无法解析,请与域名注册商联系,更新您的IP地址。

IP封禁为:限制网络的出口IP地址,禁止该IP段的使用者进行内容访问,在这里特指封禁了BaiduspiderIP,当您的网站不希望 Baiduspider访问时,才需要该设置,如果您希望Baiduspider访问您的网站,请检查相关设置中是否误添加了 BaiduspiderIP,也有可能是您网站所在的空间服务商把百度IP进行了封禁,这时您需要联系服务商更改设置。

UA即为用户代理(User-Agent),服务器通过UA识别访问者的身份。当网站针对指定UA的访问,返回异常页面(如403,500)或跳转到其他 页面的情况,即为UA封禁,当您的网站不希望Baiduspider访问时,才需要该设置,如果您希望Baiduspider访问您的网 站,useragent相关的设置中是否有Baiduspider UA,并及时修改。

页面已经无效,无法对用户提供任何有价值信息的页面就是死链接,包括协议死链和内容死链两种形式:

①、协议死链:页面的TCP协议状态/HTTP协议状态明确表示的死链,常见的如404、403、503状态等。

②、内容死链:服务器返回状态是正常的,但内容已经变更为不存在、已删除或需要权限等与原内容无关的信息页面。

对于死链,马海祥建议站点使用协议死链,并通过百度站长平台--死链工具向百度提交,以便百度更快地发现死链,减少死链对用户以及搜索引擎造成的负面影响。

将网络请求重新指向其他位置即为跳转,异常跳转指的是以下几种情况:

①、当前该页面为无效页面(内容已删除、死链等),直接跳转到前一目录或者首页,百度建议站长将该无效页面的入口超链接删除掉。

②、跳转到出错或者无效页面。

注意:对于长时间跳转到其他域名的情况,如网站更换域名,百度建议使用301跳转协议进行设置。

①、针对百度refer的异常:网页针对来自百度的refer返回不同于正常内容的行为。

②、针对百度ua的异常:网页对百度UA返回不同于页面原内容的行为。

③、JS跳转异常:网页加载了百度无法识别的JS跳转代码,使得用户通过搜索结果进入页面后发生了跳转的情况。

④、压力过大引起的偶然封禁:百度会根据站点的规模、访问量等信息,自动设定一个合理的抓取压力,但是在异常情况下,如压力控制失常时,服务器会根据自身 负荷进行保护性的偶然封禁,这种情况下,请在返回码中返回503(其含义是“Service Unavailable”),这样Baiduspider会过段时间再来尝试抓取这个链接,如果网站已空闲,则会被成功抓取。

6、新链接重要程度判断

好啦,上面我们说了影响Baiduspider正常抓取的原因,下面就要说说Baiduspider的一些判断原则了。

在建库环节前,Baiduspider会对页面进行初步内容分析和链接分析,通过内容分析决定该网页是否需要建索引库,通过链接分析发现更多网页,再对更多网页进行抓取——分析——是否建库&发现新链接的流程。

理论上,Baiduspider会将新页面上所有能“看到”的链接都抓取回来,那么,面对众多新链接,Baiduspider根据什么判断哪个更重要呢?

①、内容独特,百度搜索引擎喜欢unique的内容。

②、主体突出,切不要出现网页主体内容不突出而被搜索引擎误判为空短页面不抓取。

①、目录层级——浅层优先。

②、链接在站内的受欢迎程度。

7、百度优先建重要库的原则

Baiduspider抓了多少页面并不是最重要的,重要的是有多少页面被建索引库,即我们常说的“建库”,众所周知,搜索引擎的索引库是分层级的,优质 的网页会被分配到重要索引库,普通网页会待在普通库,再差一些的网页会被分配到低级库去当补充材料,目前60%的检索需求只调用重要索引库即可满足,这也 就解释了为什么有些网站的收录量超高流量却一直不理想。

那么,哪些网页可以进入优质索引库呢?在马海祥看来,其实总的原则就是一个:对用户的价值,包括却不仅于:

(1)、有时效性且有价值的页面

在这里,时效性和价值是并列关系,缺一不可。有些站点为了产生时效性内容页面做了大量采集工作,产生了一堆无价值面页,也是百度不愿看到的.

(2)、内容优质的专题页面

专题页面的内容不一定完全是原创的,即可以很好地把各方内容整合在一起,或者增加一些新鲜的内容,比如观点和评论,给用户更丰富全面的内容。

(3)、高价值原创内容页面

百度把原创定义为花费一定成本、大量经验积累提取后形成的文章,千万不要再问我们伪原创是不是原创。

这里仅举一个例子,科比在新浪微博开户了,即使他不经常更新,但对于百度来说,它仍然是一个极重要的页面。

8、哪些网页无法建入索引库

上述优质网页进了索引库,那其实互联网上大部分网站根本没有被百度收录,并非是百度没有发现他们,而是在建库前的筛选环节被过滤掉了,那怎样的网页在最初环节就被过滤掉了呢?

(1)、重复内容的网页:互联网上已有的内容,百度必然没有必要再收录。

(2)、主体内容空短的网页,这包括:

①、有些内容使用了百度spider无法解析的技术,如JS、AJAX等,虽然用户访问能看到丰富的内容,依然会被搜索引擎抛弃。

②、加载速度过慢的网页,也有可能被当作空短页面处理,注意广告加载时间算在网页整体加载时间内。

③、很多主体不突出的网页即使被抓取回来也会在这个环节被抛弃。

(3)、部分作弊网页。

众所周知,搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程。

在以亿为单位的网页库中查找特定的某些关键词犹如大海里面捞针,也许一定的时间内可以完成查找,但是用户等不起,从用户体验角度我们必须在毫秒级别给予用户满意的结果,否则用户只能流失,怎样才能达到这种要求呢?

如果能知道用户查找的关键词(query切词后)都出现在哪些页面中,那么用户检索的处理过程即可以想象为包含了query中切词后不同部分的页面集合求 交的过程,而检索即变成了页面名称之间的比较、求交,这样,在毫秒内以亿为单位的检索成为了可能,这就是通常所说的倒排索引及求交检索的过程,如下为建立 倒排索引的基本过程:

(1)、页面分析的过程实际上是将原始页面的不同部分进行识别并标记,例如:title、keywords、content、link、anchor、评论、其他非重要区域等等。

(2)、分词的过程实际上包括了切词分词同义词转换同义词替换等等,以对某页面title分词为例,得到的将是这样的数据:term文本、termid、词类、词性等等的相关介绍)。

(3)、之前的准备工作完成后,接下来即是建立倒排索引,形成{termàdoc},下图即是索引系统中的倒排索引过程:

倒排索引是搜索引擎实现毫秒级检索非常重要的一个环节,下面我们要重要介绍一下索引系统建立倒排索引的重要过程——入库写库。

2、倒排索引的重要过程——入库写库

索引系统在建立倒排索引的最后还需要有一个入库写库的过程,而为了提高效率这个过程还需要将全部term以及偏移量保存在文件头部,并且对数据进行压缩,这涉及到的过于技术化在此就不多提了,在此,马海祥博客也简要给大家介绍一下索引之后的检索系统。

检索系统主要包含了五个部分,如下图所示:

(1)、Query串切词分词即将用户的查询词进行分词,对之后的查询做准备,以“10号线地铁故障”为例,可能的分词如下(同义词问题暂时略过):

(2)、查出含每个term的文档集合,即找出待选集合,如下:

(3)、求交,上述求交,文档2和文档9可能是我们需要找的,整个求交过程实际上关系着整个系统的性能,这里面包含了使用缓存等等手段进行性能优化。

(4)、各种过滤,举例可能包含过滤掉死链、重复数据、色情、垃圾结果以及你懂的!

(5)、最终排序,将最能满足用户需求的结果排序在最前,可能包括的有用信息如:网站的整体评价、网页质量、内容质量、资源质量、匹配程度、分散度、时效性等等。

3、影响搜索结果排序的因素

上面的内容好象有些深奥,因为涉及大量技术细节,马海祥只能说到这儿了,那下面马海祥说说大家最感兴趣的排序问题吧,用户输入关键词进行检索,百度搜索引 擎在排序环节要做两方面的事情,第一是把相关的网页从索引库中提取出来,第二是把提取出来的网页按照不同维度的得分进行综合排序,“不同维度”包括:

(1)、相关性:网页内容与用户检索需求的匹配程度,比如网页包含的用户检查关键词的个数,以及这些关键词出现的位置;外部网页指向该页面所用的锚文本等。

(2)、权威性:用户喜欢有一定权威性网站提供的内容,相应的,百度搜索引擎也更相信优质权威站点提供的内容。

(3)、时效性:时效性结果指的是新出现的网页,且网页内承载了新鲜的内容,目前时效性结果在搜索引擎中日趋重要。

(4)、重要性:网页内容与用户检查需求匹配的重要程度或受欢迎程度。

(5)、丰富度:丰富度看似简单却是一个覆盖范围非常广的命题,可以理解为网页内容丰富,可以完全满足用户需求;不仅可以满足用户单一需求,还可以满足用户的延展需求。

(6)、受欢迎程度:指该网页是不是受欢迎。

以上便是百度搜索引擎决定搜索结果排序时考虑的六大原则,那么六大原则的侧重点是怎样的呢?哪个原则在实际应用时占比最大呢?其实在这里没有一个确切的答案。

在百度搜索引擎早期,这些阈值的确是相对固定的,比如“相关性”在整体排序中的重量可以占到七成,但随着互联网的不断发展,检索技术的进步,网页数量的爆 发式增长,相关性已经不是难题,于是百度搜索引擎引入了机器学习机制,让程序自动产出计算公式,推进排序策略更加合理。

4、低质网页狙击策略——石榴算法

我们理解网站生存发展需要资金支持,从来不反对网站添加各种合法广告,不要再问我们“我们网站加了XX联盟的广告会不会被处罚”这类问题,有些站点好不容易在百度有了比较好的排位,却在页面上放置大量有损访问用户体验的广告,已经严重影响到百度搜索引擎用户的使用感受。

为此,百度质量团队2013年5月17日发布公告:针对低质量网页推出了石榴算法,旨在打击含有大量妨碍用户正常浏览的恶劣广告的页面,尤其是弹出大量低质广告、存在混淆页面主体内容的垃圾广告的页面。

百度质量团队希望站长能够多从用户角度出发,朝着长远发展考虑,在不影响用户体验的前提下合理地放置广告,赢得用户的长期青睐才是一个网站发展壮大的基础。

曾经,“内容为王,外链为皇”的说法流行了很多年,通过超链计算得分来体现网页的相关性和重要性,的确曾经是搜索引擎用来评估网页的重要参考因素之一,会直接参与搜索结果排序计算。

随着该技术被越来越多的SEO人员了解,超链已经逐渐失去作为投票的重要意义,无论是谷歌还是百度,对超链数据的依赖程度都越来越低,那么,在现在,超链在发挥着怎样的作用?

虽然百度在挖掘新好站点方面下了很大工夫,开放了多个数据提交入口,开避了社会化发现渠道,但超链依然是发现收录链接的最重要入口。

(2)、向搜索引擎传递相关性信息

百度除了通过TITLE、页面关键词、H标签等对网页内容进行判断外,还会通过锚文本进行铺助判断,使用图片作为点击入口的超链,也可以通过alt属性和title标签向百度传情达意。

百度搜索引擎虽然降低了对超链的依赖,但对超链的识别力度从未下降,制定出更加严格的优质链接、正常链接、垃圾链接和作弊链接标准。

对于作弊链接,除了对链接进行过滤清理外,也对链接的受益站进行一定程度的惩罚,相应的,对优质链接,百度依然持欢迎的态度。

(4)、内容分享,获取口碑

优质内容被广泛传播,网站借此获得的流量可能并不多,但如果内容做得足够,也可以树立自己的品牌效应。

严格来讲,这并不属于超链的作用,在百度眼里,网站的品牌比超链要重要得多。

2、切断买卖超链的利刃——绿萝算法

百度质量团队2013年2月19日发布公告推出绿萝算法,针对买卖链接行为再次强调:买卖链接行为一方面影响用户体验,干扰搜索引擎算法;另一方面让投机 建站者得利、超链中介者得利,真正勤勤恳恳做好站的站长在这种恶劣的互联网超链环境中无法获得应有的回报,因此,针对买卖链接行为在清除外链计算的基础 上,以下三个类型的网站将会受到不同程度的影响:

超链本应是互联网上相对优质的推荐,是普通用户及网站之间对页面内容、网站价值的肯定,但是现在种种超链作弊行为使得真实的肯定变成了一些人谋取利益的垫 脚石,用户无法根据链接的推荐找到需要的优质资源,并且严重干扰搜索引擎对网站的评价,超链中介便是这畸形的超链市场下形成的恶之花,我们有义务维护超链 的纯净维护用户利益,也有责任引导站长朋友们不再支出无谓的花销,所以超链中介将在我们的目标范围内。

(2)、出卖链接的网站

一个站点有许多种盈利方式,利用优质的原创内容吸引固定用户,引进优质广告资源,甚至举办线下活动,这些盈利方式都是我们乐于见到的,是一个网站的真正价 值所在,但是一些网站内容基本采集自网络,以出卖超链位置为生;一些机构类网站或被链接中介所租用进行链接位置出售,使得超链市场泡沫越吹越多,此次的调 整对这类站点同样将有所影响。

(3)、购买链接的网站

一直以来,百度对优质站点都会加以保护和扶植,这是从用户需求以及创业站长的角度出发的必然结果,而部分站长不将精力用在提升网站质量上,而选择钻营取巧,以金钱换取超链,欺骗搜索引擎进而欺骗用户。

对于没有太多资源和金钱用于此类开销的创业站长来说,也是一种无形的伤害,如果不进行遏制,劣币驱逐良币,势必导致互联网环境愈加恶劣,此次调整这类站点本身也将受到影响。

以上即百度质量团队首次推出绿萝算法时的具体情况,后来被称为绿萝算法1.0,事隔5个月之后,百度质量团队再次推出绿萝算法2.0,针对明显的推广性软文进行更大范围更加严格的处理。

惩罚的对象重点是发布软文的新闻站点,同时包括软文交易平台、软文收益站点,惩罚方式包括:

①、针对软文交易平台,将被直接屏蔽。

②、针对软文发布站,将视不同程度而进行处理。

例如一个新闻网站,存在发布软文的现象但情节不严重,该网站在搜索系统中将被降低评价;利用子域大量发布软文的,该子域将被直接屏蔽,并且清理出百度新闻源;更有甚者创建大量子域用于发布软文,此种情况整个主域将被屏蔽。

③、针对软文受益站,一个网站的外链中存在少量的软文外链,那么此时该外链将被过滤清除出权重计算体系,该受益站点将被观察一段时间后视情况而进一步处理;一个网站的外链中存在大量的软文外链,那么,此时该受益站点将被降低评价或直接屏蔽。

网页经历了抓取建库,参与了排序计算,最终展现在搜索引擎用户面前,目前在百度搜索左侧结果展现形式很多,如:凤巢、品牌专区、自然结果等,一条自然结果怎样才能获得更多的点击,是站长要考虑的重要一环。

目前,自然结果里又分为两类,第一个,即结构化展现,形式比较多样,目前覆盖80%的搜索需求,即80%的关键词下会出现这种复杂展现样式;第二个即一段摘要式展现,最原始的展现方式,只有一个标题、两行摘要、部分链接,如下图所示:

很明显,结构化展现能够向用户明确传递信息,直击用户需求痛点,获得更好的点击自然不在话下,目前,百度结构化展现有几个样式:

配图:扩大面积,方便用户了解网页内容,吸引点击。

那么,站长可以通过什么途径获得结果化展现呢?

1、参与原创星火计划:百度站长平台VIP俱乐部提供申请入口,需要经过人工审核后进行数据提交。

2、结构化数据提交工具。

3、结构化数据标注工具。

4、搜索结果配图,具体要求是:在文章主体位置;图片与内容相关;图片上没有文字;图片比例接近121*91即可。

每一个SEOer都应该认清楚搜索引擎优化的最根本目的就是为了获得用户,因此用户体验不能够忽视,我们在搜索引擎上获得排名的原因也是因为我们为用户提 供了有价值的内容,在发展方向上,无论你是站长还是专业的SEOer,都应该朝着做用户、做产品、做服务的方面去发展,而不应该局限于SEO,此点甚为重 要。

1、http状态码有哪些?分别代表是什么意思?

(1)、成功2×× 成功处理了请求的状态码。
200 服务器已成功处理了请求并提供了请求的网页。
204 服务器成功处理了请求,但没有返回任何内容。
(2)、重定向3×× 每次请求中使用重定向不要超过 5 次。
301 请求的网页已永久移动到新位置。当URLs发生变化时,使用301代码。 搜索引擎索引中保存新的URL。
302 请求的网页临时移动到新位置。搜索引擎索引中保存原来的URL。
304 如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器 人,可节省带宽和开销。
(3)、客户端错误4×× 表示请求可能出错,妨碍了服务器的处理。
400 服务器不理解请求的语法。
403 服务器拒绝请求。
404 服务器找不到请求的网页。服务器上不存在的网页经常会返回此代码。
410 请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时用来替代404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置。
(4)、服务器错误5×× 表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
500 服务器遇到错误,无法完成请求。
503 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。

2、说说创建ajax的过程

(2)、创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)、设置响应HTTP请求状态变化的函数.
(5)、获取异步调用返回的数据.

3、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

(1)、当发送一个URL请求时,不管这个URL是Web页面的URL还是Web页面上每个资源的URL,浏览器都会开启一个线程来处理这个请求,同时在远程DNS服务器上启动一个DNS查询。这能使浏览器获得请求对应的IP地址。
(2)、浏览器与远程Web服务器通过TCP三次握手协商来建立一个TCP/IP连接。该握手包括一个同步报文,一个同步-应答报文和一个应答报文,这三个报文在 浏览器和服务器之间传递。该握手首先由客户端尝试建立起通信,而后服务器应答并接受客户端的请求,最后由客户端发出该请求已经被接受的报文。
(3)、一旦TCP/IP连接建立,浏览器会通过该连接向远程服务器发送HTTP的GET请求。远程服务器找到资源并使用HTTP响应返回该资源,值为200的HTTP响应状态表示一个正确的响应。
(4)、此时,Web服务器提供资源服务,客户端开始下载资源。

4、说说你对网站重构的理解?

网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。
对于传统的网站来说重构通常是:
(2)、使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的)
(3)、对于移动平台的优化
(4)、针对于SEO进行优化
(5)、深层次的网站重构应该考虑的方面
(6)、减少代码间的耦合
(7)、让代码保持弹性
(8)、严格按规范编写代码
(9)、设计可扩展的API
(10)、代替旧有的框架、语言(如VB)
(11)、增强用户体验
(12)、通常来说对于速度的优化也包含在重构中
(13)、压缩JS、CSS、image等前端资源(通常是由服务器来解决)
(14)、程序的性能优化(如数据读写)
(15)、采用CDN来加速资源加载
(17)、HTTP服务器的文件缓存

5、网页验证码是干嘛的,是为了解决什么安全问题。

a、区分用户是计算机还是人的公共全自动程序。可以防止恶意破解密码、刷票、论坛灌水;
b、有效防止黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试。

6、请说出三种减少页面加载时间的方法。

(2)、图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方) 
(3)、优化CSS(压缩合并css,如margin-top,margin-/目录,会判断这个“目录是什么文件类型,或者是目录。) 
(5)、标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。 当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。) 
(6)、减少http请求(合并文件,合并图片)。

7、你有用过哪些前端性能优化的方案?

(1)、提升页面静态资源加载速度
b、压缩静态资源文件大小,减少文件体积大小
(2)、加快页面的渲染展示速度
a、css和js文件的位置
b、规范img标签的使用
c、精简页面标签,减少dom元素

8、说说什么是SQL注入?如何防止SQL注入?

就是通过把`SQL`命令插入到`Web`表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
a、永远不要信任用户的输入,要对用户的输入进行校验,可以通过正则表达式,或限制长度,对单引号和双"-"进行转换等。
b、永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。
c、永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
d、不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。

9、说说XSS的原理及防范?

看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,
当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
(1)、代码里对用户输入的地方和变量都需要仔细检查长度和对"<"、"">"、";"、"’"等字符做过滤;其次任何内容写到页面之前都必须加以`encode`,避免不小心把`html tag 弄出来。这一个层面做好,至少可以堵住超过一半的XSS攻击。
(2)、避免直接在cookie`中泄露用户隐私,例如email、密码等等。
(3)、通过使cookie和系统ip 绑定来降低cookie 。泄露后的危险。这样攻击者得到的cookie没有实际价值,不可能拿来重放。
(4)、尽量采用POST而非GET提交表单

10、XSS与CSRF有什么区别吗?如何做到CSRF的防御?

XSS是获取信息,不需要提前知道其他用户页面的代码和数据包。CSRF是代替用户完成指定的动作,需要知道其他用户页面的代码和数据包。
要完成一次CSRF攻击,受害者必须依次完成两个步骤:
a、登录受信任网站A,并在本地生成Cookie。
b、在不登出A的情况下,访问危险网站B。
a、服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客户端页面增加伪随机数。

11、什么是 "use strict"? 使用它的好处和坏处分别是什么?

ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得`Javascript`在更严格的条件下运行。
设立"严格模式"的目的,主要有以下几个:
- 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
- 消除代码运行的一些不安全之处,保证代码运行的安全;
- 提高编译器效率,增加运行速度;
注:经过测试`IE6,7,8,9`均不支持严格模式。
现在网站的`JS` 都会进行压缩,一些文件用了严格模式,而另一些没有。这时这些本来是严格模式的文件,被merge 后,这个串就到了文件的中间,不仅没有指示严格模式,反而在压缩后浪费了字节。

12、eval是做什么的?

它的功能是把对应的字符串解析成JS代码并运行;
应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

13、说说使用AJax有哪些好处和有哪些坏处?

a、通过异步模式,提升了用户体验
b、优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
c、Ajax在客户端运行,承担了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载。
d、Ajax的最大的特点
Ajax可以实现动态不刷新(局部刷新)
a、ajax不支持浏览器back按钮。
b、安全问题 AJAX暴露了与服务器交互的细节。
c、对搜索引擎的支持比较弱。
d、破坏了程序的异常机制。

14、说说TCP传输的三次握手策略?

a、为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。用TCP协议把数据包送出去后,TCP不会对传送 后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志:SYN和ACK。
b、发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束
c、若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。

15、谈谈你对性能优化问题的理解?

代码层面:避免使用css表达式,避免使用高级选择器,通配选择器。
缓存利用:缓存Ajax,使用CDN,使用外部js和css文件以便缓存,添加Expires头,服务端配置Etag,减少DNS查找等
请求数量:合并样式和脚本,使用css图片精灵,初始首屏之外的图片资源按需加载,静态资源延迟加载。
请求带宽:压缩文件,开启GZIP

(1)、请求报文介绍一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成。

下图给出了请求报文的一般格式。

我要回帖

更多关于 网址包括哪些部分 的文章

 

随机推荐