hexo next站点地图配置baidu-Google-Bing搜索引擎优化

刚建站的时候,百度是没有收录我们的网站的,这时在搜索框输入 site:<域名>,如:site:https://blog.bere.top ,搜索网页中就会显示”没有与此相关的结果: site:https://blog.bere.top ,检查拼写或尝试其他关键字“。如果希望自己博客的内容被更多人看到,搜索引擎所带来的流量是不容忽视的。本文详细介绍了如何向各大主流搜索引擎主动提交自己的博客,期望达到加快收录速度的目的。

生成站点地图 Sitemap

站点地图是一种文件,您可以在其中提供与您网站中的网页、视频或其他文件有关的信息,还可以说明这些内容之间的关系。Google 等搜索引擎会读取此文件,以便更加智能地抓取您的网站。站点地图会告诉 Google 您认为网站中的哪些网页和文件比较重要,还会提供与这些文件有关的重要信息:以网页为例,这些信息包括网页上次更新的时间、网页更改的频率,以及网页是否有其他语言版本。

  1. Google 版本插件,安装 hexo-generator-sitemap 插件,安装命令:

    npm install hexo-generator-sitemap --save

    安装插件后,执行 hexo clean && hexo generate可以在hexo项目文件夹下的Public文件夹中生成 Google 地图sitemap.txtsitemap.xml

  2. Baidu 版本,安装 hexo-generator-baidu-sitemap插件,安装命令

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

    安装插件后,执行 hexo clean && hexo generate可以在hexo项目文件夹下的Public文件夹中生成 地图baidusitemap.xml。

  3. 生成站点地图,安装后,在hexo配置文件_config.yml中找到url,改成你自己的域名。

    url: https://blog.bere.top
    #permalink: :year/:month/:day/:title/ # 文章的 永久链接 格式
    permalink: /:title/
    permalink_defaults:
    pretty_urls:
    trailing_index: true # 是否在永久链接中保留尾部的index.html
    trailing_html: true # 是否在永久链接中保留尾部的 .html

在hexo配置文件_config.yml中的最后添加如下:

baidusitemap:
path: baidusitemap.xml
  1. 更改完成后,每次进行打包的时候,会自动在public文件夹下生成sitemap.xml和aidusitemap.xml分别用于Google和百度。

NexT8.21为SEO提供的选项

默认情况下,在 Hexo 配置文件_config.yml中设置 URL 后,在 Hexo 中会创建一个规范链接标签。
将Next配置文件_ _config.next.yml如下设置:具体请查看官网

index_with_subtitle: true
exturl: true
exturl_icon: true
google_site_verification: F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc
bing_site_verification: 65AB321A829DD5542989CC078C3ABD9E
yandex_site_verification:
baidu_site_verification: hpYpGBuDQF

让 Google搜索收录网站

  1. Google 网站站长工具,如果你的域名是没有任何前缀的裸域名 ”console.com”这种就选择网域验证,如果是我这种https://blog.bere.top 有前缀的,就选择网址前缀,按要求填入你的域名,点击继续
  2. google

点击 继续后会有五种方式供我们选择:
html标记

个人推荐使用第二种,也就是 HTML 标记的方式,因为 NexT 主题的配置中对其进行支持,配置起来比较简单
content

点击复制,记录下其中的标记信息,例如我们这里复制的原始内容是:

<meta name="google-site-verification" content="F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc" />

在上面的Next 的配置 _config.next.yml 文件中将content=的内容F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc填入google_site_verification:中,如上第一段代码。之后重新生成网站,点击 验证 即可。

  1. 提交站点地图到google。之前 hexo-generator-sitemap 插件生成的站点地图,会默认放在Public根目录下,只需在 GSC 的站点地图页面 填好站点地图的位置,然后点击提交即可。
    sitemap

让 Bing 搜索收录网站

打开Bing Webmaster,使用绑定了 Google Search Console(后面简称 GSC) 的谷歌账号登录,这样后面就可以很方便地直接从 GSC 直接导入网站,而不需要再单独验证网站。
binga
bingcont

这里一样推荐使用第二种,也就是 HTML Meta 标记的方式,因为 NexT 主题的配置中对其进行支持,配置起来比较简单。bing_site_verification如上第一段代码配置。

提交站点地图也,只需在Bing Webmasters tools的站点地图页面 填好站点地图的位置,然后点击 提交 即可。具体文章参考

让 Baidu 搜索收录网站

点击进入百度搜索资源平台,用自己的百度账号进行登录。登录后「站点管理」–> 「添加站点」–> 「添加网站」。
baidu1

百度添加网站是需要进行实名认证的,这一点需要注意。
baidu2

填完个人信息后,提交站点网址,选择站点属性,最后一步验证网站。
baidu3

