SEO教程提供SEO基础入门教程
微笑SEO优化教程网:关注本站让你的SEO不断进步!

网站降权解决方法

您现在的位置:SEO教程 > SEO优化教程 > 时间:2018-10-05 18:22:22 > 作者:smiseo
网站降权解决方法首先分析流量,最常见的应该就是当网站流量上升或下降时,如何使用流量统计工具找原因。
今天跟大家简单讨论一下当网站流量下降时的分析思路。
当发现网站流量有明显下降时,首先应该分析什么来源的流量下降了。在百度统计中使用“升降榜”的日环比和周同比,或者使用自定义的两天数据对比,两个日期最好选择同一类型的,比如都选择非节假日的周三等,很容易分析出搜索流量、引荐流量和直接访问三种流量来源中哪部分流量下降了,或者是全部都下降了。

网站降权解决方法

如果三种流量都下降了,又不是节假日等特殊的日子,那么就很可能是网站出现了问题,或打不开、或速度慢等,也有可能是技术人员改动网站时,把统计代码误删了,在网站改版时经常会遇到这种情况。如果自行检查确定网站没有以上问题,那么还可以继续向下分析流量的地区,在百度统计中使用“地区分布”功能进行以上所述对比操作,分析是否有个别地区出现流量明显下降的情况,有可能是南北通信有问题或部分地区DNS解析有问题。

如果是引荐流量下降了,那么就使用“升降榜”继续分析到底是哪些网站过来的流量下降了,找出确切的网站后,再分析对方网站是否有打不开的情况,对方网站是否撤掉了你的链接,或者直接联系对方网站负责人了解相关情况。
如果是直接访问流量下降,直接访问的分析比较麻烦,至今也没有非常靠谱的分析方法。不过直接访问的流量一般都是老用户,可以了解一下有哪些原因使得你网站的老客户突然不来网站了。比如有些中小型电商网站,在“双11”或其他大型电商有促销活动的节假日时会出现流量大幅度下降。需要了解的是“直接访问”的流量并不真的全部是直接访问,还有一些丢失来源的流量,比如360搜索刚上线时,有段时间隐藏了来源,对于网站来说360搜索过来的流量都是直接流量,后来360搜索改动,又不隐藏来源了,这时就造成了网站的直接流量大幅度下降,不过这种情况下网站的总流量是不会有太大变化的。可以分析网站的Flash或者弹窗广告是否变少了。
如果是搜索流量下降了,首先需要确定的是具体是哪个搜索引擎过来的流量下降了,同样使用百度统计的“升降榜”就可以分析。比如分析到是百度的搜索流量下降了。这时需要先看一下网站的核心词是不是还有排名,如果没有排名了,继续查看一下网站主要页面的目标关键词排名,如果也没有排名了,那么网站就可能被百度降权了。当然还需要根据site、索引量等数据进一步分析。如果发现网站的核心词排名都在,那么在百度统计“升级榜”中点击“百度”,就可以看到各个搜索词带来流量的对比了。可以简单分析一下具体是哪些关键词的流量下降了,
一般是相对应的关键词没有搜索排名了,根据这些关键词找出具体是网站的哪部分内容的排名被百度处理了。也可以直接使用百度统计的“受访域名”或GA中的高级筛选来确定具体是网站的哪部分内容被百度处理了。找到具体的“病体”后再对该部分内容进行详细分析,后续就不是流量分析的范畴了。
网站流量的上升和下降都可能会有很多原因,也并不是搜索引擎的流量下降就意味着网站被搜索引擎降权。搜索流量的浮动在10%-r20%都是比较正常的,很可能是自然的波动,可能是网站内有部分内容信息过时或部分内容突然被搜索引擎推荐,有时也有可能是百度的排序规则有微调。一般只要不是搜索流量减半或搜索流量直接全无,应该就不是被搜索引擎降权了。
流量分析重在分析,只是找出真正的“病体”,具体“病体”的病因是什么就需要另外根据网站近期的实际情况进行具体分析了。
多分析、多发现、多成长:在实际的流量分析工作中,还有很多其他数据值得分析,以上的数据也还有很多值得分析的地方。同样也有很多需要注意的地方,有时候数据也会骗人,比如极端的数据都是需要分析后再确定是否值得相信的,跳出率100%或者0%的数据以及突然有一篇文章的流量比重要目录页的流量还要高出很多的情况是否是真实的流量呢?再比如同一数据不同比例尺的趋势图可能会造成变动幅度不同的假象等。
SEO中流量分析的目的就是效果检测、发现和分析问题及发现网站流量的成长空间。不同问题的细分分析方法和思路都不尽相同,不同SEO基础的人在数据中所看出的问题也会不同。现在由于SEO这个工作的特性,几乎网站流量中所有数据都可以和SEO扯上关系,SEO人员应该提升自己对数据的敏感性,学会发现流量数据背后的问题。要想使流量分析在SEO工作中真正起到指导性的作用,做数据驱动型的SEO,还是需要SEO人员提升自身的相关知识储备和素质,没有足够的基础知识支撑,SEO人员也就只能是看看统计中的Pv和Uv数据了。
另外,所有的流量数据本身所能反映出的问题都是有限的,只有结合“趋势”和“细分”才能发现更多更深层次的问题。百度统计中的升降榜及GA中的多维度高级筛选都是流量分析中的高级助手。多分析,多发现,多成长。
 
