如果你不主动提交你的博客地址给各大搜索引擎,那么即使你站内优化做得再好,搜索引擎根本都不知道你的博客的存在。本文简单介绍如何在各大搜索引擎提交博客。
站点地图生成
站点地图即 sitemap,是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接。站点地图可以告诉搜索引擎网站上有哪些可供抓取的网页,以便搜索引擎可以更加智能地抓取网站。
安装百度和 Google 的站点地图生成插件 1 2 npm install hexo-generator-baidu-sitemap --save npm install hexo-generator-sitemap --save
修改配置文件 修改站点配置文件_config.yml
,添加以下内容:
1 2 3 4 5 # 自动生成sitemap sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml
hexo g
生成后进入 public 目录,你会发现里面有 sitemap.xml
和 baidusitemap.xml
两个文件,这就是生成的站点地图。里面包含了网站上所有页面的链接,搜索引擎通过这两个文件来抓取网站页面。
sitemap.xml
用来提交给 Google
baidusitemap.xml
用来提交给百度
Google Search Console 查看是否被收录 首先查看你的博客地址是否已经被 Google 收录,在 Google 的搜索栏中搜索:
1 site:weilining.github.io
搜索资源提交 进入 Google Web Master Search Console,首先需要进行站点验证,由于 NexT-7.1.2 已经内置了这个方法,所以这里只需要在主题配置文件_config.yml
把验证代码写上去就可以:
1 2 3 # Google Webmaster tools verification. # See: https://www.google.com/webmasters google_site_verification: smrzctX4--4QKjd_jAPttPxWy06c4SLQo2v1sHBA5rE
然后提交 sitemap 即可。
百度站长平台 添加、验证站点 由于 NexT-7.1.2 已经内置了这个方法,所以这里只需要在主题配置文件_config.yml
把验证代码写上去就可以:
1 2 3 # Baidu Webmaster tools verification. # See: https://ziyuan.baidu.com/site baidu_site_verification: bfzCl5Q4EF
生成、部署后进行验证即可。
链接提交 百度站长平台的链接提交方式分为自动提交和手动提交两种,此处只讲自动提交,手动提交按照要求操作即可。
主动推送(实时) 主动推送最为快速的提交方式,是被百度收录最快的推送方式。主动推送的实现原理如下:
新链接的产生, hexo generate
会产生一个文本文件,里面包含最新的链接
新链接的提交, hexo deploy
会从上述文件中读取链接,提交至百度搜索引擎
下面是具体的实现:
安装插件:
1 npm install hexo-baidu-url-submit --save
然后在站点配置文件_config.yml
添加:
1 2 3 4 5 baidu_url_submit: count: 5 ## 提交最新的五个链接 host: weilining.github.io ## 百度站长平台中注册的域名 token: xxxxxxxxxxx ## 准入秘钥 path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里
准入秘钥可以在链接提交-自动提交-主动推送(实时)
中查看。
然后我们需要保证站点_config.yml
文件中 url 的值是百度站长平台注册的域名, 比如:
1 2 3 # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: https://weilining.github.io/
最后,加入新的 deployer-baidu_url_submitter:
1 2 3 4 5 6 7 8 9 # Deployment ## Docs: https://hexo.io/docs/deployment.html deploy: - type: git repository: git@github.com:dta0502/dta0502.github.io.git branch: master # other deployer - type: leancloud_counter_security_sync - type: baidu_url_submitter
自动推送 修改主题配置文件把 baidu_push
设置为 true。
然后就会将一下代码自动推送到百度,位置是 themes\next\layout_scripts\baidu_push.swig
, 这样每次访问博客中的页面就会自动向百度提交 sitemap。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 {% if theme.baidu_push %} <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> {% endif %}
sitemap 提交 首先访问之前生成的 sitemap 文件测试是否成功:https://weilining.github.io/baidusitemap.xml
然后我们可以在链接提交-自动提交-sitemap提交
中进行站点地图的提交。
输入验证码后提交即可,一般情况下,百度会在一小时内处理该文件,并提取其中的 url。
部署 Hexo 到 VPS 并且开启 HTTPS 由于百度蜘蛛采集链接信息之前需要访问 baidusitemap.xml
文件,而这个文件是在 GitHub Pages 里面的,但是 GitHub Pages 是禁止百度蜘蛛爬取的,所以百度蜘蛛在获取 baidusitemap.xml
文件这一步骤就被禁止了,GitHub Pages 返回 403 错误,因此抓取失败(哪怕获取到 baidusitemap.xml
文件也不行,因为后续需要采集的静态网页全部是放在 GitHub Pages 中的,全部都会被禁止)。
我们可以通过百度站长的抓取诊断来验证是否出现以上情况:
抓取诊断
这里基本可以确定 GitHub Pages 拒绝了百度 Spider 的爬取请求。
下面是 GitHub 的一个回复:
I’ve confirmed that we are currently blocking the Baidu user agent from crawling GitHub Pages sites. We took this action in response to this user agent being responsible for an excessive amount of requests, which was causing availability issues for other GitHub customers. This is unlikely to change any time soon, so if you need the Baidu user agent to be able to crawl your site you will need to host it elsewhere.
因此我需要把 Hexo 部署到自己的 VPS 上,具体的部署过程见:Hexo 博客部署到 VPS 。
为了能够部署到 VPS,那就需要绑定一个个性域名,具体过程见 GitHub Pages 绑定域名 。
然后再把 Hexo 升级 HTTPS,具体步骤见:Hexo 升级 HTTPS
同时由于我们知道了百度爬虫的用户代理,那么就可以直接使用 curl 命令来模拟百度爬虫的请求,观察返回的 http 结果是否正常:
1 curl -A "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" https://weilining.github.io/baidusitemap.xml
结果看出模拟请求的结果是正常的。
搜狗站长平台 文件路径:~\themes\next\layout\_partials\head\head.swig
,添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 {% if theme.google_site_verification %} <meta name="google-site-verification" content="{{ theme.google_site_verification }}"/> {% endif %} {% if theme.bing_site_verification %} <meta name="msvalidate.01" content="{{ theme.bing_site_verification }}"/> {% endif %} {% if theme.yandex_site_verification %} <meta name="yandex-verification" content="{{ theme.yandex_site_verification }}"/> {% endif %} {% if theme.baidu_site_verification %} <meta name="baidu-site-verification" content="{{ theme.baidu_site_verification }}"/> {% endif %} +{% if theme.sogou_site_verification %} + <meta name="sogou_site_verification" content="{{ theme.sogou_site_verification }}"/> +{% endif %}
主题配置文件_config.yml
添加:
1 2 +# Sougou Webmaster tools verification. +sogou_site_verification: YXFDrGSL8d
360 搜索站长平台 文件路径:~\themes\next\layout\_partials\head\head.swig
,添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 {% if theme.google_site_verification %} <meta name="google-site-verification" content="{{ theme.google_site_verification }}"/> {% endif %} {% if theme.bing_site_verification %} <meta name="msvalidate.01" content="{{ theme.bing_site_verification }}"/> {% endif %} {% if theme.yandex_site_verification %} <meta name="yandex-verification" content="{{ theme.yandex_site_verification }}"/> {% endif %} {% if theme.baidu_site_verification %} <meta name="baidu-site-verification" content="{{ theme.baidu_site_verification }}"/> {% endif %} {% if theme.sogou_site_verification %} <meta name="sogou_site_verification" content="{{ theme.sogou_site_verification }}"/> {% endif %} +{% if theme.so_site_verification %} + <meta name="360-site-verification" content="{{ theme.so_site_verification }}"/> +{% endif %}
主题配置文件_config.yml
添加:
1 2 +# 360 Webmaster tools verification. +so_site_verification: b2195ba72e4870178be78acf3163b3ce
神马站长平台 文件路径:~\themes\next\layout\_partials\head\head.swig
,添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 {% if theme.google_site_verification %} <meta name="google-site-verification" content="{{ theme.google_site_verification }}"/> {% endif %} {% if theme.bing_site_verification %} <meta name="msvalidate.01" content="{{ theme.bing_site_verification }}"/> {% endif %} {% if theme.yandex_site_verification %} <meta name="yandex-verification" content="{{ theme.yandex_site_verification }}"/> {% endif %} {% if theme.baidu_site_verification %} <meta name="baidu-site-verification" content="{{ theme.baidu_site_verification }}"/> {% endif %} {% if theme.sogou_site_verification %} <meta name="sogou_site_verification" content="{{ theme.sogou_site_verification }}"/> {% endif %} {% if theme.so_site_verification %} <meta name="360-site-verification" content="{{ theme.so_site_verification }}"/> {% endif %} +{% if theme.shenma_site_verification %} + <meta name="shenma-site-verification" content="{{ theme.shenma_site_verification }}"/> +{% endif %}
主题配置文件_config.yml
添加:
1 2 +# shenma Webmaster tools verification. +shenma_site_verification: 0febefc87224a8e180455c8bfbf8044a_1566192856
参考
1 https://tding.top/archives/4ea54752.html