指南

如何建立網址縮短服務

網址縮短服務會把一個很長的網址儲存在一個短代碼之下,並把任何訪問這條短連結的人重新導向至原網址。它的核心非常小,只需要一張資料表及一條重新導向路由,所以是經典的入門專案。使真正有用的服務與眾不同的,是其餘部分:短網域、自訂別名、點擊次數、可編輯連結的目的地,以及防止濫用者利用你的網域隱藏釣魚連結。應及早決定它是供你及團隊私人使用,還是公開予大眾使用,因為公開的服務很快便會吸引濫用。

網址縮短服務需要什麼

資料

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

短代碼應設有唯一索引。兩條連結使用相同代碼,是一個必須完全避免的錯誤。

頁面及路由

  • 重新導向路由:/{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 简体中文 繁體中文(台灣)