部落格網址規劃考量

  • ~1.99K 字
  • ? 次閱讀
  • ? 則留言

先有個大原則:一旦設定好網址結構以後,就不要再隨意改動!!

改動網址結構可能會導致的問題:

  • 所有已登錄在Google搜尋結果都會失效
    • 更新Google那邊的網址資料也需要很長一段時間等Google更新完
  • 如果有嵌入外部留言系統,網址結構會直接導致先前的文章留言失效
    • 如果要重新讓先前的文章留言對應上,需要在留言系統那邊一個個將每一篇文章的網址重新調對應。
  • 所有被轉貼到討論區、社群貼文的網址通通都會失效!
    • 而且因為你不是發文者,你無法直接對這些被轉貼的網址更新。

至於我這次情況:因為更換部落格系統,而且這次所有舊文章都不再搬過來,完全當新站重新開始。既然是新站,那這次就要好好的把網址結構考慮好規劃好,打算這次規劃下去,就是要長期以這個結構用好幾年了。

要挑選網址結構時,你可以稍微評估一下你的用途:

個人部落格 形象網站
文章數量多 文章數量少,篇篇都是重要文,與其說是文章還不如說是頁面
當作生活日記用,會長期累計文章數 需要有組織化的內容分類,讓客人查找資料方便

經過前面的經驗以後,目前想到幾種方案,各有優缺點可以考量。

網址 容易撞名機率 整體字數長度 日後方便調整分類 日後方便換系統 日後文章改名
/:year/:month/:day/:title/ ✅極低 🔴非常長 ✅OK ✅OK ⛔難改動
/:title/ 🔴極高 ✅非常短 ✅OK ✅OK ⛔難改動
/:category/:title/ ⚠️略高 ✔️一般 ⛔難改動 ✅OK ⛔難改動
/:year/:month/:title/ (本站採用) ✔️很低 ✔️一般 ✅OK ✅OK ⛔難改動
/posts/:abbrlink/ ✅完全不可能 ✅極短 ✅OK ❌不可能!註定和hexo綁死 ✅OK

至於 :title 的部份,雖然說是難改名,但是也只是url那邊的名稱不要動,但顯示用的文章名稱仍然可以隨意改動的。

特別提一下這兩種方案

/year/:month/:title/

這是我最後採用的方案

這是Wordpress的預設,這是我從以前玩部落格到現在,換過幾次結構之後,還是這個最好用!

  • 基本上足夠防撞名
    • 誰會在一個月內寫兩篇以上同名同姓的文章吧?
  • 沒有像 /year/:month/:day/:title/ 這麼長
  • 文章分類可以隨意改動
  • 也不會和系統綁死,日後換系統,只要對應調好就可以讓舊網址繼續用

舊站後期有調成 /:category/:title/ 結構過,想說可以直接從網址就看出文章類別,結果直接導致我日後根本沒辦法調分類…

/posts/:abbrlink/

不建議,日後你會無法更換部落格系統

hexo原生沒有這個功能,需要另外安裝 hexo-abbrlink

  • 優點:
    • 完全不可能撞名
    • 網址非常簡短
    • 也許對SEO友善

但…就這個嚴重的「但」… 註定綁死hexo系統!!

  • 日後很難在保持原網址的情況下,搬移到別的部落格系統!!
  • 目前已知hugo、Wordpress也沒有提供這個功能讓你用
  • 就算新系統也有提供 :abbrlink ,問題是新系統的hash算法非常有可能不一樣,無法算出與原系統一樣的hash,造成舊網址完全無法對應

日後如果真的需要改網址結構

雖然是不希望這種事情發生,不過如果真的發生需要改網址結構,又要讓舊網址保持生效,就必需額外做轉址處理。
可以參考我先前做的處理:收集所有舊網址後綴字串名單,符合條件就跳轉到新網址結構。你看完這篇以後再來評估一下這處理會不會很麻煩。

簡單說一下hexo調網址結構的地方

其實這種教學文應該多到爆,所以自己爬文應該爬得到。在這邊就間單說明:

hexo專案目錄有分最重要的 _config.yml 檔案,找到 permalink 這段,就依照你需求修改:

/_config.yml
1
2
3
4
5
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://blog.yuaner.tw
permalink: :year/:month/:title/
permalink_defaults: :title/

可以搭配hexo的官方文件,會列出有哪些變數可以搭配使用

結語

其實我本來是懶得寫這篇的😛,不過我準備要來寫安裝Giscus留言系統的時候,前置條件就是網址結構要100%確定好固定好!想說這種未來很難再改動的東西,在建置環節就該想清楚的,所以我還是把我選網址結構的考慮經驗先寫進來,就變成這篇了~

分享這篇文章