指南

如何打造網址縮短器

網址縮短器會把一個很長的網址存在一個短代碼之下,並把造訪短連結的人重新導向到原本的網址。核心非常小:一張資料表加上一條重新導向路由,所以它是經典的入門專案。真正讓一個縮短器有用的,是其他的部分:短網域、自訂代稱、點擊次數、可編輯連結指向的地方,以及防止濫用者利用你的網域隱藏釣魚連結。一開始就要決定它是給你和你的團隊用,還是對外開放,因為公開的縮短器很快就會吸引濫用。

網址縮短器需要什麼

資料

資料表欄位
連結短代碼、目的地網址、擁有者、標題、建立日期、啟用旗標、可選的到期時間
點擊所屬連結、時間、來源頁面、國家、裝置類型
網域(可選)自訂短網域及其擁有者

在短代碼上建立唯一索引。兩個連結擁有相同的代碼,是絕對不能發生的一個錯誤。

頁面與路由

  • 重新導向路由——/{code} 查詢代碼並重新導向。這是大多數訪客唯一會接觸到的路由,所以它必須很快,而且絕不顯示你應用程式的介面。
  • 建立連結——貼上網址,可選擇自訂代稱,取得附有複製按鈕的短連結。
  • 連結列表——你的連結,附點擊次數、搜尋,以及開關。
  • 連結詳情——隨時間變化的點擊次數、主要來源頁面、國家、裝置。可編輯目的地。
  • 找不到頁面——用於未知或已停用的代碼。
  • 每個連結的 QR Code——加入成本很低,而且常被要求。

決定與取捨

重新導向類型。 301(永久)重新導向可能會被瀏覽器快取,所以回訪的人會跳過你的伺服器:你會漏掉點擊,也無法再為他們更改目的地。如果你要追蹤點擊或允許編輯,就使用 302 或 307。大多數追蹤型縮短器都是這麼做的。

短代碼。 六到七個字元(字母與數字)的隨機代碼很難猜,而且空間充足。如果人們會手動輸入連結,要避免容易混淆的字元(0/O、1/l)。依序產生的代碼會透露你有多少連結,也讓任何人能一路走訪。

自訂代稱。 /launch 勝過 /x7Kp2q。保留你的應用程式會用到的字(login、api、admin),如果工具是公開的,就封鎖不當的代稱,並決定代稱是否區分大小寫。不區分大小寫比較友善。

速度。 縮短器會在每次造訪前增加一次跳轉。把重新導向路由保持為單一的索引查詢,並在送出重新導向之後(或在背景中)記錄點擊,這樣追蹤永遠不會拖慢訪客。在閒置時會休眠的主機上,安靜一段時間後的第一次造訪可能會稍慢;對於個人或團隊內部工具來說,這通常可以接受。

點擊分析與隱私。 計算點擊次數、來源與大致的國家是很標準的做法。儲存完整的 IP 位址並建立個人的側寫,則是隱私法規開始適用的地方。只儲存你真正會看的資料,並盡可能彙總。參見如何為你的應用程式加入分析功能。

網域。 連結只能和它的網域一樣短。購買一個短網域並指向應用程式,參見如何連接自訂網域。許多主機比起裸的根網域,更偏好子網域(例如 go.yourbrand.com),因為比較容易連接。

濫用。 如果任何人都能建立連結,垃圾訊息製造者就會用你的網域來偽裝釣魚與惡意軟體,而你的網域最後可能會被列入封鎖清單。對於公開的縮短器:要求帳號、限制建立頻率、用 Google Safe Browsing 等惡意網址清單檢查目的地、封鎖指向縮短器本身的連結(避免重新導向迴圈),並建立一個能立即停用任何連結的管理開關。只給團隊內部使用的私人縮短器可以避開大部分這些問題。

一個有效的首次提示

為我的團隊打造一個網址縮短網頁應用程式。已登入的使用者貼上目的地網址,會得到一個隨機 7 個字元的短連結(不使用 0、O、1 或 l),也可以選擇自訂代稱。代稱必須唯一且不區分大小寫;保留 login、api、admin、app 與 settings。公開路由 /{code} 用單一的索引查詢找到代碼,並回傳 302 重新導向。記錄每次點擊(時間、來源頁面、國家、裝置類型,不儲存完整 IP 位址),而且不延遲重新導向。未知或已停用的代碼顯示簡單的找不到頁面。使用者可以看到他們的連結列表與點擊次數、編輯目的地、停用連結、下載 QR Code,並開啟詳情頁,查看每日點擊、主要來源與國家。驗證目的地必須是 http 或 https 網址,且不能是指向此縮短器的連結。所有資料存在資料庫中。