验证方式选择第二种「HTML标签验证」,复制下图 content 里的字符串。
baidu4

打开next主题配置文件 _config.next.yml,搜索 baidu_site_verification,将上述字符串填至后方,如上第一段代码

百度不能直接提交站点地图,要提交sitemap需要借助插件。安装 hexo-baidu-url-submit 插件:

npm install hexo-baidu-url-submit --save

百度搜索资源平台中,获取百度主动推送准入密钥并复制:
baidu5

在站点hexo配置文件 _config.yml 中修改deploy的代码如下:

deploy:
- type: git
repository: [email protected]:jinwei26/jinwei26.github.io.git
branch: main
- type: baidu_url_submitter

在站点hexo配置文件 _config.yml 中新增以下代码:参考文章

baidu_url_submit:
count: 1000 # 提交最新的一个链接
host: https://blog.bere.top/ # 在百度站长平台中注册的域名
token: rPa ## 请注意这是您的秘钥, 所以请不要把博客源代码发布在公众仓库里!
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里

此后每次执行 hexo clean && hexo generate 部署博客的时候将会自动在 ./public 目录下生成 baidu_urls.txt 文件,里面的内容就是自己设置的最新的 n 条文章链接。然后自动推送文件内容到百度,加快链接被百度收录的速度。

让360 搜索收录网站

注册并登录360 站长平台,登录后——》在打开的网页中点击添加网站,然后输入想管理的网站,如:https://blog.bere.top 输入验证码,点击继续,显示建议您添加带www的主站,请确认您的网站是否带www。,如果你确定的话就点击仍然继续,最后会显示添加成功。

在添加成功的网站条目后面有一个请验证,点击——》请验证——》代码验证——》复制代码
360

添加360要麻烦一点。因为next主题本身没有自带,需要我们自行添加。

  1. 修改next主题配置文件_config.next.yml:在 SEO Settings区域新增以下内容 :

    index_with_subtitle: true
    exturl: true
    exturl_icon: true
    google_site_verification: F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc
    bing_site_verification: 65AB321A829DD5542989CC078C3ABD9E
    yandex_site_verification:
    baidu_site_verification: hpYpGBuDQF
    so_site_verification: 456fd414 # 此处为新加的,填写上图的content=后的 验证字符串
  2. 在 博客目录blog-demo\themes\next\layout_partials\head\head.njk下,打开head.njk 文件,修改如下:

    {%- 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.so_site_verification %} <!-- 这以下是添加的内容 -->
    <meta name="360-site-verification" content="{{ theme.so_site_verification }}"/>
    {%- endif %}
  3. 修改完成后,hexo clean && hexo generate && hexo deploy 命令重新生成并部署网站,部署生效后,回到 360 站长平台,输入验证码——》点击验证 即可。成功后,会有成功提示。如果网站已经开启了 HTTPS 访问,不要忘记设置 https

  4. 提交sitemap站点地图。点击网页左边菜单栏中的Sitemap提交,点击添加数据,在弹出的新框中填写数据文件地址,如:

    https://blog.bere.top/baidusitemap.xml
    https://blog.bere.top/sitemap.txt

hexo-seo-submit 插件使用

hexo-seo-submit 插件,支持在 Github 和 Coding 平台中每天自动提交你的最新文章链接(或本地手动)至搜索引擎,让搜索引擎更快的收录你的文章。同样也支持命令行调用,支持多种场景

插件安装:npm install hexo-seo-submit --save

  1. 插件参数会有默认值,一般并不需要关注,如果你有问题或有些需求未满足,可以在 hexo-seo-submit 中查看所有 hexo-seo-submit 配置参数描述

  2. 在 hexo/_config.yml 中配置 hexo-seo-submit代码如下:

    hexo-seo-submit:
    sortBy: updated # created | updated, default created
    count: 2 # set all engine count, default 10
    fileRootPath: hexo-seo-submit # will generate in root/public/fileRootPath, default '', root/public/
    CI:
    enable: true
    cron: 0 4 * * *
    platform: github # github | coding, default gitHub
    branch: main # actions trigger branch, default master
    baidu:
    enable: true # default false
    path: baidu.txt # default google.txt 这个是自动生成的,不填
    count: 1
    token: rNAJPa
    google:
    enable: true
    path: google-url.txt # default google.txt 这个是自动生成的,不填
    # find path in root
    accountKeysJSonFile: google.json # path.join(process.cwd(), path)网上下载
    count: 2
    # maybe required
    proxy: http://127.0.0.1:7890
    bing:
    enable: true
    apiKey: daa922
    sortBy: created # default created
    path: bing.json # 这个是自动生成的,不填

百度凭证:百度站长平台 => 普通收录 => 资源提交 中得到 token

