百度收录首选,屏蔽其他爬虫方法
在网站运营中,如何区分对待不同搜索引擎的爬虫(蜘蛛),是一项常见的SEO技术需求,很多站长希望只允许百度蜘蛛抓取内容,而禁止其他蜘蛛(如谷歌、必应、搜狗等)访问,以集中资源、节省带宽或保护数据,本文将详细介绍如何通过技术手段实现“怎么写允许百度蜘蛛抓取其他蜘蛛不让抓”这一需求。
搜索引擎蜘蛛在抓取前,会先读取网站根目录下的robots.txt文件,该文件通过User-Agent字段指定针对不同爬虫的允许或禁止规则,百度蜘蛛的User-Agent通常为Baiduspider,而其他常见蜘蛛如谷歌为Googlebot,必应为msnbot等。
robots.txt文件在网站根目录(通常为或/public_html)下,新建或编辑robots.txt,关键语法如下:
Disallow:# 禁止其他所有蜘蛛抓取User-agent: *Disallow: /说明:
User-agent: Baiduspider表示规则仅对百度爬虫生效。 Disallow:后为空(或保持留空)表示允许抓取整个网站。 User-agent: *表示匹配所有未指定规则的爬虫。 Disallow: /表示禁止所有路径的访问。robots.txt会从上到下匹配,一旦匹配到特定User-Agent,后续规则不再生效,应先将百度蜘蛛的规则写在前面,再将通配规则写在后。User-agent: Baiduspider后面接着 Disallow: /会拒绝百度爬虫,要避免。你的域名/robots.txt,即可查看文件内容是否生效,也可通过百度站长平台的“robots.txt检测工具”测试规则是否被百度识别。如果担心某些恶意爬虫不遵守robots.txt,或希望更严格控制访问来源,可在服务器配置中基于User-Agent做访问控制。
在server块中添加:
location / { if ($http_user_agent ~* (Googlebot|bingbot|msnbot|Slurp|Yandex) ) { return 403; } # 其他正常处理...}这样,只有User-Agent不匹配上述爬虫的请求才能正常响应,而百度爬虫的User-Agent(Baiduspider)没有被禁止,因此可以正常抓取。
在.htaccess文件中添加:
RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} (Googlebot|bingbot|msnbot|Slurp|Yandex) [NC]RewriteRule .* - [F]同样,只禁止指定爬虫,百度爬虫不受影响。
Baiduspider-image、Baiduspider-mobile),可一并允许:User-agent: BaiduspiderDisallow:User-agent: Baiduspider-imageDisallow:User-agent: Baiduspider-mobileDisallow:实现“允许百度蜘蛛抓取,其他蜘蛛禁止”的核心是:在robots.txt中为Baiduspider设置允许规则,再对所有非指定蜘蛛设置禁止规则,如果希望更严格,可结合服务器端配置,操作时务必注意不要误屏蔽百度,且需评估对网站流量与合规性的潜在影响,通过简单的规则组合,即可精准控制各搜索引擎的访问权限。
相关文章:
1.1367s , 5882.7578125 kb Copyright 2023 Powered by 佛山南海SEO优化公司推荐sitemap