php禁止网页抓取(如下协议文件屏蔽百度蜘蛛抓取协议的设置协议)
优采云 发布时间: 2022-01-17 12:10php禁止网页抓取(如下协议文件屏蔽百度蜘蛛抓取协议的设置协议)
百度蜘蛛爬我们的网站是希望把我们的网页收录放到它的搜索引擎中,以后用户搜索的时候,可以给我们带来一定的SEO流量。当然,我们不希望搜索引擎抓取所有内容。
所以,这个时候,我们只希望我们想被搜索引擎搜索到的内容被爬取。像用户隐私、背景信息等,不希望搜索引擎被爬取和收录。解决这个问题有两种最好的方法,如下:
robots协议文件阻止百度蜘蛛爬行
robots协议是放置在网站根目录下的协议文件,可以通过URL地址访问:你的域名/robots.txt。当百度蜘蛛爬取我们的网站时,会先访问这个文件。因为它告诉蜘蛛抓取什么,不抓取什么。
robots协议文件的设置比较简单,可以通过User-Agent、Disallow、Allow这三个参数来设置。
User-Agent:针对不同搜索引擎的语句;
Disallow:不允许爬取的目录或页面;
Allow:允许爬取的目录或页面,一般可以省略不写,因为不写不能爬取的东西是可以爬取的;
我们来看一个例子,场景是不想让百度抢我所有的网站css文件、数据目录、seo-tag.html页面
用户代理:百度蜘蛛
禁止:/*.css
禁止:/数据/
禁止:/seo/seo-tag.html
如上,user-agent 声明的蜘蛛名称表示它是给百度蜘蛛的。以下不能抓取“/*.css”。首先前面的/指的是根目录,也就是你的域名。* 是一个通配符,代表任何东西。这意味着无法抓取所有以 .css 结尾的文件。亲身体验以下两点。逻辑是一样的。
如果你想检查你上次设置的robots文件是否正确,可以访问这个文章《检查Robots是否正确的工具介绍》,里面有详细的工具可以检查你的设置。
通过403状态码限制内容输出,阻止蜘蛛爬行。
403状态码是网页在http协议中返回的状态码。当搜索引擎遇到 403 状态码时,它就知道这种类型的页面是受限的。我无法访问。比如你需要登录才能查看内容,搜索引擎本身是不会登录的,所以当你返回403的时候,他也知道这是一个权限设置页面,无法读取内容。自然不是收录。
在返回 403 状态码时,应该有一个类似于 404 页面的页面。提示用户或蜘蛛该页面想要做什么以访问它。两者缺一不可。你只有一个提示页面,状态码返回200,是百度蜘蛛的大量重复页面。有 403 状态码,但返回不同的东西。它也不是很友好。
最后,对于机器人协议,我想再补充一点:“现在搜索引擎会通过你网页的排版和布局来识别你网页的用户友好性。如果css文件的爬取和布局相关js文件被屏蔽了,那么搜索引擎就会不知道你的网页布局是好是坏,所以不建议屏蔽这些内容蜘蛛。”
好了,今天的分享就到这里,希望对大家有所帮助。当然,以上两个设置对除了百度蜘蛛之外的所有蜘蛛都有效。设置时要小心。