建置步驟

  1. 建立與重新導向。 建立一個連結,並在無痕視窗中打開。確認回應是 302,而不是一個用 JavaScript 再跳轉的頁面。
  2. 代碼與代稱。 試試重複的代稱、保留字、大小寫混用,以及非常長的網址。
  3. 點擊追蹤。 從幾個裝置點擊,檢查次數與來源。
  4. 編輯與停用。 更改目的地,確認舊的短連結現在指向新的地方;停用一個連結,確認它停止運作。
  5. 驗證。 試試 javascript: 連結、指向縮短器本身的連結,以及格式錯誤的網址。這些都應該在伺服器端被拒絕。
  6. 網域。 連接你的短網域,並在上面測試連結。
  7. 濫用防護(如果工具會公開):限流、目的地檢查,以及管理員可查看最近連結的頁面。

常見錯誤

  • 301 重新導向搭配點擊追蹤。 瀏覽器會快取它們,你的數字就會出錯。
  • 在頁面中重新導向。 先載入應用程式,再用 JavaScript 重新導向,每次點擊都會感覺很慢。要在伺服器端重新導向。
  • 代碼沒有唯一性限制。 碰撞遲早會發生。
  • 沒有任何控管的開放公共縮短器。 它一定會被濫用,而你網域的信譽也會跟著受損。
  • 接受任何網址協定。 只允許 http 與 https 目的地。
  • 搬家時遺失連結。 自己擁有短網域,這樣連結在更換主機後仍然能用。

什麼時候現成產品是更好的選擇

成熟的連結管理服務提供品牌網域、詳細的分析、團隊功能、QR Code、整合,以及濫用處理,開箱即用。如果連結是你行銷的核心,而你又不想做任何維護,那就付費使用一個。

當你想要一個簡單的團隊縮短器並使用自己的網域,而且不想按席位付費;當連結與你自己的產品緊密相連(分享連結、推薦連結、電子郵件中的追蹤連結);或你想完全掌控點擊資料時,就自己打造。它也是很好的第一個後端專案。可以搭配連結型個人頁面一起做,並在對外開放之前,先看過AI 打造應用程式的安全檢查清單。

用 Mythex 建置

在 Mythex 中,你可以在對話中描述縮短器,並在即時預覽中測試重新導向。當應用程式需要時,Mythex 會為連結與點擊加入專用的資料庫。已發佈的應用程式與其資料庫在閒置時會休眠,並在下一次造訪時喚醒,這讓安靜的縮短器運行成本很低。發佈到 mythex.ai 的連結;在 Pro 方案中,你可以連接自己的短網域,或直接在 Mythex 內購買一個(參見自訂網域)。網址縮短器範本提供了一份寫好的起始提示,包含自訂代稱與點擊分析。

常見問題

網址縮短器應該使用 301 還是 302 重新導向?

301 會告訴瀏覽器這次的移動是永久的,所以瀏覽器可能會快取它,下次就跳過你的伺服器,這意味著會漏掉點擊,而且你無法再更改連結指向的地方。大多數會追蹤點擊或允許編輯的縮短器都使用 302 或 307 暫時性重新導向。

短代碼是怎麼產生的?

可以用字母與數字組成的隨機字串,並與現有代碼比對;也可以把資料庫的 ID 以 base 62 編碼。隨機代碼比較難猜;依序產生的代碼則會透露有多少連結,也讓人能依序走訪。六到七個隨機字元就有數十億種組合。

我需要短網域嗎?

不需要也能運作,但縮短器的重點就是一個短而值得信任的連結。你自己擁有的短自訂網域,也代表即使你換了主機,連結仍然能繼續運作。

要怎麼防止有人濫用公開的網址縮短器?

要求登入才能建立連結、限制建立連結的頻率、用 Google Safe Browsing 這類惡意網址清單檢查目的地、封鎖把你自己的網域當作目的地,並且讓自己有快速停用連結的方法。

Mythex · Pricing · 用 AI 打造任何東西 · 網站與應用程式範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費的 AI 應用程式開發工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港)