架構設計, 讓sitemap自動更新吧

February 10, 2024


一開始架設網站的small win就是上線, 可以透過一個內容管理平台來上架blog或是project等等的文章就好.


等上線穩定了之後就開始要想SEO的事情了, 其中一個部分就是sitemap.xml要隨著文章新增的自動更新.


因為我發現每上架一篇文章或是project, 就要自己去server上丟一次sitemap, 或是我現在的程式架構是包在編譯後的server執行檔中, 每次都要重新包版換版…真的是沒想清楚.


現行的網站架構是兩台server, 後台管理平台維護文章存在DB, 前台則是透過API取得文章展示, 前台有透過apache server做proxy


基於這樣的架構, 設計了這個流程


當使用者新增或調整文章有影響到該文章的url送出後

  1. 將文章及url寫入DB

  2. 從DB取回目前全站的URL

  3. 將從2取到的url產製成sitemap.xml

  4. 設置一個webhook call 前端server 的updateSitemapApi

  5. updateSitemapApi call CMS後端的getFile取得sitemap.xml檔案

  6. 將sitemap.xml取代到apache server的靜態檔中


不過, 我想完這一切才發現這是基於兩台server的交互僅限於API交換資料的原則,

(被之前公司的規範給框住了)

其實如果兩台server可以支援SFTP、FTP、FTPS等等的協定以及沒有防火牆問題的話...

以下會是更簡單的選擇, 幾本上到步驟四就結束了



以上紀錄, 給有相同煩惱的人一個參考