日志分析:日志分析也是SEO工作中比较重要的数据分析工作,SEO人员都知道这一点。但是和流量分析不同的是,部分SEO人员还知道使用流量统计工具看一下网站的Pv和Uv数据,但是从来没有看过或者还不懂得如何看网站访问日志。日志文件对网站的所有访问行为都有记录,日
志文件中的数据比普通流量统计工具中的数据更加全面、精确,但是通过日志来分析网站的流量数据需要借助特定的工具,技术大牛一般会自己写脚本跑整个日志文件以获得自己所需要的数据报表,并且与GA和百度统计这样的工具相对比,使用网络上的日志分析软件所得到的网站流量数据和报表往往可分析性会差很多。所以如果不懂相关的技术,还是使用普通的流量统计工具来统计分析流量吧。
对于大众SEO人员来说,对网站日志的分析,更多地还是针对搜索引擎Spider抓取行为的分析,当然技术大牛同样可以自写脚本获得自己需要的日志分析报表,大众SEO人员还是通过类似前面介绍的《光年SEO日志分析系统》来进行日志分析工作吧。本节以《光年SEO日志分析系统》和IIS W3C格式的日志为例,简单从SEO的角度讨论一下日志分析相关的内容。和流量分析中重复的内容不再冗述,比如用户浏览器使用情况等。
SEO基础知识:SEO工作中与日志相关的基础知识包含日志中各字段的含义和状态码的含义。现在网络上有很多相关知识的介绍,在此为了章节内容的完整性,对相关内容也进行简单的介绍。现在很多经常做日志分析的SEO人员,并不完全明白日志文件中各字段的含义,对不常见的状态码同样不是太明白,当遇到相关问题时,才会重新查询相关知识。
IIS W3C格式的日志中常用的字段有:date, time, cs-method, cs-uri-stem, cs-username, c-ip,cs-version, cs(User-Agent), cs(Referer), sc-status, sc-substatus, sc-bytes。这些字段各自的含义及SEO人员所应该了解的内容如下。
1.date:发出请求时候的日期,也就是年月日。在日志分析中,一般会提取一天的日志进行分析,并且大部分网站都是按天生成日志的.。所以日志分析中的这一列数据基本都是相同的。
2.time:发出请求的时间,也就是时分秒。这个字段可以分析出搜索引擎对整站或指定内容的抓取频率。
3.cs-method:请求中使用的HTTP方法,值为GET或POST, GET是向服务器索取数据的一种请求,POST是向服务器提交数据的一种请求。搜索引擎对网站的访问一般不会自动提交数据,所以搜索引擎Spider的抓取记录的状态基本上都是GET,
4.cs-uri-stem:访问的URL,也是日志分析中的主体对象。
5.cs-username:用户名,访问服务器已经经过验证的用户名。搜索引擎Spider的访问一 ‘一般是匿名的,匿名在日志中会以气”表示。c-ip:客户端IP地址,也就是访问者的IP。如果及时发现同一IP地址频繁地访问网站,可能会是采集器,可以经过分析确定后加以封禁。
6.cs-version:客户端使用的协议版本,值为HTTP或FTP,搜索引擎Spider为HTTP,不必在乎此字段。
7.cs(User-Agent):用户代理,客户端浏览器、操作系统等情况。搜索引擎Spider也会在此字段表明身份,也会有一些假Spider混迹其中,比如站长工具一般都有模拟搜索引擎Spider抓取的功能,这种访问就会产生假的搜索引擎Spider访问。现在拥有外链查询的站长工具,为了防止网站封禁IP,也会冒充成搜索引擎Spider访问网站。SEO人员可以统计各种搜索引擎对网站的抓取情况,屏蔽无流量的搜索引擎或工具的抓取,以减少网站的服务器和带宽压力。
8.cs(Referer):访问来源,即普通引荐流量中的引荐页面,如果没有来源,则会以“一”表示。在搜索引擎基础知识章节中己经详细讲过,搜索引擎Spider并不会从一个页面爬到另一个页面,所以Spider对网站的访问都是直接访问,因此搜索引擎Spider对网站的访问记录中该字段都是“一”。
9.sc-status:协议状态,记录HTTP状态码。200表示成功访问、404表示找不到网页、
10.301表示永久重定向等,这个字段是需要SEO人员尤为关注的字段,后续会对各种状态码进行简单介绍。
11.sc-substatus:协议子状态,记录HTTP子状态码。一般网站都不使用子状态,所以这个字段的值一般为00
12.sc-bytes:服务器发送的字节数,可以理解为文件的大小。

以上为日志文件中常见的字段,还有一些字段如cs-bytes表示服务器接受字节数,这些字段对SEO来说几乎没有什么分析价值,所以不再介绍。需要了解的是,网站日志中的所有字段记录与否及字段的排序都是可以在服务器上配置的,所以并不是所有的服务器日志的字段都会按以上顺序排列。在以上介绍的字段中。协议状态码是SEO比较关心的数据,根据需要,常见的状态码简单介绍如下。
1.200:表示访问成功,访问正常。
2.301:表示资源永久重定向,即向搜索引擎表示该网页已经完全转移到另一个网页,告诉搜索引擎该网页的相应权重需要叠加到另一个网页上,并删除该网页的索引。虽然百度站长平台已经推出了网站改版工具,但是现在对于301的支持还是比较缓慢。由于301有叠加权重的作用,所以有不少人利用大量子域名301到某一个固定网页以提升该网页的权重,简称“301作弊”。
3.302:表示资源暂时转移,如果网站改版,建议使用301而不是302, 302作弊曾经流行过一段时间,已被搜索引擎打击,其实现在302作弊依然存在,正规网站不必过多关注此状态码。
4.304:网页无变化,如果搜索引擎Spider访问返回304,可能会造成Spider访问该页面的频率降低。
5.404:资源未找到或已删除,有的服务器在数据出现读取错误时,会默认返回404状态码,对SEO非常不利,应该改为503。同时所有404状态的访问都应该引起站长和SEO人员足够的重视。
6.503:服务器过载或暂停维修,建议网站出现突发事故时最好默认返回503,未建好的网页也最好返回503而不是4040

以上为日志分析中常见的状态码,在日志中还有其他很多状态码,SEO人员最好都了解一下,但是不熟知其他状态码表示的含义也没有多大关系,按照开头数字对状态码的含义总结如下。
1**:表示请求己经收到,需要继续处理。
2**:表示请求己被服务器成功接收、分析。
3**:表示客户端需要进行进一步操作才能完成请求。
4**:表示请求包含语法错误或不能完成。
5**:表示服务器错误。
在日志分析中,4**和5**的状态码是需要足够重视的。在实际工作中,经常会把404状态码的访问记录单独提取出来进行分析;会搜索日志中503之类的服务器错误,来查看指定时间段服务器是否出现宕机、带宽使用是否超过限制等。

