如何不影响搜索排名情况下降低搜索爬虫对网站的影响(google ,bing, yandex,pinterest 等)

引言:网站资源(CPU,内存等)使用率在某个时段很高,甚至出现502状态,查日志(看请求头user-agent)发现爬虫在某个时段大量爬取,超出网站正常的负荷,如何在不影响搜索排名情况下合理降低搜索爬虫对网站的影响呢?

方法1:在服务端限制

适用:对不知道,或恶意爬虫限流

在nginx或防火墙上针对爬虫和IP进行限流

 https://cdn.modb.pro/db/327255

 

方法2:通过robots.txt规格限制

适用:对正规的爬虫限流

正规的爬虫会遵循robots.txt规范  ,通过把规则写到根目录的robots.txt文件正确引导爬虫

想更多了解robots请看wiki https://zh.m.wikipedia.org/zh-hans/Robots.txt

这里讲一下使用 Crawl-delay指令 来控制爬虫的爬取频率

User-agent: *
Crawl-delay: 1

每个搜索引擎对Crawl-delay: 1 的执行有差异,有些爬虫是爬取一个页面后暂停1秒再爬第二个页面,有些爬虫是每一秒发起一个爬取的请求。

#1

0         1         2         3         4         5  seconds
|*page1**          
|         |        **page2********
|         |         |         |         |   **page3*

#2

0         1         2         3  seconds
|*page1**          
|         |*page2*********
|         |         |*page3*

不管是哪种都实际上能起到降低爬取频率的作用(google 爬虫不遵循这个限制,需要导google search console 配置),如果了解某个爬虫具体影响设置,可以找一下对应爬虫的规则

bing:  https://blogs.bing.com/webmaster/2009/08/10/crawl-delay-and-the-bing-crawler-msnbot

google : https://support.google.com/webmasters/answer/48620?hl=en

yandex : https://yandex.com/support/webmaster/robot-workings/crawl-delay.html

pinterest:https://help.pinterest.com/zh-hans/business/article/pinterest-crawler

其他爬虫可以在 google上搜索 :名称+Crawl-delay ,如 yahoo 搜索关键词  crawl-delay yahoo

提醒:在网站允许情况下这个值要尽可能设小一点,这样能加快你的网站在搜索引擎的收录和更新

 

 

 

 

 

posted @ 2022-10-12 11:54  i金少  阅读(184)  评论(0编辑  收藏  举报