分割字符串
(请注意:如果您正在使用scream Frog的日志文件分析器,则不需要此步骤)
打开日志文件后,您将需要将每个单元中繁琐的文本分割成列,以便以后更容易地进行排序。
Excel的Text to Column函数在这里很方便,只需选择所有填充的单元格(Ctrl / Cmd + A),进入Excel >数据> Text to Columns,选择“Delimited”选项,分隔符为空格字符。
一旦您将其分离出来,您可能还希望按时间和日期排序—您可以在时间和日期戳列中这样做,通常使用“:”冒号分隔符分隔数据。
你的文件应该看起来像下面这个:
正如前面提到的,如果您的日志文件看起来不完全一样,不要担心—不同的日志文件有不同的格式。只要您有基本的数据(时间和日期、URL、用户代理等),就可以了!
理解日志文件
现在您的日志文件已经可以进行分析了,我们可以开始深入了解数据了。日志文件有多种格式,可以采用多个不同的数据点,但它们通常包括以下内容:
服务器IP
日期和时间
服务器请求方法(例如GET / POST)
请求的URL
HTTP状态代码
用户代理
如果你对细节感兴趣,可以在下面找到更多关于通用格式的细节:
w3c
Apache和NGINX
Amazon弹性负载平衡
HA代理
JSON
如何快速揭示爬行预算的浪费
简单回顾一下,爬行预算是搜索引擎每次访问您的站点时爬行的页面数。许多因素影响爬行预算,包括链接公平性或域权限、站点速度等。有了日志文件分析,我们将能够看到你的网站有什么样的爬网预算和哪里有问题导致爬网预算浪费。
理想情况下,我们希望为爬行器提供尽可能高效的爬行体验。爬行不应该浪费在低价值的页面和url上,而且优先级页面(例如产品页面)不应该有更慢的索引和爬行速度,因为一个网站有太多的无用页面。游戏的名字是爬行预算节约,与良好的爬行预算转换带来更好的有机搜索性能。
查看由用户代理抓取的url
查看站点的url被抓取的频率可以很快地揭示出搜索引擎把时间花在抓取上的地方。
如果您对查看单个用户代理的行为感兴趣,这很容易,只需过滤出excel中的相关列即可。在这种情况下,使用WC3格式的日志文件,我过滤的cs(用户代理)列由Googlebot:
然后过滤URI列,以显示Googlebot爬过此示例站点主页的次数:
这是一种快速查看单个用户代理的URI stem是否存在问题区域的方法。您可以进一步查看URI stem列的过滤选项,在本例中是cs-uri-stem:
从这个基本菜单中,我们可以看到哪些url(包括资源文件)正在被爬行,以快速识别任何问题url(例如,不应该爬行的参数化url)。
您还可以使用数据透视表进行更广泛的分析。要获得特定用户代理抓取特定URL的次数,请选择整个表(Ctrl/cmd + a),然后插入>数据透视表,然后使用以下选项:
我们所做的就是根据用户代理进行过滤,将URL茎作为行,然后计算每个用户代理出现的次数。
我的例子日志文件,我得到了以下:
然后,为了根据特定的用户代理进行筛选,我点击了包含“(全部)”的单元格上的下拉图标,并选择了Googlebot:
了解哪些不同的机器人正在爬行,移动机器人如何以不同的方式爬行到桌面,以及爬行发生最多的地方,可以帮助您立即了解哪些地方存在爬行预算浪费,以及站点的哪些区域需要改进。
查找低价值的添加url
爬行预算不应该浪费在低附加值的url上,这通常是由会话id、无限爬行空间和分面导航造成的。
为此,返回到您的日志文件,并根据包含“?”或URL列中的问号符号(包含URL词干)。要在Excel中做到这一点,记得使用“~?”或波浪号问号,如下图所示:
一个”?或问号,如自动筛选窗口中所述,表示任何单个字符,因此添加波浪号就像一个转义字符,确保过滤掉问号符号本身。
这不是很容易吗?
发现重复的网址
重复的url可能是一个爬行的预算浪费和一个大的SEO问题,但找到它们可能是一件痛苦的事情。URL有时可能有轻微的变体(例如结尾的斜杠与非结尾的斜杠版本的URL)。
最后,找到重复URL的最佳方法也是最无趣的方法—您必须按站点URL的字母顺序对其进行排序,并手动查看它。
一种方法,您可以找到尾随和非尾随斜杠版本的同一个URL是使用替代函数在另一列,并使用它来删除所有的前斜杠:
=替代(C2, " / ", " ")
在我的例子中,目标细胞是C2,因为stem数据在第三列。
然后,使用条件格式来标识重复的值并突出显示它们。
然而,不幸的是,目测是目前最好的方法。
查看子目录的爬网频率
找出哪些子目录被爬行得最多是另一种揭示爬行预算浪费的快速方法。尽管记住,仅仅因为一个客户的博客从未获得一个反向链接,一年只有三个视图从业务所有者的奶奶并不意味着你应该考虑它爬预算浪费——内部链接结构应该始终好整个网站,可能有一个强大的原因,内容从客户的角度来看。
要找出爬频子目录的水平,你将需要主要眼球,但以下公式可以帮助:
=如果(右(C2, 1) = " / ",总和(LEN (C2) LEN(替代(C2, ", "))) / LEN(“/”) +总和(LEN (C2) LEN(替代(C2, " = ", " "))) / LEN(" = ") 2,总和(LEN (C2) LEN(替代(C2, ", "))) / LEN(“/”) +总和(LEN (C2) LEN(替代(C2, " = ", " "))) / LEN (" = ") (1)
上面的公式看起来有点奇怪,但它所做的只是检查是否有一个结尾斜杠,根据答案,计算结尾斜杠的数量,然后从这个数字中减去2或1。如果使用正确的公式从URL列表中删除所有的斜杠,这个公式可以缩短—但是谁有时间呢?剩下的是子目录计数(从第一个子目录的0开始)。将C2替换为第一个URL stem / URL单元格,然后将公式复制到整个列表中以使其工作。
确保将所有的C2s替换为适当的起始单元格,然后将新的子目录计数列按最小到最大排序,以获得按逻辑顺序排列的文件夹列表,或者很容易按子目录级别进行筛选。例如如下图所示:
上面的图像是按级别排序的子目录。
上图是按深度排序的子目录。
如果你不处理大量的url,你可以简单地按字母顺序对url排序,但这样你就不会得到子目录计数过滤,这对于较大的站点来说要快得多。
按内容类型查看抓取频率
找出什么内容正在被抓取,或者是否有任何内容类型占用了抓取预算,是发现抓取预算浪费的好方法。经常在不必要的或低优先级的CSS和JS文件上爬行,或者在图像上爬行是如何发生的,如果你试图优化图像搜索,很容易发现这个策略。
在Excel中,根据内容类型查看抓取频率就像使用带过滤选项的Ends来过滤URL或URI一样简单。
快速提示:您还可以使用“不结束与“过滤和使用. html扩展来看看html页面文件正在爬,总是值得爬预算的检查,以防浪费在不必要的js和css文件,甚至图像和图像变化(看你的Wordpress)。另外,请记住,如果您的站点有拖尾和非拖尾的斜杠url,请使用“or”操作符进行过滤。
监视机器人:了解网站爬行行为
通过日志文件分析,我们可以通过了解机器人的优先级来了解它们的行为。不同的机器人在不同的情况下表现如何?有了这些知识,您不仅可以加深对SEO和爬行的理解,而且还可以让您在理解站点架构的有效性方面有一个巨大的飞跃。
看到最多和最少爬的网址
这个策略以前已经被修改过,用户代理可以看到抓取的url,但是它甚至更快。
在Excel中,在表中选择一个单元格,然后单击Insert > Pivot表,确保所选内容包含必要的列(在本例中为URL或URI stem和user-agent),然后单击OK。
创建了数据透视表之后,将行设置为URL或URI stem,并将汇总值设置为user-agent。
从那里,你可以右键点击user-agent列和排序的url从最大到最小的爬行计数:
现在你将有一个很棒的表格来制作图表,或者快速回顾和寻找任何有问题的地方:
在查看这些数据时要问自己的一个问题是:您或客户是否希望爬行页面?多长时间?频繁的爬行并不一定意味着更好的结果,但它可以指示谷歌和其他内容用户代理最优先考虑什么。
每天、每周或每月的爬网频率
检查爬行活动,以识别在谷歌更新之后或在紧急情况下一段时间内已经丢失了可见性的问题,可以告诉您问题可能出现在什么地方。这非常简单,只需选择“date”列,确保该列是“date”格式类型,然后在date列上使用日期过滤选项。如果您希望分析整个星期,只需选择相应的天数,并提供可用的筛选选项。
指令爬行频率
了解谷歌遵循哪些指令(例如,如果您在robots.txt中使用不允许甚至无索引指令)对于任何SEO审计或活动都是至关重要的。例如,如果一个站点使用不允许的分面导航url,您需要确保这些url是被遵守的。如果没有,建议一个更好的解决方案,比如像meta robots标签这样的页面指令。
要通过指令查看爬网频率,您需要将爬网报告与日志文件分析结合起来。
(警告:我们将使用VLOOKUP,但它实际上并不像人们想象的那么复杂)
要获得合并的数据,请执行以下操作:
使用您最喜欢的爬行软件从您的站点获取爬行。我可能有偏见,但我是尖叫青蛙SEO蜘蛛的超级粉丝,所以我要用它。
如果您还在使用爬行器,请逐字执行这些步骤,否则,请自己调用以获得相同的结果。
从SEO Spider(内部选项卡>“Filter: HTML”)导出内部HTML报告,并打开“internal_all”。xlsx”文件。
从那里,您可以过滤“可索引状态”列并删除所有空白单元格。为此,使用“不包含”筛选器,并将其留空。您还可以添加“和”操作符,并过滤掉重定向的url,使过滤值等于“不包含”→“重定向”,如下图所示:
这将显示被元机器人规范化、无索引和规范化url。
将这个新表复制出来(只有地址和可索引状态列),并将其粘贴到日志文件分析导出的另一个工作表中。
现在是一些VLOOKUP魔术。首先,我们需要确保URI或URL列数据的格式与爬行数据相同。
日志文件通常没有根域或协议在URL中,所以我们需要删除的URL使用“查找和替换”在我们的新表,或使一个新列在你的日志文件分析表附加协议URI茎和根域。我更喜欢这个方法,因为这样你可以快速复制粘贴一个URL,你看到的问题,看看。但是,如果您有一个巨大的日志文件,那么使用“查找和替换”方法可能会大大减少CPU占用。
要获得完整的URL,请使用以下公式,但URL字段将更改为您正在分析的任何站点(并确保协议也是正确的)。您还需要将D2更改为URL列的第一个单元格
="https://www.example.com"&D2把公式拖到你的日志文件表的末尾,得到一个完整的url列表:
现在,创建另一个列并将其称为“可索引状态”。在第一个单元格中,使用与下面类似的VLOOKUP: =VLOOKUP(E2,CrawlSheet! a $1:B$1128,2,FALSE)。将E2替换为“完整URL”列的第一个单元格,然后将查找表转换为新的单元格。爬行。记住起诉美元符号,这样查找表就不会像您那样改变。将此公式应用于其他角色。然后,选择正确的列(1是索引表的第一列,所以我们要找的是2)。使用伪范围查找模式进行精确匹配。现在你有一个很好的整洁的列表的网址和他们的可索引状态匹配抓取数据:
按深度和内部链接抓取频率
通过这种分析,我们可以看到站点架构在爬行预算和爬行能力方面的表现。主要目的是查看你的url是否比你的请求多很多——如果你有,那你就有问题了。机器人不应该“放弃”爬行你的整个网站,不发现重要的内容或浪费爬行预算的内容不重要。
提示:在此分析之外,还值得使用一个爬行可视化工具来查看站点的整体架构,并查看哪些地方有“分支”或页面内部链接不佳。
要获得这些非常重要的数据,请执行以下步骤:
使用您喜欢的爬行工具爬行您的网站,并导出具有每个URL的单击深度和内部链接数量的任何报告。
在我的例子中,我使用了尖叫青蛙SEO蜘蛛,导出内部报告:
使用VLOOKUP来匹配你的URL与爬行深度列和链接的数量,这将给你这样的东西:
根据您希望看到的数据类型,您可能希望过滤掉此时返回200个响应代码的url,或者在稍后创建的数据透视表中使它们成为可过滤的选项。如果你检查一个电子商务网站,您可能希望只关注产品的url,或者如果你正在优化抓取的图像可以通过文件类型过滤过滤您的日志文件使用的URI列你爬的“内容类型”列出口,使一个选项来过滤数据透视表。与所有这些检查一样,您有许多选项!
使用数据透视表,您现在可以分析爬行速度爬行深度(过滤特定的机器人在这种情况下)与以下选项:
得到如下结果:
比搜索控制台更好的数据?识别爬行问题
搜索控制台可能是每个搜索引擎优化的首选,但它肯定有缺陷。历史数据比较难获得,而且可以查看的行数也有限制(在编写本文时是1000行)。但是,对于日志文件分析来说,前途是无限的。通过以下检查,我们将发现爬行和响应错误,从而对您的站点进行全面的健康检查。
发现抓取错误
一个显而易见的快速检查添加到您的军火库,您所要做的就是过滤您的日志文件的状态列(在我的情况下“sc-status”与W3C日志文件类型)4xx和5xx错误:
查找不一致的服务器响应
不同服务器响应特定的URL可能随着时间的推移,可以是正常的行为,比如当一个失效链接被固定或签署服务器有一个严重的问题发生,如当拥挤的交通到您的网站会导致更多的内部服务器错误和影响站点的爬行。
分析服务器响应是一样容易的过滤,按URL和日期:或者,如果希望快速查看URL在响应代码中的变化,可以使用一个数据透视表,其中将行设置为URL,将列设置为响应代码,并计算URL生成响应代码的次数。为了实现这一设置,创建一个透视表与以下设置:
这将产生下列结果:
如上表所示,你可以清楚地看到“/inconcistent”。(在红色框中高亮显示)有不同的响应代码。
按子目录查看错误
为了找出哪个子目录产生的问题最多,我们只需要做一些简单的URL过滤。过滤出URI列(在我的例子中是“cs-uri-stem”),并使用“contains”过滤选项来选择特定的子目录和该子目录中的任何页面(带有通配符*):
对我来说,我检查了博客子目录,结果如下:
通过用户代理查看错误
发现哪些机器人正在挣扎是很有用的,原因有很多,包括看到移动和桌面机器人在网站性能上的差异,或者哪些搜索引擎能够更好地抓取你的网站。
您可能想要查看哪些特定url会导致特定bot出现问题。最简单的方法是使用一个数据透视表,它允许过滤每个URI中特定响应代码出现的次数。为了实现这一点,做一个透视表与以下设置:
从那里,你可以过滤你选择的机器人和响应代码类型,如下图,我过滤的Googlebot桌面寻找404错误:
另外,您还可以使用一个数据透视表,通过创建一个数据透视表来按bot过滤、按URI出现次数计数,并将响应代码作为行来使用,从而查看特定的bot总共产生了多少次不同的响应代码。为此,请使用以下设置:
例如,在下面的数据透视表中,我正在查看每个响应代码Googlebot接收了多少个:
诊断页面问题
网站不仅要为人类设计,还要为机器人设计。页面加载速度不应该很慢,也不应该大量下载,通过日志文件分析,您可以从机器人的角度看到每个URL的这两个指标。
查找慢速和大页面
当你可以你的日志文件的“时间”或“加载时间”列从最大到最小的找到页面加载慢,最好看看每个URL的平均加载时间可能有其他因素,可能会导致一个缓慢的请求而不是网页的实际速度。
为此,创建一个数据透视表,将行设置为URI stem或URL,并将汇总值设置为加载所需的时间或加载时间:
然后使用下拉箭头,在这种情况下,它说“时间的总和”,并前往“值字段设置”:
在新窗口中,选择“Average”,你就完成了:
现在,你应该有类似以下的东西,当你排序的URI系统按最大到最小和平均时间:
找到大页面
您现在可以使用如下所示的设置添加下载大小列(在我的示例中是“sc-bytes”)。请记住,根据您想要看到的内容,将大小设置为平均值或和。对我来说,我算出了平均值:
你应该得到类似的东西如下:
Bot行为:验证和分析Bot
理解bot和爬行行为的最佳和最简单的方法是使用日志文件分析,因为您将再次获得真实的数据,而且它比其他方法少了很多麻烦。
找到un-crawled url
只需使用您选择的工具对您的网站进行爬行,然后使用您的日志文件对url进行比较,以找到唯一的路径。您可以使用Excel或条件格式的“删除重复项”功能来实现这一点,尽管前者的CPU占用要少得多,特别是对于较大的日志文件。简单!
识别垃圾邮件机器人
通过日志文件和一些基本的命令行操作符,可以很容易地识别来自垃圾邮件和欺骗机器人的不必要的服务器压力。大多数请求都有一个与之相关的IP,所以使用您的IP列(在我的情况中,它在W3C格式日志中被命名为“c-ip”),删除所有重复项,以找到每个请求的IP。
通过一些简单的工具,你可以深入了解Googlebot的行为方式。当你理解了网站如何处理爬行时,你就可以诊断出更多的问题,但日志文件分析的真正力量在于能够测试你关于Googlebot的理论,并扩展上述技术来收集你自己的见解和启示。
(转载:www.idcew.com)