确定目标和精简样本:不仅是日志分析,所有的数据分析工作都应该有其目的性,不然就失去了分析的意义。SEO人员分析日志一般有两个目标:了解网站内容和链接是否正常、了解搜索引擎Spider对网站的抓取情况。前者是为了发现网站运行中的问题并加以修复,保证网站的良好运营;后者是为了发现搜索引擎的抓取规律,并分析是否有优化的空间,引导搜索引擎多抓取指定重要内容而弱化对无关紧要页面的抓取,一般会配合搜索引擎对网站的收录情况进行分析。
因为网站日志记录了网站的所有访问数据,所以稍有规模的网站的单天日志可能会很大,少则几百MB多则几个GB。作为SEO人员,平时只需要分析搜索引擎的抓取情况就可以了,如果网站存在服务器错误和页面404之类的错误,一般都会在搜索引擎抓取中遇到,并且较普通用户的访问,搜索引擎的抓取可能更加全面。所以在进行日志分析前,可以根据分析目标先对日志进行精简,比如只提取出百度Spider和Googlebot的抓取记录来进行分析。当然也可以根据分析目的只提取指定时间段、指定IP、指定浏览器、指定来源页面或指定状态码的记录。根据分析目标把日志分析范围缩小和精简,可以大大提高分析效率及提升分析工作的质量。如果你想查看是否有垃圾爬虫或对网站运营无关的工具批量访问的IP,进行封禁以降低服务器和带宽的浪费,还是需要即时查看日志或分析整个日志文件的。
发掘死链接及网站异常:
1.发掘死链:百度一直在强调站长应该重视站内死链接,并在百度站长平台推出了死链提交工具。因为搜索引擎的Spider在抓取之前并不知道链接是不是死链接,所以对于死链接也是正常抓取。如果由于网站程序错误或批量删除了一些页面,就可能白白浪费掉搜索引擎Spider的抓取;由于单位时间内搜索引擎对一个网站的抓取是有上限的,所以站内过多的死链接会影响到搜索引擎对正常内容的抓取;如果网站批量删除了一批页面,且这些页面在搜索引擎中是有排名的,众所周知搜索结果中的网页出现404是对搜索用户体验的最大伤害,所以针对这种情况搜索引擎一般是严格控制的,如果网站中突然大量有排名的网页出现404的情况,搜索引擎可能会认为网站整体的运营有问题,从而降低网站整站的搜索表现。可见站在网站的角度,死链接也是必须清理的,但是主动地去寻找这些死链接并不是一件容易的事。
虽然现在可以通过xenu来批量发掘网站的死链,但是对于网页数量比较大的网站这样做是非常消耗资源的,并且如果网站页面数量过多,在普通PC上跑xenu会经常造成软件不响应甚至电脑死机的状况。如果是批量删除网页所产生的死链,可以根据删除规则批量生成URL,如果是其他原因产生的死链,就只能通过类似的批量抓取验证来寻找了。
其实完全可以通过日志分析寻找死链。因为站外拼写错误之类的原因所产生的死链接总是有限的,这种链接也不是站内产生的,所以没有必要过于关注。而如果网站存在大量的死链接,那么这些死链接的产生肯定有特定原因的。分析少量样本发现死链接的规律,并寻找产生死链接的根本原因,寻找网站中存在这些死链接的页面,之后不论是修补错误还是批量生成死链接列表都不是太大问题了。所以发掘网站内的死链接只需要分析一定的死链接样本就可以了,由于搜索引擎每天都会抓取一定量的网页,所以分析网站日志中搜索引擎抓取的记录就可以了,或者分析整个日志中的404状态的访问都可以。
2.发掘网站运行异常情况:一般是分析网站是否出现过服务器错误或误删资源的情况,也就是分析日志中状态码为5**和404为主的记录。根据5**状态的记录,分析网站是否出现过异常,根据出现异常时间分析可能的原因并予以解决。根据404状态的记录,分析网站中是否有误删的图片和资源或CSS及JS文件等,如果相应的图片和资源访问用户过多,根据需要考虑是否恢复删除的图片和资源,以保证用户体验良好;如果相应的CSS和JS当下还被网站中不少页面使用着,那么就要设法恢复相应文件,以弥补网站网页样式错乱或功能出现错误。
另外,在网站程序一切正常的情况下,搜索引擎也可能会抓取一些奇怪的站内不存在的链接,这一般是由外链造成的,如果站长发现搜索引擎Spider抓取了过多的404页面,并发现这些页面都是站内不可能存在的,那就要分析一下这些外链产生的原因了,有可能是网站分享程序有问题,也有可能外链建设过程中由于某种意外使用了大量错误链接,需要根据实际404的URL进行具体分析。当然除了搜索引擎抓取的404页面外,在日志中也会经常看到黑客扫描网站漏洞产生的404访问记录,虽然站在SEO角度这并没有什么可分析的,但是为了网站安全还是需要多加注意。
通过日志分析还可以发现网站是否有意料之外的重定向,比如有的网站因为泛解析问题,会导致用户访问不存在的页面jc.smiseo.com/abc时,网站会自动301或302跳转到子域名abc.smiseo.com,如果该域名不存在,服务器或返回网站首页内容,或返回404状态码。这种错误在日志中提取301, 302及404状态的记录都可以很容易地发现。除了200之外的状态码稍微过多就需要高度注意,仔细分析其产生的原因,并找出解决问题的办法。
在日志分析中什么千奇百怪的问题都可能遇到,有时可能服务器设置错误,删除的内容也会返回200状态码,这些都需要SEO人员仔细分析网站的日志文件才能发现。站长在日志分析过程中,可以使用《光年SEO日志分析系统》的日志拆分功能按照需求进行提取,以辅助分析。如果没有明确的分析目的,那么日志分析工作就是在日志文件中找寻一切异常的记录,并深挖异常记录产生的原因,从而为网站解决一些潜在的问题。

