Sitemap.xml导入GSC (Google search console)总是不成功的解决方案
Ai-China 是用 Hexo 制作,先在本地生成静态网站,发布后当然还涉及到 SEO 的问题。
一般的建议就是将网站地图(即 sitemap)上传到 Google 和 Baidu 等搜索引擎求抓取收录。
但在 Google Search Console 填写 sitemap.xml 时,总会提示 couldn't fetch
(未能获取),尝试过网友的无数方法,历时两月,终于把这个问题解决了。因为每人的情况都有不同,所以这里干脆按照 Ai-China 的踩坑历程,把所有方法总结一遍,各位不妨一试。
站点地图是一种xml文件,可以通过该文件列出网站上的网页,从而将网站内容的组织架构告知Google和其他搜索引擎。Sitemap 可方便管理员通知搜索引擎他们网站上有哪些可供抓取的网页。搜索引擎网页抓取工具会读取此文件,以便更加智能地抓取您的网站。
向搜索引擎提交自己hexo博客的sitemap,有助于让别人更好地通过搜索引擎搜索到自己的博客。
一、生成Hexo博客的sitemap文件
Hexo有提供2个插件,用来自动生成sitemap文件。用以下命令安装:
1 | npm install hexo-generator-sitemap --save |
安装完后,每当执行 hexo generate
命令后,就会在Hexo下的public目录下生成两个文件。原来一直以为是Hexo根目录下的同名文件,后来发现它们一直不更新,真正起作用的是public目录下的文件。
- sitemap.xml 这个用来提交给Google、Bing等搜索引擎
- baidusitemap.xml 这个是百度专用的
运行 hexo deploy
命令后,打开访问:域名/sitemap.xml
,域名/baidusitemap.xml
这两个文件都能访问,就没问题了。
访问结果如下图所示:
二、提交站点地图(sitemap)给搜索引擎
1.提交给Google
网址:https://search.google.com/search-console/
当然,前提是你能访问Google,并注册了Google的账号了。
1).需要有个先验证你对网站的所有权
-
首先,按操作提示下载提供的HTML验证文件(google2342fweklrljlj235423.html类型这样的文件);
-
然后,要把这个文件放网站首页;
(就直接放
Hexo/source
目录下,按Hexo 自定义页面 跳过渲染这篇文章的跳过渲染方法,hexo g
后就会生成在public目录下了) -
最后,添加站点地图
有两种方式,可以自己都试下。提交完后如下图所示就行了,回头再看:
但也有人怎么添加都提示
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
8Plugins:
- 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的直接添加试了下。
3.提交给百度
搜索资源平台为站点提供三种验证方式:文件验证、html标签验证。最为常见的就是文件验证,也是比较简单方便的一种方法。
1、文件验证
**(1)登录百度搜索资源平台——点击用户中心——点击站点管理——**添加网站
(2)输入需要验证的网址
**https **站点重点关注:输入需要验证的网址的时候,https的站点需要填写协议头,非https的站点可以不写协议头。
(3)对站点类型进行分类
(4)选择文件验证,下载验证文件
(5)把下载下来的文件上传到网站的根目录下(每个网站的根目录的名称不一样)
实际上Ai-China试过这样不行,还需要把验证的html文件复制到public目录下,hexo d
才可以。
(6)点击完成验证
文件验证有时候也会出现验证失败的情况,例如首页有跳转,网页速度打开慢都有可能会出现验证失败的情况,下图是有跳转(301)的情况,遇到这样的情况可以临时修改服务器的配置,或者使用其它任意一种验证方式。
**2、**html标签验证
(1)输入需要验证的网址
(2)对站点类型进行分类
(3)选择HTML标签验证
(4)打开首页模板一般都是index.html,将代码复制到
标签与标签之间(5)然后保存模板,生成首页
(6)点击完成验证
最后,注意事项:
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:域名,本来就可以搜索指定站点中的内容。