SEO 网站抓取和收录的那些事
网站建好了,如何才能让搜索引擎收录网站?如果页面无法被搜索引擎收录,就意味着没有展示,也就无法竞争排名获取 SEO 流量了。
本文将围绕抓取和收录亮点,从基本原理,常见问题和解决方法三个维度探讨搜索引擎优化。
- 什么是抓取、收录
- 网页抓取工具
- robots.txt 文件介绍
如何查看网站的收录情况
- 设置网页不被搜索引擎索引
搜索引擎的原理:搜索引擎是把互联网上的网页内容存在自己的服务器上,当用户搜索某个词的时候,搜索引擎就会在自己的服务器上找相关的内容,也就是说,只有保存在搜索引擎服务器上的网页才会被搜索到。
哪些网页才能被保存到搜索引擎的服务器上呢?
只有被搜索引擎的抓取程序抓到的网页才会保存到搜索引擎的服务器上,这个网页抓取程序就是搜索引擎的蜘蛛.整个过程分为爬行和抓取。
一、什么是抓取、收录
抓取(Crawl):
就是搜索引擎爬虫爬取网站的这个过程。Google的官方解释是——“抓取”是指找出新网页或更新后的网页以将其添加到 Google 中的过程;(点击此处查看谷歌官网文档)
收录(Index):
就是搜索引擎把页面存储到其数据库的结果,也叫索引。Google的官方解释是:Google 抓取工具(“Googlebot”)已访问该网页、已分析其内容和含义并已将其存储在 Google 索引中。已编入索引的网页可以显示在 Google 搜索结果中;(点击此处查看谷歌官网文档)
抓取配额(Crawl Budget):
是搜索引擎蜘蛛花在一个网站上的抓取页面的总时间上限。一般小型网站(几百上千个页面)其实并不需要担心,搜索引擎分配的抓取配额够不够;大型网站(百万级或千万级页面)会考虑这个问题更多一些。假如搜索引擎每天抓取的页面数几万个,那整个网站的页面抓取可能就得数月或一年。一般这个数据可以通过Google Search Console后台了解到,如下截图所示,红框中的平均值即网站分配所得的抓取配额。