Spider抓取情01119和b:搜索引擎Spider对网站的抓取情况,应该是最值得SEO人员研究的内容。但是很多SEO人员面对已经在日志中提取出来的搜索引擎抓取记录,并不知道需要分析什么。这里简单讨论一下Spider对网站的抓取情况都有哪些方面是值得分析的,以及分析出的结果是如何指导SEO工作的。
Spider的抓取数据可以分析:Spider对整个网站的抓取频率、Spider对重要页面的抓取频率、Spider对网站内容的抓取分布情况、Spider对各种类型网页的抓取情况、Spider对网站的抓取状态码情况等。
1.通过分析Spider对整个网站的抓取频率的趋势,可以简单了解网站在搜索引擎眼中的质量。如果网站没有进行过大幅度的变动,并且内容正常更新,搜索引擎的抓取频率却逐渐或突然大幅度降低,不是网站运行出现错误,就是搜索引擎认为网站质量出现了问题;如果搜索引擎的抓取频率突然增大,可能是网站有404之类的页面引起了Spider的集中重复抓取;如果搜索引擎的抓取频率逐渐增大,可能是随着网站内容的逐渐增多,权重的逐渐积累,而获得的正常抓取。持平和平缓的变动不足为奇,如果出现大幅度的变动,就需要引起足够的重视了。
2.通过分析Spider对重要页面的抓取规律,可以辅助网页内容更新频率的调整。一般搜索引擎Spider会对站内的重要页面进行高频度的抓取,这类页面一般不会是内容页,而是首页、列表页或者拥有大量外链的专题页。
提取的百度Spider对某网站nbc.html页面的抓取情况,该页面为该网站的最新内容页面,即专门为搜索引擎发现网站内的新内容所准备的页面。该页面中有300个链接,每5分钟更新一次,并且已知5分钟内网站所产生的新页面要远远超过300个,也就是说并不是所有新产生的页面都会在nbc.html中出现。根据图10一中百度Spider对该页面的抓取情况可以看出,最多间隔不到2分钟百度Spider就会抓取一次该页面,然而该页面的更新频率为5分钟,也就是说百度Spider有超过一半的抓取次数并没有获取到新链接,并且网站新内容的链接也没有完全在该页面上展现一遍。根据这种数据差,就可以指导SEO人员推进技术人员对该页面的缓存时间的改进,增大更新频率,可以把更新频率设置为2分钟一次,这样不仅可以使百度Spider每次对该页面的抓取都获得新链接,同时也可以增大网站新内容被百度发现的几率。
在网站中有很多种此类抓取频率非常大的页面,比如前面所说的网站首页、目录页和专题页。在网站中往往还会有其他更多类型的聚合页同样有着比较大的抓取频率。尤其是网站的首页,很多网站的首页每天都会得到搜索引擎成千上万次的抓取,但是不少网站首页上更新的链接很少,有些浪费了首页本身权重所带来的Spider高抓取频率。在不影响SEO关键词密度和布局的前提下,SEO人员可以充分利用这部分资源,来使网站内所有的新内容都被搜索引擎及时发现,也减少搜索引擎的无效抓取。
虽然现在通过百度站长平台的sitemap工具,可以直接把站内的URL提交给百度,并不需要太过担心百度发现不了网站内新内容的问题,但是现在也有部分网站是没有sitemap提交权限的,并且这种通过页面发现链接的形式还会带有一定的权值传递。众所周知,网页的收录与否,除取决于网页内容的质量外,与网页所获得的外链和网页的权重也是有关系的,所以以上分析和改进还是值得进行的。
3.分析Spider对网站内容的抓取分布情况。每个网站都会分出一些不同的频道,可能大家感觉在网站内链和外链的建设中并没有特别的偏向,或者为某个频道做了很多链接,就认为该频道应该会得到搜索引擎的青睐,但是事实可能不是这样的。Spider对网站内容抓取分布情况的分析一般会结合网站的收录数据,分析网站各频道内容的更新量、搜索引擎收录量和Spider对各频道的每日抓取量是否成正比。
如果某个频道的搜索引擎收录不佳,首先就要分析搜索引擎对该频道的抓取是否正常。比如分析百度对网站各频道的抓取情况,可以使用《光年SEO日志分析系统》先把百度的抓取记录提取出来,然后使用该工具对提取出来的日志进行分析。在该工具生成的报表中有一个“目录抓取”的报表,可以轻松获得百度对网站目录级别的抓取。也可以通过该工具的日志拆分功能,拆分出百度对网站每个频道的抓取情况,然后进行详细分析。
通过这种分析可以很轻松地了解到百度对网站内各频道的抓取情况,会经常发现收录不佳的频道得到的抓取次数也很少,或者会发现百度对该频道内容页的抓取情况不佳。此时就需要调整网站内的链接分布,或者使用nofollow标签来弱化百度对不重要频道的抓取,而引导百度多抓取指定的频道。如果搜索引擎的收录并没有异常,百度对内容的抓取分布情况也是值得分析的,研究百度抓取量大和抓取量小的频道之间的差别,从而了解百度Spider的喜好,进而对网站结构或者内容建设方法进行改进。
4.分析Spider对站内各类页面的抓取情况。不同网站都有着自己不同的网页类型,这里进行举例说明。在大众网站中一般会有首页、目录页、文章页,目录页和文章页可能会有分页,但是经过分析百度Spider的抓取记录后,可能会发现百度Spider几乎不怎么抓取分页,不论是列表分页还是文章分页。
如果网站更新量比较大,每天更新的内容会在列表新增很多分页,就可能造成百度不能及时发现网站新内容的情况;如果网站的文章的内容量都比较大,并且分页也是经过精心设计的,每个分页都有一个核心的小主题,这种文章的分页也是有收录价值的。为了解决这两个问题,可以在网站上建立不进行分页的“最新内容”页,然后引导百度Spider频繁抓取该页面;把文章的分页的URL格式和文章首页的URL统一,并在列表页或上述“最新内容”页进行推荐。先保证百度发现这些页面才能进一步促进百度对有价值分页的抓取和收录。
5.分析Spider对网站的抓取状态码情况。除了上面所提到的注意网站异常的状态码,还应该留意Spider对网站的抓取记录中是否还有其他不常见的状态码出现。2012年12月9日(星期日)百度Spider对某网站首页的抓取记录。因为周末没有人更新网站,所以网站首页内容全天是无变化的,造成了百度Spider抓取全部返回了304状态码。这样一段时间后百度Spider就会发现网站的首页更新规律了,以后即使周末有更新内容也不会得到百度的及时抓取和收录了。所以,虽然这不会对网站的排名造成直接的负面影响,但是如果以后整个周末百度Spider都不来抓取网站,以至于以后在这个时间段内发布新内容都不再被及时收录,那多少都有点悲催了。面对这种情况,SEO人员一般都会策划根据Spider抓取频率在相应的时间对页面做出一定的更新,以保证搜索引擎Spider持续地抓取网站。根据具体情况或加大内容发布量,或为页面增加最新内容的调用,或为页面增加评论类的动态内容等。当然诸如大部分内容页返回304是很正常,需要具体情况具体分析,并没有必要单纯为避开对Spider返回304状态码而刻意改变网页内容。
在分析日志的过程中,所有的状态码都有可能会发现,都需要根据状态码的实际含义及网站的实际状态进行分析,从而考虑是否需要改变现状,以保证网站在搜索引擎上的良好表现。
以上只是简单讨论了一下日志分析中常见的分析目标、方法及对SEO的指导性作用,在网站日志中还可以分析出很多问题,当网站遇到搜索引擎相关的问题时,也应该优先分析搜索引擎对网站的抓取日志。网站运营过程中可能会遇到很多千奇百怪的事,SEO人员就需要多遇问题,然后进行分析、思考和解决,从而提升自己。如果有能力,可以开发一个小程序监控网站日志,以方便分析每天搜索引擎对网站的抓取记录中的常规数据:Spider总抓取URL的条数、
Spider抓取唯一URL的条数、各种主要状态码出现的次数、网站主要页面的抓取次数、站内各类页面的抓取次数等。同流量分析一样,可能单天的数据所能说明的问题有限,长期监控并做成趋势图,就可以及时发现搜索引擎Spider对网站抓取过程中的很多问题了。当然这种监控只是辅助及时发现问题,具体的问题分析还是需要提取到相关记录,进行逐层细分分析。
 
