对企业网站进行爬网具有任何正常爬网的所有复杂性,以及在开始爬网之前需要考虑的几个额外因素。
以下方法展示了如何完成大规模爬网并实现给定目标,无论是正在进行的检查还是现场审核。
1.使站点做好爬行准备
爬行之前需要考虑的一个重要问题是网站本身。
在开始爬网之前,修复可能会减慢爬网速度的问题很有帮助。
在修复之前修复某些东西听起来可能有违直觉,但当涉及到真正的大型站点时,一个小问题乘以500万就会成为一个重大问题。
Making 8股份有限公司数字营销机构的创始人亚当·汉弗莱斯(Adam Humphreys)分享了一个聪明的解决方案,用于确定导致TTFB(第一个字节的时间)缓慢的原因,TTFB是一个衡量web服务器响应速度的指标。
字节是数据单位。因此,TTFB是对单个字节数据传输到浏览器所需时间的测量。
TTFB测量从服务器接收文件请求到第一个字节被传递到浏览器之间的时间量,从而提供服务器速度的测量。
测量TTFB的一种方法是在谷歌的PageSpeed Insights工具中输入URL,该工具由谷歌的灯塔测量技术提供支持。
PageSpeed Insights工具截图,2022年7月
亚当分享道:“所以
很多时候,核心Web Vitals会标记正在审核的页面的慢TTFB。为了获得真正准确的TTFB读数,可以比较原始文本文件,一个没有HTML的简单文本文件,在服务器上加载到实际网站。
在文本文件中添加一些Lorem ipsum或其他内容,然后上传,然后测量TTFB。其想法是在TTFB中查看服务器响应时间,然后隔离站点上导致延迟的资源。
大多数情况下,人们喜欢过多的插件。我用隐姓埋名和网络刷新灯塔。开发\/测量平均测量值。当我在源代码中看到30-50个插件或大量JavaScript时,在开始任何爬行之前,这几乎是一个直接的问题。”
当Adam说他正在刷新Lighthouse的分数时,他的意思是他正在多次测试URL,因为每次测试都会产生略微不同的分数(这是由于数据通过互联网路由的速度不断变化,就像流量速度不断变化一样)。
因此,Adam所做的是收集多个TTFB分数并对其进行平均,得出最终分数,然后告诉他web服务器的响应性如何。
如果服务器没有响应,PageSpeed Insights工具可以提供服务器没有响应的原因以及需要修复的问题。
2.确保完全访问服务器:白名单爬虫IP
防火墙和CDN(内容交付网络)可以阻止或减缓IP对网站的爬网。
因此,识别所有安全插件、服务器级入侵防御软件和CDN非常重要
阻止站点爬网。
将IP添加到白名单的典型WordPress插件是Sucuri Web应用防火墙(WAF)和Wordfence。
3.非高峰时段爬行
在理想情况下,爬行一个站点应该是非侵入性的。
在最佳情况下,服务器应该能够处理主动爬网,同时也向实际站点访问者提供网页。
但另一方面,测试服务器在负载下的响应情况可能很有用。
这是实时分析或服务器日志访问非常有用的地方,因为您可以立即看到服务器爬网可能如何影响站点访问者,尽管爬网的速度和503服务器响应也是服务器处于紧张状态的线索。
如果确实是这样的情况,服务器正在努力跟上,那么记录下响应,并在非高峰时间抓取站点。
CDN应在任何情况下减轻攻击性爬网的影响。
4.是否存在服务器错误?
如果服务器在向Googlebot提供页面时遇到问题,Google搜索控制台爬网统计报告应该是第一个研究的地方。
爬网统计报告中的任何问题都应在爬网企业级网站之前确定原因并修复。
服务器错误日志是数据的金矿,可以揭示可能影响站点爬网效果的各种错误。特别重要的是能够调试不可见的PHP错误。
5.服务器内存
也许SEO中不经常考虑的是服务器的RAM(随机访问内存)量。
RAM就像短期内存,是服务器存储数据的地方
它用来为网站访问者提供网页的信息。
RAM不足的服务器将变慢。
因此,如果服务器在抓取过程中变慢,或者似乎无法处理抓取,那么这可能是一个SEO问题,影响谷歌抓取和索引网页的能力。
看看服务器有多少RAM。
VPS(虚拟专用服务器)可能需要至少1GB的RAM。
但是,如果网站是流量高的在线商店,建议使用2GB到4GB的RAM。
RAM越多越好。
如果服务器有足够的RAM,但服务器速度变慢,那么问题可能是其他原因,比如软件(或插件)效率低下,导致内存需求过多。
6.定期验证爬网数据
当网站被爬网时,请注意爬网异常。
有时爬虫可能报告服务器无法响应网页请求,生成类似503服务不可用服务器响应消息的消息。
因此,暂停爬网并检查可能需要修复的问题,以便继续进行提供更多有用信息的爬网是非常有用的。
有时候,目标不是爬到终点。
cr
awl本身是一个重要的数据点,所以不要因为爬行需要暂停以修复某些东西而感到沮丧,因为发现是一件好事。
7.配置您的爬虫以进行缩放
在开箱即用的情况下,像尖叫蛙一样的爬行器可能会被设置为速度,这对大多数用户来说可能是非常好的。但它需要调整,才能抓取一个拥有数百万页面的大型网站。
尖叫蛙使用RAM进行爬行,这对于普通网站来说非常好,但对于企业规模的网站来说就不那么好了。
通过调整尖叫蛙的存储设置,很容易克服这一缺点。
这是用于调整存储设置的菜单路径:
配置>系统>存储>数据库存储
如果可能,强烈建议(但不是绝对要求)使用内部SSD(固态驱动器)硬盘。
大多数计算机使用标准的硬盘,里面有移动部件。
SSD是最先进的硬盘形式,其传输数据的速度比普通硬盘快10到100倍。
使用具有SSD结果的计算机将有助于实现惊人的快速爬网,这是高效下载数百万网页所必需的。
为了确保最佳爬网,需要分配4GB的RAM,对于多达200万个URL的爬网不超过4GB。
对于多达500万个URL的爬网,建议分配8GB的RAM。
亚当·汉弗莱斯(Adam Humphreys)分享道:“爬行网站是一种非常资源密集的方式,需要大量内存。专用台式机或租用服务器比笔记本电脑快得多。
我曾经花了将近两周的时间等待爬行完成。我从中吸取了教训,并让合作伙伴构建远程软件,以便我可以随时随地执行审计。”
8.连接到快速互联网
如果您正在从办公室爬行,那么使用尽可能快的互联网连接是至关重要的。
使用最快的可用互联网可能意味着需要数小时才能完成的爬网与需要数天才能完成的爬行之间的差异。
一般来说,最快的可用互联网是通过以太网连接,而不是通过Wi-Fi连接。
如果您的互联网接入是通过Wi-Fi进行的,则仍然可以通过将笔记本电脑或台式机移动到靠近Wi-Fi路由器的位置来获得以太网连接,该路由器在后面包含以太网连接。
这似乎是其中一条“不言而喻”的建议,但很容易被忽视,因为大多数人默认使用Wi-Fi,而没有真正考虑使用以太网线将计算机直接连接到路由器会有多快。
9.云爬行
另一种选择,特别是对于超过500万个网页的非常大和复杂的站点爬行,从服务器爬行可能是最好的选择。
当使用云服务器时,桌面爬网的所有常规约束都将关闭。
阿什·纳拉瓦拉,一个企业
rise SEO专家兼作家,拥有20多年与世界上一些最大的企业技术公司合作的经验。
所以我问他关于爬上百万页的事。
他回应说,他建议从云端抓取超过500万个URL的站点。
Ash分享道:“抓取大型网站最好在云中完成。我在数据库存储模式下在笔记本电脑上使用尖叫蛙进行了多达500万个URI,但我们的网站有更多的页面,所以我们在云中运行虚拟机来抓取它们。
由于竞争数据智能的原因,我们的内容受到刮刀的欢迎,而不仅仅是复制文章的文本内容。
我们使用防火墙技术阻止任何人高速收集太多页面。检测以所谓“人类仿真模式”运行的抓取器就足够了。因此,我们只能从白名单IP地址和进一步的身份验证层进行抓取。”
亚当·汉弗莱斯同意从云端爬出来的建议。
他说:“爬行网站的资源非常密集,需要大量内存。专用台式机或租用服务器比笔记本电脑要快得多。我曾经花了近两周的时间等待爬行完成。
我从中学到了这一点,并让合作伙伴构建远程软件,这样我就可以随时随地从云端执行审计。”
10.部分爬行
爬行大型网站的一种技术是将网站划分为多个部分,并根据顺序爬行每个部分,从而得到网站的截面图。
进行部分爬网的另一种方法是将站点划分为多个部分,并持续爬网
o每个部分的快照不仅保持最新,而且可以立即查看对站点所做的任何更改。
因此,与其对整个站点进行滚动更新爬网,不如根据时间对整个站点执行部分爬网。
这是Ash强烈推荐的方法。
Ash解释说:“我一直在抓取。我现在正在一个产品品牌上运行一个。它被配置为在默认的500万URL限制下停止抓取。”
当我问他持续爬行的原因时,他说,这是因为他无法控制的问题,这种规模的业务可能会发生,涉及许多利益相关者。
阿什说:“就我的情况而言,我一直在努力解决特定领域的已知问题。”
11.总体快照:有限爬网
获取网站外观的高级视图的一种方法是将抓取限制为网站的一个示例。
这对于竞争情报爬行也很有用。
例如,在我参与的一个“你的钱还是你的生活”项目中,我从竞争对手的网站上抓取了大约50000个页面,查看他们链接到了哪些类型的网站。
我用这些数据说服客户,他们的出站链接模式很差,并向他们展示了他们排名第一的竞争对手的高质量网站
ITOR链接到。
因此,有时,有限的爬网可以产生足够的特定类型的数据,从而对整个站点的健康状况有一个总体了解。
12.现场结构概述的爬网
有时只需要了解站点结构。
为了更快地执行此操作,可以将爬虫设置为不爬网外部链接和内部图像。
还有其他爬虫设置可以取消勾选,以产生更快的爬虫,因此爬虫唯一关注的是下载URL和链接结构。
13.如何处理重复页面和规范
除非有理由索引重复页面,否则将爬虫设置为忽略URL参数和与规范URL重复的其他URL可能会很有用。
可以将爬网程序设置为仅爬网规范页面。但是如果有人将分页页面设置为规范化为序列中的第一个页面,那么您永远不会发现这个错误。
出于类似的原因,至少在初始爬网时,可能希望不遵守noindex标记,以便在应该索引的页面上标识noindex指令的实例。
14.看看谷歌看到了什么
毫无疑问,您已经注意到,有许多不同的方法来抓取由数百万个网页组成的网站。
爬行预算是指谷歌在爬行网站以进行索引时投入的资源。
成功索引的网页越多,有机会排名的网页就越多。
小型网站实际上不必担心谷歌的爬网预算。
但最大化谷歌的爬网预算是企业网站的首要任务。
在上一个场景中,illustra
在上面的ted中,我建议不要使用noindex标签。
对于这种爬网,您实际上需要遵守noindex指令,因为这种爬网的目标是获取网站快照,告诉您Google如何看待整个网站本身。
谷歌搜索控制台提供了大量信息,但通过伪装成谷歌的用户代理自己爬行网站,可能会产生有用的信息,有助于更好地索引更多正确的页面,同时发现谷歌可能在哪些页面上浪费爬行预算。
对于这种爬行,重要的是将爬行器用户代理设置为Googlebot,将爬行器设置为服从机器人。txt,并将爬虫程序设置为遵守noindex指令。
这样,如果网站设置为不向Googlebot显示某些页面元素,您将能够看到Google看到的网站地图。
这是一种诊断潜在问题的好方法,例如发现应该被爬网但被遗漏的页面。
对于其他网站,谷歌可能会找到对用户有用但可能被谷歌认为质量低下的页面,比如带有注册表单的页面。
使用Google用户代理进行爬网有助于了解Google如何看待网站,并帮助最大化爬网预算。
击败Lea
rning曲线
一个人可以抓取企业网站,并学习如何艰难地抓取它们。这十四条建议有望缩短您的学习时间,并让您更好地准备与拥有庞大网站的企业级客户接洽。