自动提交网址给搜索引擎(IndexNow)
🚀
开启之后,你每次发布网站或改动内容,Creght 会自动把变化的网址推送给搜索引擎,不用再手动去提交。
覆盖 Bing、Yandex、Seznam、Naver 四家(它们共用 IndexNow 这个协议)。Google 不支持这个协议,它那边仍然靠 sitemap 和 Search Console。
有什么用
不开的话,搜索引擎靠自己来爬,发现一个新页面通常要数天到数周。开了之后,发布完几分钟内它们就会收到通知。
最明显的收益是新页面:新写的文章、新上架的商品、新做的落地页,能快很多被收录。
怎么开
- 确认网站已经绑定自定义域名并且发布过。没绑域名这个功能不会出现,因为搜索引擎不收录预览地址。
- 打开编辑器左侧的 SEO → 搜索引擎收录。
- 把「自动提交(IndexNow)」的开关打开。
就这样,没有第四步。不需要注册账号,也不需要去任何搜索引擎后台拿密钥。
刚打开时会发生什么
平台会立刻跑一次,把你网站上最近更新的一批网址提交出去(最多 1000 条)。更早的历史页面不提交,交给 sitemap 正常收录就行。IndexNow 的价值在于「有变化时立刻告诉搜索引擎」,不在于一次性把老内容推一遍。
面板上那几行是什么意思
| 字段 | 含义 |
|---|---|
| 上次同步 | 最近一次提交的时间和条数。它回答的是「这东西还在工作吗」 |
| 累计 | 开启以来一共提交过多少条 |
| 校验文件 | 一个放在你网站根目录的小文件,搜索引擎用它确认「提交的人确实是这个网站的主人」。点开能看到一串字符就是正常的 |
如果某次提交失败,这里会显示红色的错误说明,一般能直接看出该改什么。
什么时候会自动提交
三种情况都会触发:发布网站、修改 CMS 内容、以及每天一次的兜底检查(防止前两种因为各种原因漏掉)。
连续操作不会重复提交:一分钟内的多次改动会合并成一次。
常见问题
会提交我的草稿或者没发布的页面吗?
不会。提交的清单来自你网站的 sitemap.xml,也就是搜索引擎本来就看得到的那些网址。预览地址、系统临时域名都不会提交。
校验文件里那串字符要保密吗?
不用。它是协议要求公开的,作用只是证明「这个网站归你管」。别人拿到它也只能替你提交你自己网站的网址,做不了别的。所以也不需要定期更换。
我改了 5 次首页,会提交 5 次吗?
通常不会。平台是拿当前 sitemap 和上次提交过的记录做对比,只提交真的变了的那些网址。同一天内反复改同一个页面,一般只提交一次。
为什么我改了页面,却显示「0 个网址」?
最常见的原因是还没发布。编辑器里的改动要发布之后才会进入正式网站,也才会被提交。
另外两种情况也会是 0:
- 同一天内反复改同一个页面。平台按天判断「变了没有」,当天第一次发布提交过之后,后面几次就不再重复提交。
- 这次发布没有实际改动。原地重新发布一次不会产生新版本,页面也就不算变过。
平台怎么知道一个页面什么时候变的?
分两种:
- 内容页(文章、商品这类由 CMS 驱动的详情页):用内容记录自己的更新时间,精确到具体某一条内容。
- 代码页(首页、功能页这类):用网站这一版发布的时间。
代码页之所以不按单个文件算,是因为页面之间会互相引用:首页用了某个组件,组件改了首页的显示也会变,但首页那个文件本身没动过。按文件算会漏掉这种情况,而且看起来像是对的。用发布时间虽然粗一点(这一版里只要有改动,所有代码页都算变了),但不会漏报。
怎么让内容页的更新也被识别?
跟 AI 说一句就行:
给动态路由页面加上 generateStaticParams,返回内容列表并带上 lastModified(用 CMS 记录的 updated_at)。
这同时还解决另一个更要紧的问题:动态路由不写这个函数的话,那些详情页压根不会出现在 sitemap 里,搜索引擎根本找不到它们。SEO 页面上如果看到黄色的提醒说「这些路由在 sitemap 里一个页面都没有」,说的就是这件事,优先修它。
我自己写了 sitemap.ts,是不是就都能识别了?
能,而且不用你操心时间。
规则是:某一条你写了 lastModified 就用你写的,没写的平台自动补上这一版的发布时间。所以只在你确实知道准确时间的地方写(比如 CMS 内容的 updated_at),其余留空就好。
不要写
new Date()Creght 的 sitemap 是每次被访问时现算的,
new Date()于是每次都不一样,平台会误以为整站一直在变、反复重复提交。这一点和 Next.js 不同:那边的 sitemap 在构建时生成一次,
new Date()正好等于部署时间,所以它的官方示例这么写没问题。照抄过来就会出问题,而且不会有任何报错。
关掉之后会怎样?
不再自动提交,已经提交过的不受影响。随时可以再打开,记录还在。
Google 怎么办?
Google 不支持 IndexNow。它靠 sitemap 自己来爬,你也可以在同一个页面上点「主动提交」去 Google Search Console 手动提交一次。
