博客域名更換操做記錄

拖延了半年後,我終於在最近把個人域名 shanyue.tech 經過了備案。新域名能夠更好的貼合個人博客,趁此對個人域名進行更換html

若是剛開始就使用新域名,卻是很簡單。可是更換域名就須要作一些額外的瑣碎的東西了,記錄一下nginx

本文地址 shanyue.tech/post/domain…git

https

在製做證書時在 domains 中添加新域名github

certbot -d shanyue.tech -d xiange.tech -d *.shanyue.tech -d *.xiange.tech ...
複製代碼

reverse proxy

在反向代理中使用新域名代替舊有域名,如下是 traefik 在 docker 的 compose file 的示例docker

version: "3"
services:
 blog:
 build:
 context: .
 restart: always
 labels:
 - "traefik.old.frontend.rule=Host:blog.xiange.tech"
 - "traefik.blog.frontend.rule=Host:shanyue.tech"
複製代碼

301 & SEO

爲了防止使用舊網址打開失敗,須要進行301重定向,重定向以前思考兩個問題shell

  1. 爲何不使用 302
  2. 爲何不給站點設置多個 domain

答案是爲了 SEO,使用 301 能夠把搜索引擎原域名的收錄給帶過去,而使用多個 domain 會下降頁面的權重frontend

百度給的建議是新舊網站並存一段時間,而後進行 301dom

version: "3"
services:
 blog:
 build:
 context: .
 restart: always
 labels:
 - "traefik.old.frontend.rule=Host:blog.xiange.tech"
 - "traefik.old.frontend.redirect.regex=^https?://blog.xiange.tech/(.*)"
 - "traefik.old.frontend.redirect.replacement=https://shanyue.tech/$$1"
 - "traefik.old.frontend.redirect.permanent=true"
複製代碼

sitemap.xml & robots.txt

這兩個是爲了 SEO,若是你沒有此類需求,則不用改這塊post

當站點新添了頁面,能夠使用 sitmeap 更好地通知搜索引擎的小蜘蛛們,方便新頁面更快的收錄網站

須要更改 sitemap 中 的 url.loc 的絕對地址爲新域名,如下是一個 sitemap 的樣例,你也能夠經過 shanyue.tech/sitemap.xml 訪問

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://blog.xiange.tech/post/login-input-style/</loc>
    <lastmod>2019-04-23T11:12:38+08:00</lastmod>
  </url>`
</urlset>
複製代碼

依賴應用

在我博客的評論系統中使用了 github 的 OAuth Apps,須要更改主頁及回調地址

  • Homepage URL
  • Authorization callback URL

總結

鑑於只是一個簡單的博客,應該沒有什麼工做量了

若是域名須要 SEO,也就比較麻煩些,若是不須要的話,基本能夠使用 nginx 或者 traefik 配置多個域名就能夠了

相關文章
相關標籤/搜索