# 前言
经过前面的一系列步骤,我们的 Hexo 网站已经搭建完毕了。网站除了自娱自乐,还是要让更多有需要的人看到的,不同于其他媒介,网站流量更多的来自于互联网的搜索引擎,所以 SEO 这个词就会被反复提起。
SEO(Search Engine Optimization)是搜索引擎优化的简称,它的目的是解析各大搜索引擎的排名算法,然后依据这些算法对网站进行相应的调整优化,使得网站在自然搜索引擎的结果榜上能位列更靠前。
下面就是一些 Hexo 网站 SEO 优化的建议和注意事项。
# 修改网站信息
_config.yml 中修改如下内容:
# 站点基本配置 | |
title: 网站标题 | |
subtitle: 网站副标题 | |
description: 网站描述 | |
keywords: 互网站的关键词。支持多个关键词。 | |
author: 您的名字 | |
language: 网站使用的语言 | |
timezone: 网站时区 |
# 优化永久链接
Hexo 默认使用格式为 ":year/:month/:day/:title/" 的 permalink 来生成文章 URL,这可能会导致 URL 中出现中文或其他特殊字符,影响网站的可读性和 SEO 效果。
_config.yml 中修改 permalink 配置:
permalink: :title/ |
# 添加网站地图
为谷歌和百度分别安装插件:
npm install --save hexo-generator-sitemap | |
npm install --save hexo-generator-baidu-sitemap |
_config.yml 中修改 sitemap 配置:
# sitemap 网站地图 | |
sitemap: | |
path: sitemap.xml | |
tag: false | |
category: false | |
baidusitemap: | |
path: baidusitemap.xml | |
tag: false | |
category: false |
建议:设置 tag: false 和 category: false 将标签页面和分类页面排除在网站地图外
# 添加 robots.txt
robots.txt 是存放在网站根目录下的一个纯文本文件,它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容,以下为一个示例:
# hexo robots.txt | |
User-agent: * | |
Allow: / | |
Allow: /archives/ | |
Allow: /tags/ | |
Allow: /categories/ | |
Allow: /about/ | |
Disallow: /vendors/ | |
Disallow: /js/ | |
Disallow: /css/ | |
Disallow: /fonts/ | |
Disallow: /vendors/ | |
Disallow: /fancybox/ | |
Sitemap: https://www.qooo.tech/sitemap.xml | |
Sitemap: https://www.qooo.tech/baidusitemap.xml |
# nofollow 标签
nofollow 标签的意义是告诉搜索引擎不要追踪此网页上的链接或不要追踪此特定链接,从而降低不安全和搜索引擎印象不佳的外链对网站 SEO 的影响,我们使用的 ShokaX 主题已默认支持对外链添加 rel="external nofollow noreferrer" 属性。如果使用其他主题可能需要手动安装插件 hexo-filter-nofollow 并配置
# 主动推送链接
每次运行 hexo d
命令后会主动推送网站更新链接到谷歌、百度、必应等站长平台,从而加快搜索引擎收录速度。
安装插件:
npm install --save hexo-submit-urls-to-search-engine |
_config.yml 中添加配置:
# seo 推送 | |
hexo_submit_urls_to_search_engine: | |
submit_condition: count # 链接被提交的条件,可选值:count | period 现仅支持 count | |
count: 10 # 提交最新的 10 个链接 | |
period: 900 # 提交修改时间在 900 秒内的链接 | |
google: 1 # 是否向 Google 提交,可选值:1 | 0(0:否;1:是) | |
bing: 1 # 是否向 bing 提交,可选值:1 | 0(0:否;1:是) | |
baidu: 1 # 是否向 baidu 提交,可选值:1 | 0(0:否;1:是) | |
txt_path: submit_urls.txt # 文本文档名,需要推送的链接会保存在此文本文档里 | |
baidu_host: https://www.qooo.tech # 在百度站长平台中注册的域名 | |
baidu_token: your baidu token # 百度秘钥,请不要发布到公开仓库中! | |
bing_host: https://www.qooo.tech # 在 bing 站长平台中注册的域名 | |
bing_token: your bing token # bing 秘钥,请不要发布到公开仓库中! | |
google_host: https://www.qooo.tech # 在 google 站长平台中注册的域名 | |
google_key_file: google.json # 存放 google key 的 json 文件,放于网站根目录,请不要发布到公开仓库中! | |
google_proxy: http://127.0.0.1:6152 # 向谷歌提交网址所使用的 http 代理,填 0 不使用,本地推送需要配置 | |
replace: 0 # 是否替换链接中的部分字符串,可选值:1 | 0(0:否;1:是) | |
find_what: AAAA | |
replace_with: BBBB | |
deploy: | |
- type: git | |
repo: xxxx | |
branch: master | |
- type: cjh_google_url_submitter | |
- type: cjh_bing_url_submitter | |
- type: cjh_baidu_url_submitter |
配置完成后执行 hexo d
命令后,如果可以看到下面这样的提示说明配置成功
INFO Deploying: cjh_google_url_submitter | |
INFO Deploying: cjh_bing_url_submitter | |
INFO Deploying: cjh_baidu_url_submitter | |
INFO Submitting baidu urls | |
https://xxxx/xxxx/ | |
... | |
Baidu response: {"remain":0,"success":10} | |
INFO Deploy done: cjh_baidu_url_submitter | |
INFO Submitting bing urls | |
INFO Bing Submitting: https://xxxx/xxxx/ | |
... | |
Bing response: { d: null } | |
INFO Deploy done: cjh_bing_url_submitter | |
INFO Deploying: cjh_google_url_submitter | |
Google response: { | |
urlNotificationMetadata: { | |
url: 'https://xxxx/xxxx/', | |
latestUpdate: { | |
url: 'https://xxxx/xxxx/', | |
type: 'URL_UPDATED', | |
notifyTime: '2024-04-15T18:59:29.204661533Z' | |
} | |
} | |
} | |
... | |
INFO Deploy done: cjh_google_url_submitter |