收录、排名、站内搜索数据分析:在前面竞争对手分析一章中已经简单提到过收录排名数据的监控了,由于那是站外分析,所以数据在很大程度上是不准确的。SEO人员对自己的网站应该进行全面的了解,不仅要详细了解网站的收录和排名,对网站用户的站内搜索数据也要进行细致的分析和研究,进而才能了解网站自身哪些方面存在明显的不足,哪些方面已经拥有绝对的优势,从而更好地指导SEO的工作。

收录和排名统计分析:对于站内的数据,SEO人员最起码需要统计网站各频道及各类型页面的收录情况,通过site.inurl指令及百度站长平台的索引量查询工具可以获得相关数据。虽然site和inurl所得到的数据并不准确,但是体现在时间轴上的大趋势应该是正确的,这些数据的趋势可以让SEO人员随时了解网站各方面内容的收录情况的变动,一旦网站的收录量出现异常,可以方便地追查到具体是哪方面的内容或哪些类型的页面出现了问题,是内容问题、模版问题还是链接问题,这些都很容易进行分析。
和搜索引擎收录量相对应,SEO人员也应该掌握网站各频道及各类型页面的实际数量,和搜索引擎的收录量进行对比,可以发现网站页面的收录比例有多大。这个收录比例在时间轴上的趋势可以反映出相应时间段内网站内容的质量有所提升还是下降。前面在Google Webmaster的介绍中,介绍了“索引状态”工具,这个工具就有这方面的作用,百度站长平台还没有类似工具的推出,所以只有靠站长和SEO人员自己来进行数据统计和分析了。
除了以上数据的跟踪统计外,SEO人员还应该了解到网站每天新增内容的搜索引擎收录比例是多少。如果网站每天所产生的新页面并不是太多,完全可以让技术人员写个脚本批量地在搜索引擎中查询这些新页面的URL,查看是否收录及收录比例,也可以使用站长工具介绍章节中所提到的“批量查询URL百度收录情况”的工具进行查询和统计。如果每天新增大量内容,但是搜索引擎并不收录,就有点儿悲催了。收录比例突然出现异常,也可能是网站出现了某些问题,都需要根据实际情况进行分析,比如分析每天的新内容是否都被搜索引擎所抓取,未被收录的内容和已被收录的内容页面之间有什么区别等,来指导调整SEO工作的方向。

比对搜索引擎收录情况和相应的网站中实际网页的数量,发现收录相对不理想的频道或特定类型的网页。这种页面是有足够的收录提升空间的,此时就按照上一节日志分析中提到的那样,.先确定网页类型,然后分析日志抓取情况扩进而调整站内链接或设置专门推荐这些网页链接的页面,来促进搜索引擎发现这类网站的链接。当然也有可能是网页内容的问题,需要根据实际情况做出相应的分析。

针对关键词排名方面,SEO人员应该跟踪统计网站所有核心关键词的排名变化情况。同时也利用流量统计工具统计每天的搜索词数量,以及搜索流量中的着陆页数量。这些数据的单日数据可能并不能反映出太多问题,但是在时间轴上建立趋势图就可以反映出很多问题了。比如搜索流量中的着陆页数量,代表了网站内有多少搜索有效页面,这个数值占网站总网页数的比例越大,代表网站的“无效页面”越少,搜索引擎越认可网站的内容。如果这个数值占网站总网页数的比例很小,代表网站中大部分网页是不能从搜索引擎上带来流量的,如果网站没有发展其他推广方式,这些页面甚至都可以被当成垃圾页面了。这个比例在时间轴上的趋势,可以反映出网站在SEO方面是否是良性发展的,当然也要根据网站的类型进行具体分析。

