Ai-China 是用 Hexo 制作,先在本地生成静态网站,发布后当然还涉及到 SEO 的问题。

一般的建议就是将网站地图(即 sitemap)上传到 Google 和 Baidu 等搜索引擎求抓取收录。

但在 Google Search Console 填写 sitemap.xml 时,总会提示 couldn't fetch(未能获取),尝试过网友的无数方法,历时两月,终于把这个问题解决了。因为每人的情况都有不同,所以这里干脆按照 Ai-China 的踩坑历程,把所有方法总结一遍,各位不妨一试。

站点地图是一种xml文件,可以通过该文件列出网站上的网页,从而将网站内容的组织架构告知Google和其他搜索引擎。Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。

向搜索引擎提交自己hexo博客的sitemap,有助于让别人更好地通过搜索引擎搜索到自己的博客。

image-20231221205001937

一、生成Hexo博客的sitemap文件

Hexo有提供2个插件,用来自动生成sitemap文件。用以下命令安装:

1
2
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save

安装完后,每当执行 hexo generate命令后,就会在Hexo下的public目录下生成两个文件。原来一直以为是Hexo根目录下的同名文件,后来发现它们一直不更新,真正起作用的是public目录下的文件。

  • sitemap.xml 这个用来提交给Google、Bing等搜索引擎
  • baidusitemap.xml 这个是百度专用的

运行 hexo deploy命令后,打开访问:域名/sitemap.xml域名/baidusitemap.xml这两个文件都能访问,就没问题了。

访问结果如下图所示:
img

二、提交站点地图(sitemap)给搜索引擎

1.提交给Google

网址:https://search.google.com/search-console/
当然,前提是你能访问Google,并注册了Google的账号了。

1).需要有个先验证你对网站的所有权

  • 首先,按操作提示下载提供的HTML验证文件(google2342fweklrljlj235423.html类型这样的文件);

  • 然后,要把这个文件放网站首页;

    (就直接放Hexo/source目录下,按Hexo 自定义页面 跳过渲染这篇文章的跳过渲染方法,hexo g后就会生成在public目录下了)

  • 最后,添加站点地图

    有两种方式,可以自己都试下。提交完后如下图所示就行了,回头再看:

    img

    但也有人怎么添加都提示couldn't fetch状态,汇总了网友提出的多种方法,你可以挨个试一试:

    a. Atom法

    ​ 既然sitemap传不上去,可以使用atom.xml替代一下。就是将原本填写sitemap.xml的地方填写atom.xml。有人说两者的区别在于sitemap是整个网站地图,而atom的帖子数量不能超过20或30。实际上这种说法并不准确,它们的真正区别在于atom只处理最近的20或30篇帖子,主要是作为更新用途。所以,最好是先添加sitemap,再添加atom作为补充。

    b. 将sitemap.xml改为?sitemap=1,Ai-China试过,会报错,有兴趣的可以试试,原理未知。

    c. 在sitemap.xml的前方多加一个/,即形成//sitemap.xml的样式,据说有50%的成功率,Ai-China同样未能成功。

    d. 改名法

    ​ 将sitemap.xml改为其他名字,比如sitemap1.xml。注意在本地也要同步更改,然后hexo clean hexo g hexo d完成上传。还要完成本地根目录下_config.yml文件的相应更改,添加如下内容,并将sitemap改名为sitemap1.xml

    1
    2
    3
    4
    5
    6
    7
    8
    Plugins:

    - hexo-generator-baidu-sitemap
    - hexo-generator-sitemap
    baidusitemap:
    path: baidusitemap.xml
    sitemap:
    path: sitemap1.xml

    最终此法成功完成添加!

2.提交给Bing

如果能提交给Google的话,先提交给Google后,再提交给Bing就很简单。因为可以直接授权通过。

网址:https://www.bing.com/webmasters

然后我就直接添加了下【网站地图】,就用sitemap.xml文件就行,把http和https的直接添加试了下。
img

3.提交给百度

搜索资源平台为站点提供三种验证方式:文件验证、html标签验证。最为常见的就是文件验证,也是比较简单方便的一种方法。

1、文件验证

**(1)登录百度搜索资源平台——点击用户中心——点击站点管理——**添加网站

image-20231220212319780

(2)输入需要验证的网址

**https **站点重点关注:输入需要验证的网址的时候,https的站点需要填写协议头,非https的站点可以不写协议头。

image-20231220212335426

(3)对站点类型进行分类

image-20231220212352238

(4)选择文件验证,下载验证文件

image-20231220212416717

(5)把下载下来的文件上传到网站的根目录下(每个网站的根目录的名称不一样)

实际上Ai-China试过这样不行,还需要把验证的html文件复制到public目录下,hexo d才可以。

(6)点击完成验证

image-20231220212427720

image-20231220212439314

文件验证有时候也会出现验证失败的情况,例如首页有跳转,网页速度打开慢都有可能会出现验证失败的情况,下图是有跳转(301)的情况,遇到这样的情况可以临时修改服务器的配置,或者使用其它任意一种验证方式。

image-20231220212733320

**2、**html标签验证

(1)输入需要验证的网址

(2)对站点类型进行分类

(3)选择HTML标签验证

image-20231220212805758

(4)打开首页模板一般都是index.html,将代码复制到标签与标签之间

image-20231220212822310

(5)然后保存模板,生成首页

(6)点击完成验证

image-20231220212834735

最后,注意事项:

1、使用百度统计的站点在搜索资源平台也要验证,统计站点批量导入功能已下线,添加网站前需完善账户信息。

**2、**输入需要验证的网址时,https的站点需要填写协议头,非https的站点可以不写协议头

3、站点领域信息必须填写,需填写1-3项。

4、 点击完成验证的时候应该先点击一下蓝色的字:点击这里,确认验证文件可以正常访问,如能正常访问,再点击验证完成。

5、文件验证有时候也会出现验证失败的情况。使用其它任意一种方式都可以,如果是301的问题可以临时修改服务器的配置,或者使用其它任意一种验证方式。

6、如果站长已经验证了站点的主站,可以批量添加站点的子站,无需验证。

7、使用html标签验证的时候,请确保标签的content内容和验证界面提示的是相同哒。

8、如站长更换用户名验证站点的时候,文件验证:一定要重写下载验证文件进行文件验证。html验证:一定要重新添加HTML代码到网站首页。

9、站点验证成功后,验证文件或者html的代码到ziyuan.baidu.com关系不可以取消,取消会导致验证失效。

顺便说一下可以怎么在搜索引擎上看结果**:
可以过一两天,然后打开搜索引擎,直接搜索 site:域名或者前面再加个关键词,(比如我的搜索 hexo site:ai-china.xyz)就可以看收录了多少了。
在搜索引擎中搜索时 ,加上site:域名,本来就可以搜索指定站点中的内容。