hexo默认生成的页面链接是文章的标题,如果标题是中文那么网站访问的路径也是中文,这样是不利于搜索引擎的收录,可以使用插件来解决这个问题。

方法一

安装缩短链接插件
npm install hexo-abbrlink --save

hexo的_config.yml 添加如下配置:

permalink: posts/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: hex # 进制:dec(default) and hex
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

安装完毕后此时再clean hexo g 会发现生成的网页名称不再是中文,而是固定的字符串,访问路径也统一变成了posts/xxx.html,这种简单的访问路径比较利于搜索引擎收录。

注:这个插件生成的链接是一串数字+字母的字符串,如果需要更高大上的英文链接,请参考方法二

方法二

  1. 安装

npm install hexo-translate-title --save

  1. 配置
    修改hexo根项目下的_config.yml,建议用google翻译毕竟贴地气,但实测并不稳定,所以也可以用baidu_no_appid,这样也不需要额外的认证配置。
translate_title:
translate_way: google # google,youdao,baidu_with_appid,baidu_no_appid
is_need_proxy: false # true | false
# proxy_url: http://localhost:50018 # Your proxy_url
# youdao_api_key: '' # Your youdao_api_key
# youdao_keyfrom: xxxx-blog # Your youdao_keyfrom
# baidu_appid: '' # Your baidu_appid
# baidu_appkey: '' # Your baidu_appkey
# 修改原链接格式:permalink: :year/:month/:day/:title/
permalink: :year:month:day/:translate_title.html
  1. 测试
    用hexo d重新生成,留意控制台输出以及public目录下是否有生成相应的.html文件,如果有代表成功了,再用hexo d部署即可。

  2. 注意
      Google翻译服务的不稳定,按上述流程安装、配置和部署,有可能生成的链接都是undefined.html。