站内搜索统计分析:虽然大多数网站都配有站内搜索的功能,但是有相当一部分网站并没有统计和分析网站用户的站内搜索数据。对于运营人员来说站内搜索用户在站内的所有行为都非常值得进行跟踪和分析。但对于SEO人员来说,站内搜索的搜索词才是最重要的数据,在第4章中也提到过,通过分析站内搜索词可以分析网站用户对网站内容和功能的需求。在搜索引擎中,用户搜索是想通过搜索引擎找到自己所希望得到的信息;在网站中,用户的搜索目的虽然和在搜索引擎中没有什么太大的区别,但是对网站的意义就有所不同了。
“站内搜索”这个行为的产生一般会有这几类原因:一是用户经过浏览,没有在站内找到自己所需要的信息;二是用户认为网站应该有自己所需要的信息,但是懒得通过网站导航寻找;三是站内搜索结果页的展现形式更符合用户的浏览需求等。前两个原因一般都是用户在了解了网站主题的前提下又发起的站内搜索,此时站在网站的角度就应该尽力提供用户所需要的这些内容,所以通过分析用户的站内搜索词可以发现网站内容的不足,并了解网站目标用户的内容需求,从而指导网站内容的建设工作。
如果感觉自己开发站内搜索数据统计分析功能比较吃力,就可以使用Google analytics提供的比较给力的站内搜索分析功能,基本上可以满足大部分网站对站内搜索数据的统计和分析需求。在Google analytics的“管理>>配置文件>>配置文件设置”中可以很容易地找到统计站内搜索的设置,经过简单配置就可以轻松获得用户站内搜索的数据及多个数据分析报表了。如图10-7所示,设置好“查询参数”就可以统计用户的搜索词和相关数据了,如果站内资源有进行分类,并且在搜索的URL中有所体现,那么就可以配置好“类别参数”,以便更细分、更精准地分析用户站内搜索的数据。只要简单配置好这两个参数,就会给网站增加一个强大的辅助用户数据分析的功能。
Google analytic的站内搜索分析,在给出了站内搜索用户的一系列数据报表之外,还会给出使用站内搜索的用户与没有使用站内搜索用户之间的数据比对,同时还支持站内搜索用户特有的数据与普通流量数据的交叉分析,功能非常强大。对站内搜索词报表,使用了流量来源为关键词的次级纬度过滤,通过综合此报表及相关数据可以进行如下分析:用户通过在搜索引擎搜索这些关键词进入网站后,着陆页内容并没有满足用户的需求,用户又在站内发起了相应的搜索,比对来源关键词和站内搜索词之间的区别,并分析这些关键词的着陆页内容,就可以分析出相应着陆页内容的不足或网页关键词定位的失准等,并可以根据以上数据研究相应用户的真实需求,以指导日后网站常规SEO方向及校准用户需求、内容建设和关键词定位三者之间的对应关系等。
站内搜索有太多的数据值得分析,每种数据报表都有其特定的意义和作用。同样Googleanalytics中还有很多的数据、报表和功能值得大家研究,有兴趣或需要的朋友可以自行配置尝试使用一下,太多的功能和数据需要大家亲自使用之后才能体会到它的强大。
 
awk:awk:是一款功能非常强大的数据处理工具,是一种用于文本处理的编程语言工具,如果对其进行详细介绍,完全可以写一本书了,在此我们只是简单了解一下它的初级应用,这款工具在SEO的日志分析工作中是最为重要和方便的。
awk其实是早期UNIX中的文本处理工具,后来GUN做了gawk, gawk包含了awk的所有功能,现在很多地方都使用gawk代替了awk。在常见的Linux系统中,为了保留大家使用awk的习惯,系统做了一个软链接,将awk指向gawk,因此在大部分系统中使用awk其实调用的是gawk程序,在Cygwin中也不例外,因此在Cygwin中可以使用awk,也可以使用gawk,可以认为awk是gawk的一个简短的别名而已。不过在DOS下使用UnxUtils包中的命令时要使用gawk,因为在UnxUtils包中只有gawk.exe程序,系统中又没有把awk指向gawk.exe,所以在DOS窗口下并不能直接使用awk(如图10-31所示)。当然为了自己的习惯,也可以在UnxUtils包中直接把gawk.exe改名或复制并改名为awk.exeoawk在SEO中最为突出的功能就是支持对字段的处理,可以按照指定字符把每行数据分成字段的形式,然后按照字段数据做出相应的处理。众所周知日志文件中的数据都是以空格分段的,因此awk会在日志分析工作中起到很重要的作用。awk的基本格式如下:
awk -F pattern {action}
-F后面跟的是分隔符,也就是以指定的符合来对每一行要处理的数据分段,默认为空格。pattern模式,也就是action执行的条件,当命令中缺少pattern时,awk会对每行数据都执行action。在SEO中经常用到的pattern形式有:/正则表达式/,关系表达式,模式匹配表达式。
action即执行的操作,一般是按照一定格式打印出所需要的数据。当命令中缺少action时,即打印出整行符合条件的数据。
在awk中,使用$n来记录第n段数据,n为整数;$0表示整行数据;NF为当前记录中的字段数,$NF可以用来表示最后一个字段。
建立了一个文件8.txt,里面有三列数据:关键词、指数和百度搜索结果(数据为随便虚构的),下面通过对此文件中数据的处理来演示一下awk的使用方法。条件为正则表达式:在&txt中提取以“SEO”开头的整行数据,“//”中为正则表达式条件,$0为整行数据。打印整行数据时可以省略action,也就是可以使用第二种形式。
条件为关系表达式:第一条命令为在8.txt中提取指数大于1000的数据行;第二条命令为在8.txt中提取指数大于1000的数据,且只需要提取关键词和指数数据,并不需要提取百度搜索结果数。$1记录的是数据的第一个字段即关键词,$2记录的是数据的第二个字段即指数,在action中使用“,”分割两个变量,结果中会表现为空格,如果不加“,”,则两列数据会紧贴到一起。第三条命令表示变量之间也可以进行运算,意思是在8.txt中提取指数和百度搜索结果数的比值大于0.001的数据(在一定程度上表示可优化价值),只提取关键词不需要其他数据。
条件为模式匹配表达式:图10-35中的两条命令分别表示为提取8.txt内关键词中包含和不包含“SEO”的数据。“一”为匹配,+,”为不匹配。

本节对于awk的介绍就到此为止,以上只是awk最基础的应用,由于awk本身支持数组和支持格式化输出的特性,以及其和流程控制命令(if, while, for)及其他命令的组合使用会有更强大的效果和更高效的应用(比如前文中提到的去重),有兴趣的朋友可以自行研究一下,有任何疑问都可以搜索一下,基本上每个命令和每种简单的数据处理效果都可以在百度或Google上找到相应介绍。相信经常分析日志的朋友己经感觉到了awk的作用。另外,需要注意的是在DOS中使用awk时,需要把命令中的单引号换成双引号,否则会出错。
至此最为常用的一些文本处理工具己经介绍完了,大家至少可以使用以上命令和工具对日志和关键词之类的数据进行一定的个性化处理,不用依赖于其他相关工具了。如果以上介绍勾起了你学点Shell命令的兴趣,那你除了更深入了解以上命令和工具外,还可以了解一下join,tr, cut, dill, sed, lynx, curl等命令和工具以及正则表达式,相信这些命令和工具会大大方便你的工作。
最后提醒一下,Linux和Windows默认支持的文本格式是不同的,Linux一般为UTF-8Windows一般为ANSI。当使用DOS处理UTF-8格式的中文文本或使用Cygwin处理ANSI格式的中文文本时会出现乱码的情况,此时可以使用Editplus编辑文本另存为指定格式,也可以使用转码工具对文件进行转码。不过当需要处理的文件过大时,转码会很麻烦,因此笔者一般习惯保持电脑可以同时使用Cygwin和通过DOS使用UnxUtils包中的命令,平时会使用Cygwin,当出现乱码情况时就临时使用一下DOS,这也是为什么DOS在使用中有些特殊情况比Cygwin要麻烦一些,却还是要介绍DOS的原因(有时因为文本进制问题,DOS并不能正常直接处理,使用UTF-8格式然后使用Cygwin处理,兼容性会更好一些)。
 