通过一个例子来让大家更好地理解抓取,收录及抓取配额:
把搜索引擎比喻为一座庞大的图书馆,把网站比喻为一间书店,书店中的书本比喻为网站页面,蜘蛛爬虫比喻为图书馆采购员。
采购员为了丰富图书馆的藏书,会定期到书店查看是否有新的书本进货,翻阅书本的这个过程就可以理解为抓取;
当采购员觉得这本书有价值,就会购买带回图书馆进行收藏,这个书本收藏就是我们所说的收录;
每个采购员的购书预算是有限的,他会优先购买价值高的书本,这个预算就是我们理解的抓取配额。
二、网页抓取工具
“抓取工具”是一个统称,泛指通过跟踪从一个网页指向另一个网页的链接自动发现并扫描网站的任何程序(如漫游器或“蜘蛛”程序)。Google 的主要抓取工具叫作 Googlebot。
- Google: Googlebot
- Google Images: Googlebot-Image
- Bing: Bingbot
- Yahoo: Slurp
- Baidu: Baiduspider
- DuckDuckGo: DuckDuckBot
三、robots.txt 文件介绍
robots.txt 文件中规定某个抓取工具的抓取规则。
robots.txt 文件必须位于主机的顶级目录中。
一般情况下,robots.txt 文件会出现三种不同的抓取结果:
- 全部允许:所有内容均可抓取。
- 全部禁止:所有内容均不能抓取。
- 有条件地允许:robots.txt 中的指令决定是否可以抓取某些内容。
robots.txt 用法举例: 网站目录下所有文件均能被所有搜索引擎蜘蛛访问 User-agent: *
Disallow:
禁止所有搜索引擎蜘蛛访问网站的任何部分 User-agent: * Disallow: /
禁止所有的搜索引擎蜘蛛访问网站的几个目录 User-agent: * Disallow: /a/ Disallow: /b/
只允许某个搜索引擎蜘蛛访问 User-agent: Googlebot Disallow:
屏蔽所有带参数的 URL
User-agent: *
Disallow: /*?
应该限制网站某些文件不被蜘蛛抓取:
一般网站中不需要蜘蛛抓取的文件有:后台管理文件、程序脚本、附件、数据库文件、编码文件、样式表文件、模板文件、导航图片和背景图片等等。
robots.txt文件带来的风险以及解决:
robots.txt 同时也带来了一定的风险:其也给攻击者指明了网站的目录结构和私密数据所在的位置。设置访问权限,对您的隐私内容实施密码保护,这样,攻击者便无从进入。
四、如何查看网站的收录情况
①通过Site命令。
主流的搜索引擎如Google,Baidu及Bing都是支持Site命令的。通过Site命令可以在宏观层面查看一个网站被收录了多少页面,这个数值是不精确的,有一定的波动性,但是具有一定的参考价值。如下图所示,ryanzoe.top 网站被 Google 收录的网页数大概为 165 个。

②如果网站已经验证了Google Search Console,这就可以获取网站被Google收录的精确数值,如下图红框所示,Google收录了ryanzoe.top 网站的 216 个页面;

③如果想查询特定的页面是否被收录,可以通过info命令,Google是支持info命令的,百度和Bing不支持,在google中输入 info:URL , 如果有结果返回,即页面已经被收录,如下图所示:
五、设置网页不被搜索引擎索引
建议使用 robots meta 标签,在 head 标签中添加如下代码:
<meta name="robots" content="noindex, nofollow">
可以将多个指令 合并为一个以英文逗号分隔的列表,这些指令不区分大小写。
all
对索引编制或内容显示无任何限制。该指令为默认值,因此明确列出时并无任何效果。
noindex
不在搜索结果中显示此网页。nofollow不追踪该网页上的链接。
none
等同于 noindex, nofollow。noarchive不在搜索结果中显示缓存链接。
nosnippet
不在搜索结果中显示该网页的文本摘要或视频预览。静态图片缩略图(如果有)若能够实现更好的用户体验,就可能仍会显示。这适用于所有形式的搜索结果(例如 Google 网页搜索、Google 图片、Google 探索)。
max-snippet:[number]
最多只能使用 [number] 个字符作为此搜索结果的文字摘要。(请注意,网址可能会在搜索结果页中显示为多个搜索结果。)这并不会影响图片或视频预览。这适用于所有形式的搜索结果(例如 Google 网页搜索、Google 图片、Google 探索、Google 助理)。但是,如果发布商已单独授予内容使用权限,则此限制不适用。例如,如果发布商以页内结构化数据的形式提供内容或与 Google 签订了许可协议,则此设置不会妨碍这些更具体的允许用途。如果未指定可解析的 [number],此指令会被忽略。
特殊值:
0:不会显示任何摘要。等同于nosnippet。-1:没有摘要长度限制。
示例:
<meta name="robots" content="max-snippet:20">
max-image-preview:[setting]
设置此网页的图片预览在搜索结果中的尺寸上限。
接受的 setting 值:
none:不会显示图片预览。standard:可能会显示默认图片预览。large:可能会显示较大的图片预览,最高达到视口宽度。
这适用于所有形式的搜索结果(例如 Google 网页搜索、Google 图片、Google 探索、Google 助理)。但是,如果发布商已单独授予内容使用权限,则此限制不适用。例如,如果发布商以页内结构化数据的形式提供内容(例如 AMP 网页和规范版本的文章),或与 Google 签订了许可协议,则此设置不会妨碍这些更具体的允许用途。
如果发布商不希望 Google 将其 AMP 网页和规范版本的文章显示在搜索结果页或“探索”功能中时使用较大的缩略图,则应将 max-image-preview 的值指定为 standard 或 none。
示例:
<meta name="robots" content="max-image-preview:standard">
max-video-preview:[number]
此网页上的视频在搜索结果中的视频摘要时长不得超过 [number] 秒。
其他支持的值:
0:根据 max-image-preview 设置,最多只能使用静态图片。-1:没有限制。
这适用于所有形式的搜索结果(例如 Google 网页搜索、Google 图片、Google 视频、Google 探索、Google 助理)。如果未指定可解析的 [number],此指令会被忽略。
示例:
<meta name="robots" content="max-video-preview:-1">
notranslate
不在搜索结果中提供该网页的译文。
noimageindex
不将该网页上的图片编入索引。
unavailable_after: [date/time]
在指定日期/时间过后,不在搜索结果中显示该网页。日期/时间必须以广泛采用的格式指定,包括但不限于 RFC 822、RFC 850 和 ISO 8601。如果未指定有效的 [date/time],此指令会被忽略。默认情况下,内容没有失效日期。
示例:
<meta name="robots" content="unavailable_after: Sunday, 01-Sep-24 01:00:00 PDT">
参考资料:
https://developers.google.com/search/reference/robots_meta_tag
原文地址:https://www.ryanzoe.top/seo/website-seo/
SEO 网站抓取和收录的那些事的更多相关文章
- 网站SEO优化如何让百度搜索引擎绝的你的网站更有抓取和收录价值呢?_孙森SEO
今天孙森SEO为大家唠唠网站到底该如何优化才会让百度搜索引擎绝的你的网站更有抓取和收录价值呢? 第一方面:网站创造高品质的内容,可以为用户提供独特的价值. 1.百度作为搜索引擎,网站内容必须满足 搜索 ...
- 开启gzip压缩/cdn是否会影响抓取和收录量
http://www.wocaoseo.com/thread-291-1-1.html 服务器开启gzip压缩是否会影响蜘蛛抓取和收录量?站点开了CDN,对百度SEO影响有多大?我发现我们站自从开了C ...
- [转]使用Scrapy建立一个网站抓取器
英文原文:Build a Website Crawler based upon Scrapy 标签: Scrapy Python 209人收藏此文章, 我要收藏renwofei423 推荐于 11个月 ...
- PHP登入网站抓取并且抓取数据
有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了.有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话.下面看看代 ...
- Nutch2.1+mysql+solr3.6.1+中文网站抓取
1.mysql 数据库配置 linux mysql安装步骤省略. 在首先进入/etc/my.cnf (mysql为5.1的话就不用修改my.cnf,会导致mysql不能启动)在[mysqld] 下添加 ...
- sciencedirect 网站抓取过程
开发环境 C#+SQLite 软件使用教程: 设置页面 1. 首先录入需要查询的关键词,如果需要根据年去查询,可以勾选对应的年,支持多个年份查询.点击[设置关键字]按钮,把待查询关键 ...
- wget整站抓取、网站抓取功能;下载整个网站;下载网站到本地
wget -r -p -np -k -E http://www.xxx.com 抓取整站 wget -l 1 -p -np -k http://www.xxx.com 抓取第一级 - ...
- c#使用WebClient登录网站抓取登录后的网页
C#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话Cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了. 如下类CookieAwareWebCl ...
- 【转】详解抓取网站,模拟登陆,抓取动态网页的原理和实现(Python,C#等)
转自:http://www.crifan.com/files/doc/docbook/web_scrape_emulate_login/release/html/web_scrape_emulate_ ...
- 【JAVA系列】Google爬虫如何抓取JavaScript的?
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[JAVA系列]Google爬虫如何抓取Java ...
随机推荐
- Vue获取钉钉免登陆授权码(vue中的回调函数实践)
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 1.背景 2.技术栈 3.需求 4.实现步骤 4.1 配合webpack安装对应的npm包 4.2 抽取获得code的js方法 4.3 在需要 ...
- Caddy自编译
转载自我的个人博客:Caddy自编译 配置 Golang 环境 需要先配置 Golang 环境:Download and install - The Go Programming Language w ...
- 2025盘古石决赛-计算机&手机
手机取证 分析鸿蒙手机检材,打网球定的日期是?[标准格式:4月5日] 在日历数据中 3月3日 分析鸿蒙手机检材,哪个浏览器搜索过鸿蒙开发教程?[标准格式:百度浏览器] uc数据搜索过 UC浏览器 分析 ...
- javascript定义函数后立即执行(IIFE)
Talk is cheap, show me the code. // Immediately Invoked Function Expression - IIFE // 定义后立即执行的JavaSc ...
- WDA SEARCH step by step
之前写了不少的东西,其实大多数都是给自己看的,我的习惯是把资料放到网上,用的时候直接看博客. 之前硬盘轻轻摔了一下,几年的资料没了,然后就再也不用硬盘了. 昨天有人突然问我关于WDA的问题,毕竟奇怪, ...
- dotnetty 新的篇章- 开源
一.前言 因为微服务引擎依赖于dotnetty组件,很多协议都是针对于dotnetty 进行扩展,然后对于老版本https://github.com/azure/dotnetty 停止更新后,本人下载 ...
- 开源直播课丨大数据集成框架ChunJun类加载器隔离方案探索及实践
本期我们带大家回顾一下无倦同学的直播分享<ChunJun类加载器隔离>,ChunJun类加载器隔离的方案是我们近期探索的一个新方案,这个方案目前还不是非常成熟,希望能借由此次分享与大家一起 ...
- Linux安装dotnet运行时
Centos Linux 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库. 打开终端并运行以下命令: sudo rp ...
- Java 处理不可见特殊字符的坑
看下图所示,两个空字符串不相等 因为str中有不可兼得特殊字符,可以在debug中将str的值复制出来,然后粘贴到双引号中们就可以看到这个字符的真面目,如下图所示: \uFEFF为控制字符,名为&qu ...
- 前端开发系列078-Node篇之npm
本文输出Node中和包管理有关的基本内容,即npm的使用. 一.简单介绍 npm全称Node packAge Manager是Node官方提供的包管理工具,下面列出包管理工具的功能边界. > ❏ ...