如何让搜索引擎收录你的个人网站:Google、Bing 和百度
博客搭好之后,还有一个很现实的问题:搜索引擎怎么才能找到它?
一开始我以为,只要网站能访问,搜索引擎迟早会自己发现。理论上确实有可能,但如果是一个刚上线、没什么外链的新站,那等待时间就很玄学了。
所以更稳的做法是:主动告诉搜索引擎“我这个站点在这里”,并且给它一份 sitemap。
这篇记录一下我给 Hexo 博客接入 Google、Bing 和百度收录的过程,以及中间踩到的一个 Cloudflare Pages 小坑。
先把站点 URL 配好
第一步不是去提交搜索引擎,而是先确认 Hexo 的站点地址是对的。
在 Hexo 根目录的 _config.yml 里,把默认的:
1 | url: http://example.com |
改成自己的正式域名:
1 | url: https://moyudev.dpdns.org |
这个很重要。
如果这里还是 example.com,那生成出来的 canonical、文章版权链接、Open Graph 地址、sitemap 链接都可能是错的。搜索引擎看到这些信息,会很迷惑。
添加 robots.txt
在 Hexo 的 source 目录下新建:
1 | source/robots.txt |
内容类似:
1 | User-agent: * |
robots.txt 的作用是告诉搜索引擎哪些内容可以抓取,以及 sitemap 在哪里。
这里我同时放了两个 sitemap:
1 | sitemap.xml |
一个给通用搜索引擎,一个给百度。实际上内容可以一样,只是百度平台里提交 baidusitemap.xml 看着更清楚。
生成 sitemap
通常 Hexo 可以安装插件:
1 | npm install hexo-generator-sitemap --save |
不过我当时安装 npm 插件时网络不太顺,所以最后选择自己写了一个 Hexo 生成脚本:
它会在 hexo generate 时自动生成:
1 | public/sitemap.xml |
生成出来的链接类似:
1 | <url> |
这样每次新增文章后,只要重新构建,sitemap 就会自动更新。
Google Search Console
Google 的接入比较直接。
打开:
1 | https://search.google.com/search-console |
添加资源时,我选择了 URL 前缀:
1 | https://moyudev.dpdns.org/ |
然后选择 HTML 文件验证。Google 会给一个类似这样的文件:
1 | google233c2cbcb316049c.html |
把它放到 Hexo 的 source 目录:
1 | source/google233c2cbcb316049c.html |
但这里有个小细节:这个验证文件必须原样输出,不能被 Hexo 当成页面渲染。
所以 _config.yml 里要加:
1 | skip_render: |
这样构建后访问:
1 | https://moyudev.dpdns.org/google233c2cbcb316049c.html |
看到的就是原始验证内容,而不是被主题包起来的博客页面。
Google 验证通过后,在 Search Console 里提交 sitemap:
1 | https://moyudev.dpdns.org/sitemap.xml |
然后可以用“网址检查”检查首页:
1 | https://moyudev.dpdns.org/ |
点“请求编入索引”。
Bing Webmaster Tools
Bing 也类似。
打开:
1 | https://www.bing.com/webmasters |
最省事的方法是直接从 Google Search Console 导入站点。如果不导入,也可以手动添加:
1 | https://moyudev.dpdns.org/ |
验证方式可以同样使用 HTML 文件,放到 source 目录,并依赖前面配置好的:
1 | skip_render: |
验证成功后提交 sitemap:
1 | https://moyudev.dpdns.org/sitemap.xml |
Bing 的体验整体比较顺,不太折腾。
百度搜索资源平台
百度这边稍微绕一点。
打开百度搜索资源平台,添加站点:
1 | https://moyudev.dpdns.org/ |
一开始我选择了文件验证,百度给了一个文件:
1 | baidu_verify_codeva-BrFw8rG3Ka.html |
放到:
1 | source/baidu_verify_codeva-BrFw8rG3Ka.html |
本地构建后也确实能生成:
1 | public/baidu_verify_codeva-BrFw8rG3Ka.html |
内容是:
1 | 9bcbdcd68501bf5d9781b8824fc6a424 |
看起来一切正常,但验证时失败了。
当时百度后台提示:
1 | 验证失败 |
截图大概是这样:

踩坑:Cloudflare Pages 的 .html 重定向
问题出在 Cloudflare Pages 的一个特性上。
我访问:
1 | https://moyudev.dpdns.org/baidu_verify_codeva-BrFw8rG3Ka.html |
它会自动跳转到:
1 | https://moyudev.dpdns.org/baidu_verify_codeva-BrFw8rG3Ka |
也就是把 .html 后缀去掉了。
这对普通页面是好事,URL 看起来更干净。但对百度文件验证来说就有点尴尬,因为百度要找的就是那个固定的 .html 文件。
我还试过一个有点好笑的办法:把文件名改成:
1 | baidu_verify_codeva-BrFw8rG3Ka.html.html |
想着 Cloudflare 会不会把它重定向成:
1 | baidu_verify_codeva-BrFw8rG3Ka.html |
这个思路挺有实验精神,但实际不稳定,也不建议这么搞。
最后我换成了百度的 HTML 标签验证。
百度给的 meta 类似:
1 | <meta name="baidu-site-verification" content="codeva-BrFw8rG3Ka" /> |
我把它加到了 Butterfly 主题配置的 head 注入里:
1 | inject: |
重新构建后,首页源码里能看到这段:
1 | <meta name="baidu-site-verification" content="codeva-BrFw8rG3Ka" /> |
然后回百度选择“HTML标签验证”,就不会再受 .html 重定向影响。
验证通过后,提交百度 sitemap:
1 | https://moyudev.dpdns.org/baidusitemap.xml |
会不会影响 Google?
不会。
Google 的 HTML 文件验证、百度的 HTML 标签验证、Bing 的验证方式,可以同时存在。
它们互不影响:
1 | Google: googlexxxx.html |
robots.txt 里也可以同时写多个 sitemap。搜索引擎会按自己的规则抓取,不会因为你接入了百度就影响 Google。
每次发文章都要重新提交吗?
不用。
只要这些配置做好了,后面正常写文章就行:
1 | 写 Markdown |
每次构建时,sitemap 会自动更新,新文章链接会出现在:
1 | https://moyudev.dpdns.org/sitemap.xml |
和:
1 | https://moyudev.dpdns.org/baidusitemap.xml |
如果是很重要的文章,可以去 Google Search Console 或 Bing Webmaster Tools 手动提交 URL,但平时没必要每篇都折腾。
最后
让搜索引擎收录一个新站,大概就是这几件事:
1 | 配置正确的站点 URL |
真正要注意的是,静态站托管平台可能会有自己的 URL 规则,比如 Cloudflare Pages 的 .html 自动重定向。普通页面没问题,但搜索引擎验证文件就可能踩坑。
所以我的最终方案是:
1 | Google:HTML 文件验证 |
配置好以后,剩下的事情就是持续写内容了。搜索引擎收录只是入口,真正能留下来的,还是网站本身有没有值得被找到的东西。



