php 抓取网页内容(robots.txt文件会被网站优化师SEOer忽视的原因 )
优采云 发布时间: 2022-04-06 02:11php 抓取网页内容(robots.txt文件会被网站优化师SEOer忽视的原因
)
robots.txt 是任何 SEO 的重要组成部分,也是 SEOers 的重要一课。
但是,有时 网站optimizer SEOers 会忽略 robots.txt 文件。
无论您是刚刚起步,还是经验丰富的优化专家,您都需要知道应该如何编写 robots.txt 文件。
那么,我们先来了解一下:
robots.txt 文件是什么?
robots.txt 文件可用于多种用途。
示例包括让搜索引擎知道在哪里可以找到您的 网站 站点地图,告诉他们哪些页面不需要抓取,以及管理 网站 抓取预算。
搜索引擎会定期检查 网站 的 robots.txt 文件中是否有任何关于抓取 网站 的指令。我们称这些特殊指令为“命令”。
如果没有 robots.txt 文件或没有适用的指令,搜索引擎将抓取整个 网站。
好的,抓取预算是多少?
简要说明:
与其他搜索引擎一样,Google 可用于抓取和索引您的 网站 内容的资源有限。
如果您的 网站 只有几百个网址,Google 应该可以轻松抓取您的所有网页并将其编入索引。
但是,如果 网站 很大,例如电子商务网站,有数千个页面收录大量自动生成的页面(例如搜索页面),那么 Google 可能无法抓取所有其中,您将失去许多潜在的流量和知名度。
因此,我们将通过设置 robots.txt 文件来管理 网站 抓取预算。
谷歌说:
“拥有许多低价值 URL 会对 网站 的抓取和索引编制产生负面影响。”
那些低价值的 URL 就像搜索页面之类的页面。这些页面生成太多了,如果谷歌蜘蛛抓取的话,会消耗大量的抓取预算,以至于一些重要的页面可能不是收录。
使用 robots.txt 文件来帮助管理您的 网站 抓取预算并确保搜索引擎尽可能高效(尤其是大型 网站)抓取重要页面,而不是浪费时间抓取登录、注册或付款页面,等等。
为什么需要 robots.txt?
从 SEO 的角度来看,robots.txt 文件起着至关重要的作用。它告诉搜索引擎如何最好地抓取您的 网站。
使用 robots.txt 文件可以阻止搜索引擎访问 网站 的某些部分,防止重复内容,并为搜索引擎提供有关如何更有效地抓取 网站 的有用提示。
更改 robots.txt 时要小心:错误的设置可能会使搜索引擎无法访问 网站 的大部分内容。
在像 Googlebot、Bingbot 等机器人抓取网页之前,它首先会检查是否存在 robots.txt 文件,如果存在,它通常会遵循在该文件中找到的路径。
您可以通过 robots.txt 文件控制以下内容:
阻止访问 网站 的一部分(开发和登台环境等)
防止 网站 内部搜索结果页面被抓取、索引或显示在搜索结果中
指定站点地图或站点地图的位置
通过阻止对低价值页面(登录、支付页面、购物车等)的访问来优化抓取预算
防止对 网站 上的某些文件(图像、PDF 等)编制索引
让我们看一个例子来说明这一点:
您有一个电子商务网站,访问者可以使用过滤功能快速搜索您的产品,例如按销售额、价格排名。
此过滤器生成的页面基本上显示与其他页面相同的内容。
这对用户很有用,但会混淆搜索引擎,因为它会创建重复的内容。
如果搜索引擎将这些页面编入索引,就会浪费您宝贵的爬取资源。
因此,应设置规则,使搜索引擎不会访问这些页面。
检查您是否有 robots.txt 文件
如果您不熟悉 robots.txt 文件,或者不确定您的 网站 是否有它,请快速查看。
方法:
将 /robots.txt 添加到主页 URL 的末尾。
例子:
如果未显示任何内容,则您的站点没有 robots.txt 文件。然后应该设置一个。
如何创建 robots.txt 文件
创建 robots.txt 文件是一个相当简单的过程:
新建文本文档->重命名为robots.txt(所有文件必须小写)->编写规则->使用FTP上传文件(放在根目录下)到空间
以下文章为谷歌官方介绍,为大家展示robots.txt文件的创建过程,可以帮助您轻松创建自己的robots.txt文件:
注意:
robots.txt 本身就是一个文本文件。它必须在域名的根目录下并命名为“robots.txt”。位于子目录下的 robots.txt 文件无效,因为爬虫只在域名的根目录中查找该文件。
例如,是一个有效的位置,但不是。
如果您使用 WordPress 构建网站,您可以使用虚拟机器人、yoast、all in one seo 等插件创建和设置它。
Robots.txt 示例
下面是一些您可以在自己的 网站 上使用的 robots.txt 文件的示例。
允许所有爬虫/蜘蛛访问所有 网站 内容:
User-agent:*
Disallow:
阻止所有爬虫/蜘蛛访问所有 网站 内容:
User-agent:*
Disallow:/
在这里您可以看到在创建站点 robots.txt 时出错是多么容易,因为阻止整个站点被看到的区别是:禁止指令中的一个简单斜线 (Disallow:/)。
阻止谷歌爬虫/蜘蛛访问:
User-agent:Googlebot
Disallow:/
阻止爬虫/蜘蛛访问特定页面:
User-agent:
Disallow:/thankyou.html
从部分服务器中排除所有爬虫:
User-agent:*
Disallow:/ cgi-bin /
Disallow:/ tmp /
Disallow:/junk/
以下是 网站 上 robots.txt 文件的示例:
一、表示theverge不希望谷歌爬虫抓取这些目录的内容
二、表示theverge不希望任何爬虫爬取这些目录的内容
三、theverge 列出 robots.txt 中的所有站点地图
示例文件可以在这里查看:
了解 The Verge 如何使用他们的 robots.txt 文件专门使用 Google 的新闻蜘蛛“Googlebot-News”(第 1 点)以确保它不会在 网站 上抓取这些目录。
请务必记住,如果您想确保爬虫不会爬取 网站 上的某些页面或目录,您可以在 robots.txt 中的“Disallow”语句中调用这些页面和/或目录文件,如上例所示。
此外,请参阅 robots.txt 规范指南中的 Google 如何处理 robots.txt 文件,即 Google 当前对 robots.txt 文件的最大文件大小限制。
Google 的最大大小设置为 500KB,因此请务必注意 网站robots.txt 文件的大小。
robots.txt 文件的最佳做法
以下内容摘自谷歌官方介绍,原文:
位置规则和文件名
robots.txt 文件应始终放置在 root网站 位置(在主机的顶级目录中),文件名为 robots.txt,例如: .
请注意,robots.txt 文件的 URL 与任何其他 URL 一样区分大小写。
如果在默认位置找不到 robots.txt 文件,搜索引擎将假定没有指令。
语法
规则按从上到下的顺序处理,一个用户代理只能匹配一个规则集(即匹配相应用户代理的第一个最具体的规则)。
系统的默认假设是用户代理可以爬取所有不被 Disallow: 规则禁止的网页或目录。
规则区分大小写。例如,Disallow: /file.asp 有效但无效。
规则
例子
禁止抓取整个 网站。请注意,在某些情况下,Google 可能会将 网站 网址编入索引,即使它们没有进行抓取。注意:这不适用于必须明确指定的各种 AdsBot 爬虫。
用户代理: *
不允许: /
禁用目录及其内容的抓取(在目录名称后添加正斜杠)。请注意,如果您想禁用对私人内容的访问,则不应使用 robots.txt,而应使用适当的身份验证机制。被 robots.txt 文件阻止抓取的网址可能仍会被 Google 编入索引而不进行抓取;此外,由于任何人都可以自由查看 robots.txt 文件,因此它可能会泄露您的私人内容的位置。
用户代理: *
禁止:/日历/
禁止:/垃圾/
只允许一个爬虫
用户代理:Googlebot-news
允许: /
用户代理: *
不允许: /
允许除一个以外的所有爬虫
用户代理:不必要的机器人
不允许: /
用户代理: *
允许: /
阻止抓取页面(在正斜杠后列出页面):
禁止:/private_file.html
阻止 Google 图片访问特定图片:
用户代理:Googlebot-Image
禁止:/images/dogs.jpg
阻止 Google 图片访问您 网站 上的所有图片:
用户代理:Googlebot-Image
不允许: /
禁止抓取某种类型的文件(例如 .gif):
用户代理:Googlebot
禁止:/*.gif$
整个 网站 被阻止抓取,但在这些页面上允许 AdSense 广告(禁止除 Mediapartners-Google 之外的所有网络抓取工具)。这种方法会阻止您的网页出现在搜索结果中,但 Mediapartners-Google 网络爬虫仍然能够分析这些网页,以确定在您的 网站 上向访问者展示哪些广告。
用户代理: *
不允许: /
用户代理:Mediapartners-Google
允许: /
匹配以特定字符串结尾的 URL - 需要美元符号 ($)。例如,示例代码阻止访问以 .xls 结尾的所有 URL:
用户代理:Googlebot
禁止:/*.xls$
优先
请务必注意,搜索引擎对 robots.txt 文件的处理方式不同。默认情况下,第一个匹配指令总是优先。
但谷歌和必应更专注于特定目录。
也就是说:如果命令的字符较长,Google 和 Bing 将重视 Allow 命令。
例子
用户代理: *
允许:/about/company/
禁止:/about/
在上面的 /about/ 示例中,所有搜索引擎(包括 Google 和 Bing)都不允许访问目录 /about/company/,子目录除外。
例子
用户代理: *
禁止:/about/
允许:/about/company/
在上面的示例中,除了 Google 和 Bing 之外的所有搜索引擎都不允许访问 /about/ 目录,包括 /about/company/。
但允许 Google 和 Bing 访问 /about/company/,因为 Allow 指令比 Disallow 指令更长,并且目录位置更具体。
操作说明
每个搜索引擎只能定义一组指令。为一个搜索引擎设置多组指令可能会使他们感到困惑。
要尽可能具体
disallow 指令也会触发部分匹配。
在定义 Disallow 指令时尽可能具体,以防止无意中禁止访问文件。
例子
用户-agnet:*
禁止:/目录
上面的例子不允许搜索引擎访问:
所以要指定哪些目录需要禁止爬取。
此外
网站管理员必须让蜘蛛远离某些服务器上的目录——以确保服务器性能。例如:大部分网站服务器都有程序存放在“cgi-bin”目录下,所以最好在robots.txt文件中加入“Disallow: /cgi-bin”,避免所有程序文件被蜘蛛索引可以节省服务器资源。一般网站中不需要爬虫爬取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等.
特定于用户代理的指令,未收录在所有用户代理爬虫指令中
这是什么意思?
让我们看一个清晰的例子:
用户代理: *
不允许:/secret/
禁止:/test/
不允许:/尚未开始/
用户代理:googlebot
不允许:/尚未开始/
在上面的示例中,除 Google 之外的所有搜索引擎都不允许访问 /secret/、/test/ 和 /not-launched-yet/。
Google 不允许访问 /not-launched-yet/,但允许访问 /secret/ 和 /test/。
如果您不想让 googlebot 访问 /secret/、/not-launched-yet/,那么您需要 googlebot 专门重复这些说明:
用户代理: *
不允许:/secret/
禁止:/test/
不允许:/尚未开始/
用户代理:googlebot
不允许:/secret/
不允许:/尚未开始/
robots.txt 文件有哪些限制?
由于 robots.txt 而导致搜索引擎无法访问的页面,但如果它们是从已抓取页面链接的,它们仍会出现在搜索结果中。例子:
专业提示:可以使用 Google Search Console 的 URL 删除工具从 Google 中删除这些 URL。请注意,这些 URL 只会被暂时删除。为了将它们排除在 Google 的结果页面之外,该 URL 需要每 90 天删除一次。
谷歌表示 robots.txt 文件通常被缓存长达 24 小时。在更改 robots.txt 文件时,请务必考虑到这一点。
目前尚不清楚其他搜索引擎如何处理 robots.txt 的缓存,但通常最好避免缓存您的 robots.txt 文件,以避免搜索引擎花费超过必要的时间来接收更改。
对于 robots.txt 文件,Google 目前支持 500 kb 的文件大小限制。可以忽略此最大文件大小之后的任何内容。
检查 robots.txt 文件和 URL
这可以在旧版本的 Google 网站管理员工具中进行检查。
单击抓取 > robots.txt 测试器
你可以看到你的robots的内容,在下面输入你要测试的url,点击测试就知道这个url是否被robots.txt的指令限制了。
您也可以直接通过以下链接:
总结最佳实践:
确保所有重要页面均可抓取
不要阻止 网站JavaScript 和 CSS 文件
在网站管理员工具中检查重要的网址是否被阻止抓取
正确大写目录、子目录和文件名
将 robots.txt 文件放在 网站 根目录下
Robots.txt 文件区分大小写,文件必须命名为“robots.txt”(无其他变体)
不要使用 robots.txt 文件隐藏私人用户信息,因为它仍然可见
将站点地图位置添加到 robots.txt 文件中。
防范措施:
如果您在 网站 中有一个或多个子域,那么每个子域以及主根域中都需要一个 robots.txt 文件。
这看起来像这样
/robots.txt 和 /robots.txt。
原因是其他页面可能会链接到此信息,如果有直接链接,它将绕过 robots.txt 规则,内容仍可能被索引。
如果您需要防止您的页面实际在搜索结果中被编入索引,请使用不同的方法,例如添加密码保护或向这些页面添加 noindex 元标记。Google 无法登录受密码保护的 网站/ 页面,因此无法抓取或索引这些页面。
不要在 robots.txt 中使用 noindex
虽然有人说在 robots.txt 文件中使用 noindex 指令是个好主意,但这不是官方标准,Google 公开建议不要使用它。
谷歌尚未澄清原因,但我们认为我们应该认真对待他们的建议,因为:
综上所述
如果您以前从未使用过 robots.txt 文件,可能会有点紧张,但不用担心,它的设置相当简单。
一旦您熟悉了文件的详细信息,您就可以为 网站 增强您的 SEO。
通过正确设置您的 robots.txt 文件,它将帮助搜索引擎抓取工具明智地使用抓取预算,并帮助确保他们不会浪费时间和资源来抓取不需要抓取的页面。
这将帮助他们以最佳方式在 SERP 中组织和显示您的 网站 内容,这意味着您将获得更多曝光。
设置 robots.txt 文件不必花费大量时间和精力。在大多数情况下,它是一次性设置,然后可以进行小的调整和更改以帮助更好地塑造它网站。
我希望本文中介绍的实践、技巧和建议可以帮助您开始创建/调整您的 网站robots.txt 文件。
具备各大搜索引擎蜘蛛的特点
1.百度蜘蛛:百度蜘蛛网上的信息百度蜘蛛名字有BaiduSpider、baiduspider等,请洗漱睡觉,那是老黄历。百度蜘蛛的最新名称是百度蜘蛛。在日志中,我还找到了Baiduspider-image,百度下的蜘蛛。查了资料(其实就是看名字……),是抓图的蜘蛛。常见的百度同类型蜘蛛有:Baiduspider-mobile(抓wap)、Baiduspider-image(抓图)、Baiduspider-video(抓视频)、Baiduspider-news(抓新闻)。注:以上百度蜘蛛目前为Baiduspider和Baiduspider-image。
2. Google Spider:Googlebot 争议较小,但也有人说它是 GoogleBot。Google 蜘蛛的最新名称是“compatible; Googlebot/2.1;”。还找到了Googlebot-Mobile,看名字就是爬wap内容。
3. 360蜘蛛:360Spider,它是一只非常“勤奋”的蜘蛛。
4、SOSO蜘蛛:Sosospider,它也可以被授予“勤奋”的蜘蛛。
5、雅虎蜘蛛:“雅虎!啜饮中国”或雅虎!名字带有“Slurp”和空格,robots中带有空格的名字,名字可以用“Slurp”或者“Yahoo”来描述,不知道有效与否。
6、有道蜘蛛:有道机器人,有道机器人(两个名字,汉语拼音少了一个U字母,读音很不一样,会不会少一些?)
7、搜狗蜘蛛:搜狗新闻蜘蛛还包括以下内容:
搜狗网络蜘蛛,搜狗inst蜘蛛,搜狗蜘蛛2、搜狗博客,搜狗新闻蜘蛛,搜狗猎户蜘蛛,(参考网站的一些robots文件,搜狗蜘蛛的名字可以用搜狗来概括,无法验证,不知道有没有用?看看最权威的百度robots.txt,对于搜狗蜘蛛来说占用了很多字节,占据了很大的版图。”搜狗网络蜘蛛;搜狗inst spider;搜狗spider2;搜狗博客;搜狗新闻蜘蛛;搜狗猎户蜘蛛”目前有6个带空格的名字。网上常见“搜狗网络蜘蛛/4.0”;“搜狗新闻蜘蛛/4.@ >0”;“搜狗inst蜘蛛/4.0”可获“占之王”奖。
8、MSN 蜘蛛:msnbot、msnbot-media(只见 msnbot-media 疯狂爬行……)
9、bing 蜘蛛:bingbot 在线(兼容;bingbot/2.0;)
10、搜索蜘蛛:一搜蜘蛛
11、Alexa 蜘蛛:ia_archiver
12、易搜蜘蛛:EasouSpider
13、即时蜘蛛:JikeSpider
14、一个爬网蜘蛛:EtaoSpider "Mozilla/5.0 (compatible; EtaoSpider/1.0; omit/EtaoSpider)" 根据上面选择几个常用的爬虫,允许爬取,其余的可以被机器人挡住。如果你暂时有足够的空间流量,在流量紧张的时候,保留一些常用的,并阻止其他蜘蛛以节省流量。至于那些蜘蛛爬到网站的有用价值,网站的管理人员是很有眼光的。
此外,还发现了 YandexBot、AhrefsBot 和 ezooms.bot 等蜘蛛。据说这些蜘蛛是外国的,对中文网站用处不大。最好是节省资源。
和平出来
公众号:yestupa 扫码关注图帕先生
获取更多国外SEM、SEO干货
给我[关注]
你也更好看!