hexo next站点地图配置baidu-Google-Bing搜索引擎优化
刚建站的时候,百度是没有收录我们的网站的,这时在搜索框输入 site:<域名>,如:site:https://blog.bere.top ,搜索网页中就会显示”没有与此相关的结果: site:https://blog.bere.top ,检查拼写或尝试其他关键字“。如果希望自己博客的内容被更多人看到,搜索引擎所带来的流量是不容忽视的。本文详细介绍了如何向各大主流搜索引擎主动提交自己的博客,期望达到加快收录速度的目的。
生成站点地图 Sitemap
站点地图是一种文件,您可以在其中提供与您网站中的网页、视频或其他文件有关的信息,还可以说明这些内容之间的关系。Google 等搜索引擎会读取此文件,以便更加智能地抓取您的网站。站点地图会告诉 Google 您认为网站中的哪些网页和文件比较重要,还会提供与这些文件有关的重要信息:以网页为例,这些信息包括网页上次更新的时间、网页更改的频率,以及网页是否有其他语言版本。
Google 版本插件,安装 hexo-generator-sitemap 插件,安装命令:
npm install hexo-generator-sitemap --save
安装插件后,执行
hexo clean && hexo generate
可以在hexo项目文件夹下的Public文件夹中生成 Google 地图sitemap.txt 和sitemap.xml。Baidu 版本,安装 hexo-generator-baidu-sitemap插件,安装命令
npm install hexo-generator-baidu-sitemap --save
安装插件后,执行
hexo clean && hexo generate
可以在hexo项目文件夹下的Public文件夹中生成 地图baidusitemap.xml。生成站点地图,安装后,在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: |
- 更改完成后,每次进行打包的时候,会自动在public文件夹下生成sitemap.xml和aidusitemap.xml分别用于Google和百度。
NexT8.21为SEO提供的选项
默认情况下,在 Hexo 配置文件_config.yml中设置 URL 后,在 Hexo 中会创建一个规范链接标签。
将Next配置文件_ _config.next.yml如下设置:具体请查看官网
index_with_subtitle: true |
让 Google搜索收录网站
- Google 网站站长工具,如果你的域名是没有任何前缀的裸域名 ”console.com”这种就选择网域验证,如果是我这种https://blog.bere.top 有前缀的,就选择网址前缀,按要求填入你的域名,点击继续。
点击 继续后会有五种方式供我们选择:
个人推荐使用第二种,也就是 HTML 标记的方式,因为 NexT 主题的配置中对其进行支持,配置起来比较简单
点击复制,记录下其中的标记信息,例如我们这里复制的原始内容是:
<meta name="google-site-verification" content="F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc" /> |
在上面的Next 的配置 _config.next.yml 文件中将content=的内容F3QOKaQRQaSAxN-JLDLGD21CCU5CkZRssZYwX-Mn-Zc
填入google_site_verification:中,如上第一段代码。之后重新生成网站,点击 验证 即可。
- 提交站点地图到google。之前 hexo-generator-sitemap 插件生成的站点地图,会默认放在Public根目录下,只需在 GSC 的站点地图页面 填好站点地图的位置,然后点击提交即可。
让 Bing 搜索收录网站
打开Bing Webmaster,使用绑定了 Google Search Console(后面简称 GSC) 的谷歌账号登录,这样后面就可以很方便地直接从 GSC 直接导入网站,而不需要再单独验证网站。
这里一样推荐使用第二种,也就是 HTML Meta 标记的方式,因为 NexT 主题的配置中对其进行支持,配置起来比较简单。bing_site_verification如上第一段代码配置。
提交站点地图也,只需在Bing Webmasters tools的站点地图页面 填好站点地图的位置,然后点击 提交 即可。具体文章参考
让 Baidu 搜索收录网站
点击进入百度搜索资源平台,用自己的百度账号进行登录。登录后「站点管理」–> 「添加站点」–> 「添加网站」。
百度添加网站是需要进行实名认证的,这一点需要注意。
填完个人信息后,提交站点网址,选择站点属性,最后一步验证网站。
验证方式选择第二种「HTML标签验证」,复制下图 content 里的字符串。
打开next主题配置文件 _config.next.yml,搜索 baidu_site_verification,将上述字符串填至后方,如上第一段代码。
百度不能直接提交站点地图,要提交sitemap需要借助插件。安装 hexo-baidu-url-submit 插件:
npm install hexo-baidu-url-submit --save |
在百度搜索资源平台中,获取百度主动推送准入密钥并复制:
在站点hexo配置文件 _config.yml 中修改deploy的代码如下:
deploy: |
在站点hexo配置文件 _config.yml 中新增以下代码:参考文章
baidu_url_submit: |
此后每次执行 hexo clean && hexo generate 部署博客的时候将会自动在 ./public 目录下生成 baidu_urls.txt 文件,里面的内容就是自己设置的最新的 n 条文章链接。然后自动推送文件内容到百度,加快链接被百度收录的速度。
让360 搜索收录网站
注册并登录360 站长平台,登录后——》在打开的网页中点击添加网站,然后输入想管理的网站,如:https://blog.bere.top 输入验证码,点击继续,显示建议您添加带www的主站,请确认您的网站是否带www。,如果你确定的话就点击仍然继续,最后会显示添加成功。
在添加成功的网站条目后面有一个请验证,点击——》请验证——》代码验证——》复制代码
添加360要麻烦一点。因为next主题本身没有自带,需要我们自行添加。
修改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=后的 验证字符串在 博客目录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 %}修改完成后,hexo clean && hexo generate && hexo deploy 命令重新生成并部署网站,部署生效后,回到 360 站长平台,输入验证码——》点击验证 即可。成功后,会有成功提示。如果网站已经开启了 HTTPS 访问,不要忘记设置 https。
提交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
插件参数会有默认值,一般并不需要关注,如果你有问题或有些需求未满足,可以在 hexo-seo-submit 中查看所有 hexo-seo-submit 配置参数描述
在 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,没有可新建。
创建-服务账号。点击 管理 按钮(API 启用后即可看到),进入 凭据 菜单,选择 创建凭据 => 服务账号
填写 服务账号ID ,服务名称 可选,随后可直接点击 完成
点击创建好的服务账号,点击 密钥 => 添加密钥,选择 创建新密钥,选择 JSON 格式,点击 创建,下载 json 文件。将下载的json文件放到:blog-demo\source
这个目录下。构建项目时这个json文件会被拷贝到PUblic文件下,因为谷歌账户密钥google.accountKeysJSonFile
这个的值的文件路径,默认是在 root 目录寻找。设置用户和权限:打开 Google Search Console,设置 => 用户和权限 => 添加用户,邮箱为上述 json email,权限请选择 拥有者。邮箱的值为json文件中client_email的值,如下:
"client_email": "[email protected]",
可以打开 https://console.cloud.google.com/apis/api/indexing.googleapis.com/metrics,选择你的项目,进行验证。
左边菜单中的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文件,网站管理员可以控制搜索引擎对特定页面或目录的访问。例如,您可能希望保护某些敏感页面或不希望不必要的内容被索引。
robots.txt的指令:
User-agent:指定特定的搜索引擎爬虫。后面加”*“ 代表所有爬虫,
Allow:允许爬虫访问某个页面或目录。
Disallow:阻止爬虫访问某个页面或目录。
Crawl-delay:设置爬虫访问的延迟。
Sitemap:提供网站地图的链接,帮助爬虫更好地抓取网站。创建robots.txt的注意事项:
文本编辑器选择:选择一个简单的文本编辑器(如Notepad或TextEdit)。
行列格式要求:robots.txt文件应采用简单的行列格式,每条指令占一行。确保不使用多余的空格和行,以避免引起解析错误。
文件编码与命名规范:确保文件使用UTF-8编码,并命名为“robots.txt”。文件名必须全小写,且不应包含任何额外的后缀。
文件大小限制:robots.txt文件的大小通常限制在500KB以内,确保文件内容简洁明了。robots.txt放置位置要求。robots.txt文件必须放置在网站的根目录下,例如:https://www.example.com/robots.txt。这样,搜索引擎才能在访问您网站时找到该文件。
在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测试robots.txt。Google Search Console提供了一个方便的工具,帮助您测试robots.txt文件的有效性。在Google搜索中直接搜索”Google Search Console“ 或直接打开 在网页左侧菜单的下面设置——>robots.txt——>打开报告——在右边有小个竖着的小点,点击会出现 请求重新抓取,在测试过程中,请确保robots.txt文件的内容已更新,并检查测试结果,确保搜索引擎能够访问您希望其访问的页面。
meta robots与robots.txt的区别
robots.txt主要用于控制搜索引擎爬虫对整个网站的访问,提供全局的指令:User-agent: 指定爬虫
Disallow: 阻止访问
Allow: 允许访问
meta robots是一种嵌入在HTML页面中的标签,用于控制搜索引擎对特定页面的索引和抓取。它提供了更细粒度的控制。<meta name="robots" content="noindex,nofollow"