http://data.zz.baidu.com/urls?site=https://ksh7.com&token=***********

google凭证:进入 Web Search Indexing API,选择项目并**启用 **API,没有可新建。

  1. 创建-服务账号。点击 管理 按钮(API 启用后即可看到),进入 凭据 菜单,选择 创建凭据 => 服务账号
    服务账号
    填写 服务账号ID ,服务名称 可选,随后可直接点击 完成
    ID
    点击创建好的服务账号,点击 密钥 => 添加密钥,选择 创建新密钥,选择 JSON 格式,点击 创建,下载 json 文件。将下载的json文件放到:blog-demo\source这个目录下。构建项目时这个json文件会被拷贝到PUblic文件下,因为谷歌账户密钥google.accountKeysJSonFile这个的值的文件路径,默认是在 root 目录寻找。
    密钥

  2. 设置用户和权限:打开 Google Search Console,设置 => 用户和权限 => 添加用户,邮箱为上述 json email,权限请选择 拥有者。邮箱的值为json文件中client_email的值,如下:
    "client_email": "[email protected]",

  3. 可以打开 https://console.cloud.google.com/apis/api/indexing.googleapis.com/metrics,选择你的项目,进行验证。

  4. 左边菜单中的URL检查中可以验证url。

添加Bing凭证:

打开 https://www.bing.com/webmasters/home,选择谷歌账号登录(可同步 Google Search Console,无需再验证),点击右上角的齿轮 设置 => API 访问 => 复制 API 密钥 即可,没有密钥就点=>API密钥创建一个。

配置robots.txt文件

robots.txt是一个位于网站根目录的文本文件,用于告知搜索引擎爬虫(crawler)哪些页面应被抓取,哪些页面不应被抓取。robots.txt文件是遵循“机器人排除协议”(Robots Exclusion Protocol,REP)的标准文本文件。通过使用robots.txt文件,网站管理员可以控制搜索引擎对特定页面或目录的访问。例如,您可能希望保护某些敏感页面或不希望不必要的内容被索引。

  1. robots.txt的指令:

    User-agent:指定特定的搜索引擎爬虫。后面加”*“ 代表所有爬虫,
    Allow:允许爬虫访问某个页面或目录。
    Disallow:阻止爬虫访问某个页面或目录。
    Crawl-delay:设置爬虫访问的延迟。
    Sitemap:提供网站地图的链接,帮助爬虫更好地抓取网站。

  2. 创建robots.txt的注意事项:
    文本编辑器选择:选择一个简单的文本编辑器(如Notepad或TextEdit)。
    行列格式要求:robots.txt文件应采用简单的行列格式,每条指令占一行。确保不使用多余的空格和行,以避免引起解析错误。
    文件编码与命名规范:确保文件使用UTF-8编码,并命名为“robots.txt”。文件名必须全小写,且不应包含任何额外的后缀。
    文件大小限制:robots.txt文件的大小通常限制在500KB以内,确保文件内容简洁明了。

  3. robots.txt放置位置要求。robots.txt文件必须放置在网站的根目录下,例如:https://www.example.com/robots.txt。这样,搜索引擎才能在访问您网站时找到该文件。

  4. 在hexo根目录”blog-demo\source”下新建一个robots.txt文件,在执行
    hexo clean && hexo generate命令时,这个文件将会被复制到Public文件夹下。robots.txt中的内容如下:

    User-agent: *
    Allow: /
    Allow: /archives/
    Allow: /categories/
    Allow: /tags/
    Allow: /about/
    Disallow: /vendors/
    Disallow: /js/
    Disallow: /css/
    Disallow: /fonts/
    Disallow: /fancybox/
    Sitemap: https://blog.bere.top/sitemap.xml
    Sitemap: https://blog.bere.top/baidusitemap.xml
  5. 测试robots.txt。Google Search Console提供了一个方便的工具,帮助您测试robots.txt文件的有效性。在Google搜索中直接搜索”Google Search Console“ 或直接打开 在网页左侧菜单的下面设置——>robots.txt——>打开报告——在右边有小个竖着的小点,点击会出现 请求重新抓取,在测试过程中,请确保robots.txt文件的内容已更新,并检查测试结果,确保搜索引擎能够访问您希望其访问的页面。

  6. meta robots与robots.txt的区别
    robots.txt主要用于控制搜索引擎爬虫对整个网站的访问,提供全局的指令:

    User-agent: 指定爬虫
    Disallow: 阻止访问
    Allow: 允许访问
    meta robots是一种嵌入在HTML页面中的标签,用于控制搜索引擎对特定页面的索引和抓取。它提供了更细粒度的控制。

    <meta name="robots" content="noindex,nofollow"