日志文件分析应该成为每个seo专业人士工具的一部分,但是大多数SEO从未进行过。这意味着大多数SEO都缺少常规爬网工具无法产生的独特而宝贵的见解。
让我们揭开Log File Analysis的神秘面纱,让它不再那么令人生畏。如果您对日志文件的美好世界以及它们可以带给您的站点审核感兴趣,则本指南绝对适合您。
日志文件是包含有关谁和什么向您的网站服务器发出请求的详细日志的文件。每次漫游器向您的站点发出请求时,数据(例如时间,日期IP地址,用户代理等)都会存储在此日志中。这些宝贵的数据可让任何SEO找出googlebot和其他抓取工具在您的网站上正在做什么。与常规的爬网(例如,Screaming Frog SEO Spider)不同,这是真实的数据,而不是对网站爬网方式的估计。它是网站爬网的准确概述。
拥有这些准确的数据可以帮助您确定爬网预算浪费的领域,轻松查找访问错误,了解您的SEO努力如何影响爬网等等。最好的部分是,在大多数情况下,您可以使用简单的电子表格软件来完成此操作。
在本指南中,我们将重点放在Excel上以执行日志文件分析,但是我还将讨论其他工具,例如Screaming Frog鲜为人知的Log File Analyzer,它可以通过帮助您管理而使工作变得更加轻松和快捷。更大的数据集。
注意:拥有Excel以外的任何其他软件都无需遵循本指南,也可以避免使用Log Files。
当您获得扩展名为.log的日志文件时,实际上就像重命名文件扩展名为.csv并在电子表格软件中打开文件一样容易。如果要编辑扩展名,请记住将操作系统设置为显示文件扩展名。
日志文件可以是一个大日志,也可以是多个文件,具体取决于站点的服务器配置。某些服务器将使用服务器负载平衡在服务器池或服务器场中分配流量,从而导致日志文件被拆分。好消息是它真的很容易组合,您可以使用以下三种方法之一来组合它们,然后按常规打开它们:
然后运行以下命令:
复制* .log mylogfiles.csv
现在,您可以打开mylogfile.csv,它将包含您的所有日志数据。
或者,如果您是mac用户,请首先使用cd命令转到日志文件的目录:
cd文件/ MyLogFiles /
然后,使用cat或concatenate命令合并文件:
猫* .log> mylogfiles.csv
2)使用免费工具“ 日志文件合并”,合并所有日志文件,然后将文件扩展名编辑为.csv并正常打开。
3)使用Screaming Frog日志文件分析器打开日志文件,就像拖放日志文件一样简单:
(请注意:如果您使用Screaming Frog的日志文件分析器,则不需要此步骤)
打开日志文件后,您需要将每个单元格中的繁琐文本分成几列,以便以后进行排序。
Excel的“文本到列”功能在这里派上用场,就像选择所有填充的单元格(Ctrl / Cmd + A)并转到Excel>“数据”>“文本到列”并选择“定界”选项一样简单,定界符是空格字符。
分离出来之后,您可能还想按时间和日期进行排序-您可以在“时间和日期”戳记列中进行排序,通常使用“:”冒号分隔符来分隔数据。
您的文件应类似于以下文件:
如前所述,请不要担心您的日志文件看起来并不完全相同-不同的日志文件具有不同的格式。只要那里有基本数据(时间和日期,URL,用户代理等),您就可以使用它!
现在您的日志文件已准备好进行分析,我们可以深入了解并开始了解我们的数据。日志文件可以采用多种格式处理多个不同的数据点,但是它们通常包括以下内容:
如果您对具体细节感兴趣,可以在下面找到有关常见格式的更多详细信息:
快速回顾一下,抓取预算是指搜索引擎在您每次访问网站时抓取的页面数。许多因素会影响爬网预算,包括链接资产或域权限,站点速度等。借助日志文件分析,我们将能够查看您的网站具有哪种爬网预算,以及在哪里会导致浪费爬网预算的问题。
理想情况下,我们希望为爬虫提供最有效的爬虫体验。爬网不应浪费在低价值的页面和URL上,优先级页面(例如产品页面)的索引编制和爬网速度也不应慢,因为网站的自重页面太多。游戏的名称是抓取预算节省,并且具有良好的抓取预算转换,可以带来更好的自然搜索性能。
了解网站的URL进行爬网的频率可以快速揭示搜索引擎将其时间投入爬网的位置。
如果您有兴趣查看单个用户代理的行为,这很容易,因为可以过滤掉excel中的相关列。在这种情况下,使用WC3格式的日志文件,我通过Googlebot过滤了cs(User-Agent)列:
然后过滤URI列,以显示Googlebot抓取该示例网站首页的次数:
这是通过URI词干查看单个用户代理是否存在任何问题区域的快速方法。您可以通过查看URI stem列的过滤选项来更进一步,在本例中为cs-uri-stem:
从这个基本菜单中,我们可以看到正在爬网的URL(包括资源文件)以快速识别任何问题URL(例如,不应被爬网的参数化URL)。
您还可以使用数据透视表进行更广泛的分析。要获取特定用户代理对特定URL进行爬网的次数,请选择整个表(Ctrl / cmd + A),转到“插入”>“数据透视表”,然后使用以下选项:
我们要做的只是通过用户代理进行过滤,将URL干作为行,然后计算每个用户代理发生的次数。
通过示例日志文件,我得到了以下内容:
然后,要按特定的User-Agent进行过滤,我点击了包含“(全部)”的单元格上的下拉图标,然后选择了Googlebot:
了解哪些不同的漫游器正在爬网,移动漫游器如何以与桌面不同的方式爬网以及发生爬网最多的位置,可以帮助您立即了解哪些地方存在爬网预算浪费以及需要改进的站点区域。
爬网预算不应浪费在低附加值URL上,这些URL通常是由会话ID,无限的爬网空间和多面导航引起的。
为此,请返回您的日志文件,并根据URL列中包含“?”或问号符号的URL(包含URL词干)进行过滤。要在Excel中执行此操作,请记住使用“〜?”或代字号问号,如下所示:
如自动过滤器窗口中所述,单个“?”或问号表示任何单个字符,因此添加代字号就像一个转义字符,并确保过滤出问号符号本身。
那不容易吗?
重复的URL可能会浪费抓取预算并造成很大的SEO问题,但是找到它们可能会很麻烦。有时,URL可能会有一些细微的变化(例如URL的斜杠与非斜杠版本)。
最终,查找重复URL的最佳方法也是最不有趣的方法-您必须按字母顺序对站点URL进行排序,然后手动对其进行关注。
查找相同URL的尾随和非尾随斜杠版本的一种方法是,在另一列中使用SUBSTITUTE函数,并使用该函数删除所有正斜杠:
= SUBSTITUTE(C2,“ /”,“”)
在我的情况下,目标细胞为C2,因为茎数据位于第三列。
然后,使用条件格式识别重复的值并突出显示它们。
但是,不幸的是,眼球是目前最好的方法。
找出哪些子目录最常被爬网是揭示爬网预算浪费的另一种快速方法。尽管要牢记,只是因为客户的博客从未获得过一个反向链接,并且每年仅从企业主的祖母那里获得3次浏览,但这并不意味着您应该认为它浪费了预算,整个网站的内部链接结构应该始终保持良好状态从客户的角度来看,可能很可能需要该内容。
要按子目录级别查找爬网频率,您需要主要关注它,但是以下公式可以帮助您:
= IF(RIGHT(C2,1)=“ /”,SUM(LEN(C2)-LEN(SUBSTITUTE(C2,“ /”,“”)))/ LEN(“ /”)+ SUM(LEN(C2) -LEN(SUBSTITUTE(C2,“ =”,“”)))/ LEN(“ =”)-2,SUM(LEN(C2)-LEN(SUBSTITUTE(C2,“ /”,“”)))/ LEN (“ /”)+ SUM(LEN(C2)-LEN(SUBSTITUTE(C2,“ =”,“”))))/ LEN(“ =”)-1)
上面的公式看起来有点笨拙,但是它所做的只是检查是否有斜杠,并根据答案计算斜杠的数目并从该数目中减去2或1。如果使用RIGHT公式从URL列表中删除所有结尾的斜杠,则可以缩短此公式-但是谁有时间。剩下的就是子目录计数(从第一个子目录从0开始)。
将C2替换为第一个URL词干/ URL单元格,然后将公式复制到整个列表中以使其起作用。
确保使用适当的起始单元格替换所有C2,然后按最小到最大的顺序对新的子目录计数列进行排序,以按逻辑顺序获得良好的文件夹列表,或者轻松地按子目录级别进行过滤。例如,如以下屏幕截图所示:
上图是按级别排序的子目录。
上图是按深度排序的子目录。
如果您不处理大量URL,则可以简单地按字母顺序对URL进行排序,但是您将无法获得子目录计数过滤功能,这对于大型站点可能要快得多。
找出要爬网的内容,或者是否有任何内容类型在限制爬网预算,这是发现爬网预算浪费的绝佳选择。使用这种策略可以很容易地发现对不必要的或低优先级的css和JS文件的频繁爬网,或者如果您正在尝试针对图像搜索进行优化,则会在图像上进行爬网。
在Excel中,按内容类型查看爬网频率就像使用“结尾为”过滤选项按URL或URI茎进行过滤一样容易。
快速提示:您还可以使用“不以...结尾”过滤器,并使用.html扩展名查看非HTML页面文件的爬网方式-始终值得检查,以防不必要的js或css文件浪费爬网预算,或者甚至图像和图像变体(看着您的wordPress/ target=_blank class=infotextkey>WordPress)。另外,请记住,如果您的站点具有尾随和非尾随的斜杠URL,则使用带有过滤功能的“或”运算符将其考虑在内。
日志文件分析使我们能够了解机器人的优先级,从而了解它们的行为方式。不同的机器人在不同情况下的表现如何?有了这些知识,您不仅可以加深对SEO和爬网的理解,还可以使您在了解网站架构的有效性方面取得巨大飞跃。
以前,通过查看用户代理抓取的URL可以完善此策略,但是它甚至更快。
在Excel中,选择表中的单元格,然后单击“插入”>“数据透视表”,确保所选内容包含必要的列(在这种情况下,URL或URI词干以及用户代理),然后单击“确定”。
创建数据透视表后,将行设置为URL或URI词干,并将总和设置为用户代理。
在此处,您可以右键单击“用户代理”列,然后按爬网计数将URL从最大到最小排序:
现在,您将拥有一张不错的桌子,可以根据它制作图表或快速查看并查找任何有问题的区域:
在查看此数据时要问自己的一个问题是:您或客户想要爬网的页面吗?多常?频繁爬网并不一定意味着会有更好的结果,但这可能表明Google和其他内容用户代理将哪些内容放在了优先位置。
在Google更新或紧急情况下,检查爬网活动以识别一段时间内可见性下降的问题,可以通知您问题可能出在哪里。这就像选择“日期”列,确保该列为“日期”格式类型,然后使用日期列上的日期过滤选项一样简单。如果您要分析整个星期,只需选择具有可用过滤选项的相应日期即可。
了解Google遵循的是什么指令(例如,如果您在robots.txt中使用的是不允许甚至无索引的指令),对于任何SEO审核或广告系列来说都是至关重要的。举例来说,如果网站使用的导航URL多面,则您需要确保遵守这些URL。如果不是,则推荐更好的解决方案,例如页面指令(如meta robots标签)。
要按指令查看抓取频率,您需要将抓取报告与日志文件分析结合起来。
(警告:我们将使用VLOOKUP,但实际上并没有人们想象的那么复杂)
要获取合并的数据,请执行以下操作:
在此处,您可以过滤“可索引性状态”列,并删除所有空白单元格。为此,请使用“不包含”过滤器,并将其保留为空白。您还可以添加“和”运算符,并通过使过滤器值等于“不包含”→“重定向”来过滤重定向的URL,如下所示:
这将显示元机器人的规范化,无索引和规范化URL。
通过此分析,我们可以查看网站的体系结构在爬网预算和爬网能力方面的表现。主要目的是查看URL是否比请求的数量多得多-如果存在,那么您就会遇到问题。僵尸程序不应该“放弃”对整个站点的爬网,不要发现重要的内容,也不应该在不重要的内容上浪费爬网预算。
提示:还值得在此分析中使用爬网可视化工具来查看网站的总体架构,并查看哪里有“分支”或内部链接不佳的页面。
要获取所有重要数据,请执行以下操作:
要获得如下内容:
Search Console可能是每个SEO的首选,但它肯定有缺陷。历史数据很难获得,并且可以查看的行数有限制(在撰写本文时为1000)。但是,借助日志文件分析,才是极限。通过以下检查,我们将发现爬网和响应错误,以对您的网站进行全面的运行状况检查。
一个显而易见且快速的检查是添加到您的军械库,您要做的就是过滤日志文件的状态列(在我的情况下为W3C日志文件类型的“ sc-status”),以查找4xx和5xx错误:
特定的URL随时间变化的服务器响应可能会有所不同,这可能是正常现象,例如修复了断开的链接或出现严重的服务器问题的迹象(例如,网站访问量过大导致更多内部问题)。服务器错误,并正在影响您网站的可抓取性。
分析服务器响应就像通过URL和日期进行过滤一样容易:
另外,如果您想快速查看URL在响应代码中的变化,则可以使用数据透视表,其中将行设置为URL,将列设置为响应代码,并计算URL产生响应的次数码。要实现此设置,请使用以下设置创建数据透视表:
这将产生以下结果:
如上表所示,您可以清楚地看到“ /inconcistent.html”(红色框中突出显示)具有不同的响应代码。
要查找哪些子目录产生最多的问题,我们只需要执行一些简单的URL过滤即可。过滤掉URI列(在我的情况下为“ cs-uri-stem”),并使用“包含”过滤选项选择一个特定的子目录以及该子目录中的任何页面(使用通配符*):
对我来说,我签出了blog子目录,这产生了以下内容:
出于各种原因,找出哪些机器人在挣扎中可能很有用,包括查看移动和桌面机器人在网站性能方面的差异,或者哪些搜索引擎最能够抓取您的更多网站。
您可能想查看哪些特定的URL导致特定的漫游器出现问题。最简单的方法是使用数据透视表,该数据透视表可以过滤每个URI出现特定响应代码的次数。为此,请使用以下设置制作数据透视表:
在这里,您可以按所选的漫游器和响应代码类型进行过滤,如下图所示,其中我正在过滤Googlebot桌面以找出404错误:
另外,您还可以使用数据透视表通过创建一个数据透视表来查看特定漫游器在整体上产生不同响应代码的次数,该数据透视表按漫游器进行过滤,按URI发生计数并将响应代码用作行。为此,请使用以下设置:
例如,在数据透视表(如下)中,我正在查看Googlebot收到的每个响应代码有多少:
网站不仅需要为人类设计,还需要为机器人设计。页面不应加载缓慢或下载量过大,并且通过日志文件分析,您可以从漫游器的角度查看每个URL的这两个指标。
虽然您可以按“花费的时间”或“加载时间”列从最大到最小对日志文件进行排序,以找到最慢的加载页面,但最好查看每个URL的平均加载时间,因为可能还有其他因素导致了除网页实际速度以外的缓慢请求。
为此,请创建一个数据透视表,其中的行设置为URI词干或URL,而总和设置为加载时间或加载时间:
然后,在这种情况下,使用下拉箭头显示“花费的时间总和”,然后转到“值字段设置”:
在新窗口中,选择“平均”,您已经设置完毕:
现在,当按最大时间,最小时间和平均时间对URI词干进行排序时,应该具有与以下内容类似的内容:
现在,您可以使用以下所示的设置添加下载大小列(在我的情况下为“ sc-bytes”)。请记住,将大小设置为平均值或总和取决于您想要看到的内容。对我来说,我已经完成了平均:
并且您应该得到类似于以下内容:
了解机器人和爬网行为的最佳,最简单的方法是使用日志文件分析,因为您将再次获得真实的数据,并且比其他方法要省时得多。
只需使用您选择的工具对您的网站进行爬网,然后将您的日志文件与URL进行比较以找到唯一的路径。您可以使用Excel的“删除重复项”功能或条件格式执行此操作,尽管前者的CPU占用率要低得多,尤其是对于较大的日志文件。简单!
日志文件和一些基本的命令行操作符很容易识别垃圾邮件和欺骗性僵尸程序对服务器造成的不必要压力。大多数请求还将具有与之关联的IP,因此使用您的IP列(在我的情况下,在W3C格式日志中标题为“ c-ip”),删除所有重复项以查找每个单独的请求IP。
从那里开始,您应该遵循Google文档中概述的验证IP的过程(注意:对于Windows用户,请使用nslookup命令):
https://support.google.com/webmasters/answer/80553?hl=zh_CN
或者,如果您要验证Bing机器人,请使用其便捷的工具:
https://www.bing.com/toolbox/verify-bingbot
使用一些简单的工具,您可以深入了解Googlebot的行为方式。当您了解了网站如何处理爬网时,您可以诊断出的问题比咀嚼的多得多-但是日志文件分析的真正功能在于能够测试有关Googlebot的理论并扩展上述技术以收集自己的见解和启示。
您将使用日志文件分析测试哪些理论?除了上面列出的日志文件之外,您还可以从日志文件中收集哪些见解?