在日志分析中的应用:这些Shell命令在日常工作中有着很重要的作用,基本上可以用于对所有文本数据的处理,但对于SEO人员来说,其作用经常体现在日志分析工作中。日志分析主要分析搜索引擎对网站的抓取情况。下面就简单演示一下前文介绍过的基础Shell命令在日志分析中的应用。笔者提取了某一网站两天的日志文件进行演示。
1.首先查看一下日志文件中的数据格式以空格划分字段,被访问的URL为第7字段,状态码为第9字段,服务器所发送的字节数为第10字段。
2.查看百度对网站的总抓取数量也可以根据其他搜索引擎spider的名字查看其他搜索引擎对网站的抓取情况。百度在这2013年4月20日和24日分别对网站抓取了841 331次和719 804次,两天对比百度对网站的抓取少了近1/8,有下跌迹象。只看两天的日志并不能说明太多问题,在实际工作中,可以多比对几天查看百度抓取数量的日志,观察百度对网站总抓取次数的变化,突升突降或持续下跌都有可能是网站出了问题,如果有问题则需要细分分析下去。(现在也可以通过百度站长平台的“压力反馈”工具得到抓取次数的趋势数据)。
3.查看百度对网站的唯一抓取量,即查看百度一共抓取了网站多少唯一URL首先提取日志文件中的百度抓取记录,然后在百度抓取记录中只提取被抓的URL,再对被抓的URL排序和去重,最后统计去重后也就是被唯一抓取URL的数量。合并统计一周或一个月的唯一抓取量,然后和网站实际URL数进行对比,可以以此简单作为百度对网站页面的抓取比例,抓取比例越大越好,如果太小,可能是网站结构存在一些问题以至于百度并不能很好地抓取全站内容。在实际工作中会对这部分分析工作细分到网站的各个模块或产品,以确定百度对网站各个模块或产品的抓取情况,再结合百度对各个模块或产品的索引情况进行综合分析。
后面的几条命令主要演示通配符和几条命令的灵活使用,图中所使用的命令在前文都己有过详细介绍。通配符可以使得输入更加方便;充分利用命令的功能可以提升数据处理速度。相对来说,同样处理效果的命令行中,使用管道“}”的数量越少效率越高,再加上awk工具本身处理数据的效率就很高,因此图10-38中在对目标文件合并后处理的几条命令行中,最后一条的处理效率一般是最高的(其实,如果大家对awk工具中的数组使用理解比较透彻,那么最后一条命令还可以进一步简化为“awk `/Baiduspider/&&!a[$7]++ {print $7}'2013.4.2 *.1oglwc -1",使用一次awk直接对URL字段进行去重,更为高效)。
4.查看百度抓取最多的前n个页面,并查看这些页面每个页面被抓取的次数uniq命令的“一。”参数可以在数据行之前输出该行数据的重复次数,也就是可以得到咱们需要的URL被抓取次数;sort命令的“-n”参数可以让数据按照数值排序,前文有过介绍,如果需要数据按照数值排序,当数据行开头的数字超过10时就需要使用“-n”了。
"-r”参数可以使得数据从高到低排序。这样就可以使得被百度抓取的URL按照被抓取次数从高到低排序了。最后使用head命令提取我们需要查看的前几条URL的抓取次数(频率)情况。

数据可以看到,被抓取次数比较多的基本上都是主要频道页,大部分网站都会是这种情况。根据这个数据可以调整相关页面上内容更新的周期或数据缓存周期,以便于百度可以抓取网站更多新内容;如果发现有一些频道页面的更新频率不是很大,频道下内容也不是很多(可能在站内的重要程度也不高),但是百度对这些频道页面的抓取频率很高,为了提升百度对其他页面的抓取,可以适当在站内对导向这些频道页的链接进行nofollow处理。另外注意到提取结果的最后一条URL应该是一个工具页面,而非内容页,理论上不应该被百度抓取到,可以进行进一步分析该URL的入口及该页面的价值,考虑是否需要在robots.txt文件中把该URL对百度屏蔽,以促进百度对网站其他页面的抓取。
另外,如果此时使用的是DOS,那么“sort -nr”应该改为“sort /r",其实紧跟在“uniq -c"之后的“sort”命令是否使用“-n"’参数结果都是一样的。
5.统计百度抓取网站时的各个状态码的数量由第一步中己经知道,在要分析的日志文件中状态码为第9字段,因此只要提取百度抓取记录第9字段的数据处理即可。如图10-40所示,相信大家都已经很清楚这条命令行的意思了,不再过多解释。注意到数据中404的比例是比较大的,如果网站是新闻媒体类网站,每天很少删除内容,那么这个数据就可能代表网站程序出了问题,需要具体细分分析;如果网站是分类信息等UGC类的网站,因为每天都要删除大量垃圾内容,所以这个数据相对来说是比较正常的,不必过于担心。还注意到数据中301的比例也比较大,这需要根据网站具体情况具体分析,如果网站刚刚改版,301的数量过多也是比较正常的,要时刻注意这个数据的变化,在网站正常的改版过程中,301的数量应该是从改版后慢慢减少的;如果网站没有做过任何改动,日志中就突然出现了大量的301,就需要检查网站是否有URL错误或泛解析错误等造成服务器自动对这些访问返回了301状态码,根据网站具体情况进行深入的分析。
 
r-i.查看返回某个状态码最多的频道或目录
在上一步中发现该网站24日404比较多,细分分析一下到底是哪块返回的404最多。由日志中的数据可以了解到该网站下有大量子域名,那么第一步就需要先查看主要有哪些子域名返回了大量404。第一条命令行首先提取日志中第9段也就是状态码字段值为404的URL ($7);然后使用awk以“.”为分隔符对URL进行分割并提取第1字段,也就是域名中第一个“.”之前的数据,也就是子域名名字;最后对数据排序去重提取数量最多的前10条数据。根据第一条命令行的执行结果可以看出」ian。子域名返回的404最多,也是主要问题域名。这个分析就把问题进行了进一步的定位,下面再进行更细分的定位(这一步其实也可以使用“/”为分隔符,然后提取整个子域名,而非只是子域名名字)。
 
首先使用awk把日志中状态为404且以“jianc”开头的URL提取出来(“&&”表示“且’夕,“}}”表示“或”);然后使用awk以“/”为分隔符对URL进行分割,并提取第2字段,也就是一级目录(根据网站结构,也可能会有内容页);最后对提取的数据排序、去重,提取数量最多的前10条数据。根据第二条命令行的执行结果可以看出‘'jianc”子域名下的“/cp/"目录是404的主要根源。有了这个分析结果在去网站中相关频道分析具体产生404的原因,是其他部门对该频道进行了规模清理,还是这个频道所在的服务器出现了问题,还是这个频道本身网站程序出现了问题等。
7.查看百度抓取最多的频道或目录
在上面的命令演示中基本上包含了这个需求,首先把日志中百度抓取的URL数据提取出来;然后以“/”把URL进行分割并提取第1字段,也就是域名数据;再对这个数据进行排序、去重,按抓取量由高到低排序。由于此网站子域名过多,笔者只提取了抓取量最多的15个域名。显示百度对各个域名抓取量之间的比例,基本上和各个子域名下的资源数量的比例是差不多的,因此这个数据表示百度对站内资源的抓取分配还是比较合理的。如果在这个数据中发现不合理的地方,那么就可以通过使用nofollow或robots.txt屏蔽的方式来调整百度对站内资源的抓取。
8.统计百度一共抓取的字节数
在前文查看日志格式时已知服务器所发送的字节数在第10字段,因此只要统计百度抓取的第10字段的数据然后求和就可以了。在实际的日志分析工作中这个需求还是比较小的,这儿使用了BEGIN, END和变量,有兴趣的朋友自行问百度或Google吧,此处不再进行详细介绍了。如果有同样的需求,直接套用图10-43中的命令行即可。第一条命令行为统计百度在24日抓取网站的总字节数:第二条命令行做了进一步计算,计算出了百度抓取网站的总兆数。可见百度存24日对该网站总抓取16 414 892 668Bvte,也就是15654.5MB。
有不少朋友的网站是放在虚拟空间中的,可能有些主机提供商会对空间流量做了一定限制,当这部分朋友发现网站实际流量变化不大,但空间流量消耗很大时,可以使用此命令行来查看是否是某个搜索引擎对网站的抓取量太大。一般情况下主流搜索引擎不会无节制地抓取网站,当发现是不知名的搜索引擎Spider对网站抓取量太大时,可以选择对其进行robots.txt和IP封禁;如果经过分析发现是主流搜索引擎对网站的抓取量过大,则推荐做升级空间的工作。

以上演示基本把日志分析工作中的基本命令应用都涉及了,更为具体和细分的工作就需要大家根据自己网站的数据情况自行研究了。不过要时刻提醒自己,除非自己想转向技术,否则这些命令只是辅助自己分析数据的工具而已,只要懂得如何使用这些命令分析数据就可以了,并不需要把Shell命令都系统地学习一遍。另外这些命令行只能得出数据,作为SEO人员,需要细分分析数据背后所反映出来的问题,否则这些命令行所得出的数据都是没有意义的。
另外,在以上演示中笔者都是对原始日志文件进行操作,大家在真正分析日志时,如果只需要分析某个搜索引擎的抓取情况,可以先根据其Spider名字把相关记录提取到新文件中,这样就不必每次都对原始比较大的日志文件进行处理,分析速度会提升不少。还有,一般服务器的日志格式是固定不变的,所以以上常规分析的命令行其实可以打包成脚本(DOS下直接保存为批处理文件),每次执行一下脚本就可以把常规数据提取出来,不需要再一行行地重复输入命令行。例如如图10-44所示,笔者使用editplus简单写了几行命令,把这几行命令保存为以“.bat"结尾的批处理文件,然后按照自己所写批处理的要求把批处理文件和日志放到同一个文件夹下,双击批处理文件,就可以得到结果了。
不仅仅是分析日志,日常工作中需要反复进行的数据处理工作大部分都可以做成脚本处理,这样会大大提升工作效率。比如笔者有段时间喜欢处理关键词,在多渠道获得的大关键词库中提取出笔者需要的特定类型关键词,处理步骤比较复杂,涉及去除包含特殊符号、停止词、明
确不符合要求的词根,根据所统计的近1500个规范词根对已经净化过的关键词库进行提词,把按照各种条件抽取的关键词单独存放待用,并对各个词库进行按照指定要求排序等。需要去除、提取的核心字符有近2000个,如果在命令行窗口中进行操作,可能至少需要手动敲2000多行
命令,并且每次敲完命令都要等待命令执行完成之后,才能进行下一步操作,当需要处理的原始词库有几千万甚至上亿数据时,这个等待过程也是非常痛苦的,更别提每次处理数据都要做一遍重复工作了。因此笔者把相应的命令按照顺序进行了打包,做成了一个比较粗糙的批处理
文件,在这个过程中重复的命令可以使用 Excel批量生成,把复杂工作尽可能地简单化了,同时也大大提升了工作效率,需要处理数据时,只要打开批处理文件,然后去做其他工作,过段时间回来取结果就可以了。
有兴趣或有更多个性需求的朋友可以自行研究一下这些常用的命令。针对日志分析,大家也可以求助于技术人员,抽时间写一个常规的分析脚本,每天在服务器上自动分析昨天的日志,还可以要求把日志分析结果以邮件的形式发给自己,也算是对网站运营情况的一种监测,当在这些数据中发现异常时,再去详细细分的分析日志文件以找到问题根源。同时,真正对数据分析感兴趣的朋友也可以深入研究一下excel, excel中有大量的函数可以辅助进行批量数据分析和
整理,基本上可以满足绝大部分朋友的需求,除非你要处理的数据超过了1 048 576行或16 384列(Exce12007的限制)。本次的网站降权解决方法大概就到这,有朋友想深入讨论的话可以关注微笑的SEO网站:http://jc.smiseo.com/或在网站上找到微笑的联系方式大家一起深入讨论。
 
本文出自微笑SEO优化教程网,未经允许不得转载:网站降权解决方法 http://jc.smiseo.com/seoyhjc/310.html