Typecho迁移Hugo设置301跳转的方法(附Vercel设置301方法)

使用Hugo替换了Typecho之后,会有一系列的SEO问题,比较严重的就是404了,因为生成的某些URL可能会和之前不一致。

本文分享几个用到的方法,尽可能的减少SEO的流量损失。

URL能不变就不变

这是首要原则,Hugo默认的URL会和我们之前的伪静态不太一致。有一个比较有用的参数:

uglyurls = true

用这个可以生成.html的格式。

Nginx

Nginx 设置301示例:

server {
    listen 80;
    server_name www.nocmt.com;
    return       301 http://nocmt.com$request_uri;
}

Apache

示例,老域名转新域名

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=301,NC] 

Vercel

Vercel项目可以在根目录下放置一个vercel.json,也可以实现301跳转,我使用的是这种方式,参考官方配置文档

https://yqc.im/xxxxx.html跳转https://yqc.im/xxxxx/,代码如下:

{
  "redirects": [
    {
      "source": "/:slug\\.html",
      "destination": "/:slug/"
    }
  ]
}