知识库 / 训练营 / 培训课件
第3课 · 抓取与索引控制:robots / sitemap / canonical / 404 / 面包屑 / nofollow / IndexNow
学会用一套“交通规则”,告诉搜索引擎该抓什么、别抓什么、以哪个网址为准,让站点又快又干净地被收录。
学习目标#
- 能独立写出并读懂
robots.txt,明白它管的是“抓取”而不是“收录”。 - 会用 meta robots / X-Robots-Tag 精确控制单个页面的收录与跟随行为。
- 能配置并提交 sitemap.xml,理解它如何帮助新站快速被发现。
- 会正确使用 canonical 处理采集/重复/参数页面的规范化问题。
- 能设置有用的 404 页面、面包屑结构,并给合适的链接加 nofollow。
- 理解 IndexNow(含 Bing / Yandex)主动推送的原理,会给站点接一次。
建议课时与前置#
建议 1.5~2 课时,配合一次真实站点实操。前置为第 1 课(SEO 与搜索引擎基础)与第 2 课(关键词与页面基础),本课默认你已经能区分“抓取(crawl)—收录(index)—排名(rank)”三个阶段。
正文精讲#
搜索引擎处理一个站点分三步:先抓取(爬虫来读页面)、再收录(把页面放进索引库)、最后排名。本课讲的全部工具,本质上就是在前两步给爬虫下达“交通指令”。对我们这种内容量大、部分采集、更新频繁的吃瓜/资讯站尤其关键——爬虫预算(crawl budget)有限,指错路就会浪费在垃圾页面上,正经内容反而收录慢。
robots.txt 与 meta robots#
robots.txt 放在网站根目录(https://域名/robots.txt),是爬虫进站第一件事读的文件。它控制的是“允许不允许来抓”,注意:被 Disallow 的页面依然可能被收录(Google 若从外链发现该 URL,会以无摘要形式收录)。所以“想让某页彻底不出现在搜索结果里”,要用 meta robots 的 noindex,而不是 robots.txt。
一个资讯站可用的样例:
# https://example.com/robots.txt
User-agent: *
Disallow: /wp-admin/
Disallow: /search/
Disallow: /*?s=
Disallow: /tag/
Allow: /wp-admin/admin-ajax.php
User-agent: *
Crawl-delay: 5
Sitemap: https://example.com/sitemap.xml
逐行说明:User-agent: * 对所有爬虫生效;Disallow: /wp-admin/ 挡掉后台;/search/ 与 /*?s= 挡掉站内搜索结果这类无限生成的垃圾 URL;/tag/ 是否屏蔽看策略(标签页容易造成大量薄弱重复页);Allow 放行后台里的 ajax 接口;Crawl-delay 让抓取别太猛(Google 不认这条,但 Bing/Yandex 认);末尾一定要写 Sitemap: 指路。
对单个页面的精细控制用 meta robots,写在 <head> 里:
<!-- 收录本页,并跟随页面内链接 -->
<meta name="robots" content="index, follow">
<!-- 不收录本页,但允许爬虫顺着链接爬下去(适合分页第2页、筛选页) -->
<meta name="robots" content="noindex, follow">
非 HTML 文件(PDF、图片)无法写 meta 标签,就用响应头 X-Robots-Tag: noindex 达到同样效果。
sitemap#
sitemap.xml 是一份“网址清单”,主动告诉搜索引擎你有哪些页面、什么时候更新的。新站没什么外链、爬虫发现慢,sitemap 能显著加快被发现的速度。样例:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/news/12345.html</loc>
<lastmod>2026-07-25</lastmod>
</url>
</urlset>
要点:只放希望被收录的规范网址(别放被 noindex 或 canonical 指向别处的 URL,会自相矛盾);单个文件最多 5 万条 / 50MB,超了就拆分并用 sitemap 索引文件;lastmod 要真实反映更新时间,对高频更新的资讯站很有价值。写好后到 Google Search Console、Bing Webmaster Tools 各提交一次。
canonical 规范化#
canonical(规范链接标签)用来告诉搜索引擎:“同样或高度相似的内容有好几个网址,请以这一个为准。”这对我们直接命脉相关——采集内容、带 ?utm=/排序/分页参数的 URL、http/https、带不带 www、带不带结尾斜杠,都会制造重复页,稀释权重。写法放在 <head>:
<link rel="canonical" href="https://example.com/news/12345.html">
规则:用绝对路径;每页只能有一个 canonical;首选页的 canonical 指向自己;参数页 / 打印页 / 分页应指向主版本。特别提醒:采集别人的内容时,canonical 默认指向你自己的规范 URL(不要指回原文,否则等于把收录和权重让给对方);但也要清楚,纯采集重复内容即使 canonical 正确,也很难获得好排名,原创改写才是根本。
404 页面#
用户或爬虫访问不存在的页面时,服务器必须返回真正的 HTTP 404 状态码(而不是返回 200 的“假 404”——那叫 soft 404,会让搜索引擎把空页面当正常页收录)。同时做一个友好的 404 页面:告知“页面不存在”、提供搜索框和热门内容/返回首页入口,减少跳出。对已永久删除的页用 404/410;对已迁移的页用 301 跳转到新地址,别一律 404。
面包屑#
面包屑(breadcrumb)是页面顶部“首页 > 娱乐 > 明星八卦 > 本文”这样的层级导航。它一方面帮用户和爬虫理解网站结构、传递内链权重,另一方面配合结构化数据能在搜索结果里显示成漂亮的路径,提高点击率。建议给面包屑加上 BreadcrumbList 结构化数据。
nofollow#
rel="nofollow" 告诉搜索引擎“这条链接我不为它背书,别传递权重”。用于广告/推广链接(现在更推荐 rel="sponsored")、用户生成内容里的链接(rel="ugc",如评论区)、以及你不想被牵连的外链。
<a href="https://广告主.com/" rel="sponsored nofollow">合作推广</a>
<a href="https://某站.com/" rel="ugc nofollow">网友评论里的链接</a>
注意:站内正常导航链接不要加 nofollow,那会阻碍权重在自己站内流动。做友链交换时也要留心对方是否给你加了 nofollow——加了的友链几乎不传递权重。
IndexNow 主动推送#
前面的 sitemap 是“等爬虫来看”,IndexNow 则是“页面一发布/更新,我主动把 URL 推给搜索引擎”。它是 Bing 与 Yandex 联合推的开放协议,推一次即多家共享(Google 目前不参与 IndexNow,Google 侧用 Search Console 或 sitemap)。做法:生成一个密钥字符串,把 密钥.txt 放到网站根目录验证归属,然后每次有新内容就向接口 POST 提交 URL 列表。对更新极快的资讯/吃瓜站,这能让 Bing 收录从“几天”缩短到“几分钟”,是低成本高回报的一步。
配套精读(手册对应页)#
- 什么是 robots — 理解 robots.txt 的作用边界:它管抓取,不等于管收录。
- 什么是 Sitemap? — 站点地图的格式、提交方式与对新站的价值。
- meta robots 应该怎么设置 — index/noindex、follow/nofollow 各组合的适用场景。
- 为什么要做 Canonical(规范化链接标签) — 重复内容与参数页的规范化处理。
- 什么是 404 页面? — 真 404 与 soft 404 的区别及友好页面设计。
- 面包屑是什么 — 面包屑导航对结构与收录的帮助。
- 为什么要给广告链接加 nofollow — nofollow/sponsored/ugc 的正确用法。
- 什么是 Bing IndexNow API 自助提交? — IndexNow 主动推送的原理与接入步骤。
课堂实操 / 作业#
- 为一个资讯站写出 robots.txt:给出你负责站点的完整
robots.txt,并逐行写注释解释每一条为什么这么写(至少覆盖后台、站内搜索、标签页、Sitemap 声明)。写完用 Google Search Console 的 robots.txt 测试工具或https://你的域名/robots.txt检查是否 200 可访问。 - 给 3 类页面配 canonical:分别写出(a)一篇普通文章、(b)带
?utm_source=参数的同一文章、(c)一篇采集改写的文章 的 canonical 标签,并说明各自指向哪里、为什么。 - 生成并提交 sitemap + 接入 IndexNow:为站点生成 sitemap.xml,在 GSC 与 Bing Webmaster Tools 各提交一次;再申请一个 IndexNow 密钥、放置验证文件,手动 POST 提交 1 个新 URL,截图确认返回 200。
- 自查 soft 404 与 nofollow:随手访问一个不存在的网址,用浏览器开发者工具查看返回的状态码是否为真 404;再检查站内是否有导航链接被误加了 nofollow。
考核自检清单#
- [ ] 能一句话说清 robots.txt 的
Disallow与 meta robots 的noindex分别管什么、不能互相替代。 - [ ]
robots.txt位于根目录、可正常访问,且结尾正确声明了 Sitemap。 - [ ] sitemap.xml 只包含规范可收录 URL,已在 GSC 与 Bing 提交。
- [ ] 每个重要页面都有唯一、指向绝对路径的 canonical,采集页 canonical 指向本站自身。
- [ ] 不存在的页面返回真 404(非 soft 404),且 404 页有搜索/返回入口。
- [ ] 重要栏目页配置了面包屑(最好带 BreadcrumbList 结构化数据)。
- [ ] 广告/推广链接加了
sponsored,评论区链接加了ugc,站内导航链接未误加 nofollow。 - [ ] 已接入 IndexNow(密钥验证文件就位),新内容能主动推送给 Bing/Yandex。