上一篇 Day 4〈301 轉址和 302 差在哪〉 我們談長網址與短網址的運用邏輯,要幫某頁面累積搜尋排名的連結,請用長網址、後面帶 UTM;沒有這層顧慮,需要美化或是取得點擊分析,就使用短網址。
決定長短後,接下來面臨的是縮出來的短網址會長什麼樣子。
多數時候拿到的是一串隨機英數字,像 toui.io/aBcD3f 這種樣子。但有些時候你會希望使用具有語義或容易記憶的字串,印在文宣上、在簡報裡唸出來、放在包裝的 QR code 旁邊,或者只是想讓收到的人一眼看得出這是誰發的。這時候需要的功能就是「自訂短網址」。現代的短網址服務通常都會提供,但存在兩個現實問題,免費方案給不給,以及想要的那個名字拿不拿得到。
第一個問題比較容易回答,的確有些短網址服務在免費方案就會提供這個功能(但 toui 沒有,原因讀下去就能理解)。但即便是那樣的服務,多試幾次就會發現,就和你在註冊一些 SNS 的服務一樣,一些簡短、好記的名字早就被用掉了,先搶先贏這件事決定一切。除了這個原因,短網址服務另外也會保留一些用語,那些一般也都拿不到。
toui 的自動短碼是六個字元,大小寫英文加數字共 62 種,六位就是 62 的六次方,568 億種組合。
這六位不是使用累進的流水號,而是每次隨機產生。兩種做法各有代價,流水號永遠不會撞,但任何人看到一條就能推敲出前後還有哪些連結存在,透過簡單的加減就可以隨意看到別人建的東西;隨機抽沒有這個問題,代價是理論上會抽到已經有人在用的那個。
處理方式也不難,撞到就重抽。在 568 億的空間裡撞碼的機率很低;而如果連續重抽都還撞到,那通常不是運氣問題而是系統出事了(例如資料庫回應不正常)。
沒指定名字的時候,撞碼機率低、成本小,因此免費方案可以提供,也可以讓你長期保有。
那如果要自訂短網址呢?當你打了 sale、2026ig 這種字送出去,服務端會依序過三關:
第一關,格式。 長度在範圍內、只有英數字。這一關純粹是規則比對,不用查任何資料。
第二關,這個字能不能給。 服務會有一份不發給任何人的清單。一般常見的至少會有服務自己要用的路徑、以及基於特定目的必要保留的用語(例如不雅字、特定品牌名等)。
第三關,有沒有人先拿走。 同一個命名空間裡,先到先贏。
實務上遇到「這個短碼不能用」,你可能會疑惑是卡到第二關還是第三關。但這個猜測意義不大,不能用就是不能用,能做的就是換一個。
因為這是少數幾個「免費送出去就會被拿去囤」的功能。
隨機碼可以無限發,因為 568 億個組合裡沒有哪一個比較值錢,沒有人會想去囤。指定名字不一樣,好記、好唸、跟品牌有關的字就那幾個,而且一個字送出去就收不回來,那條連結可能已經印在別人的文宣上了。
免費、無限、不可逆,這三件事湊在一起,結果是可以預期的,會有人不是為了用而註冊,是為了佔。等你哪天真的想用那個字,它早就在別人手上,而那個人可能一條連結都沒發過。
收費在這裡不是為了賺那筆錢,是為了讓「佔著」這件事有成本。要搶一百個名字就得付一百個名字的錢,多數人算完就不做了。
(如果你也在做一個讓別人來註冊名字的東西,這種規則只有一次機會,先到先贏一旦開始就不能反悔,所以它得在還不稀缺的時候就先定好。)
即便如此,先搶先贏的狀況依然存在,付費解鎖的是「可以指定」,不是「指定得到」。
只要你跟其他所有人還在同一個命名空間——也就是所有連結都長成 toui.io/什麼——先到先贏的天條就還在運作。付費讓你有資格指定,但沒辦法讓你避過它。那個名字還在不在,跟這個服務開了多久、有多少人用過有關,跟你付多少錢無關。
所以真正讓你逃離先到先贏的,不是方案,是你有沒有一個自己的命名空間。
七月時我們遇到的情境大概是這樣,假設有兩家公司年底都要辦週年慶,都想把那條活動連結取名叫 sale。如果整個服務只有一個命名空間,那就是誰先建誰拿走,另一家永遠用不到,可是這件事說不通。好記的名字每個品牌都會想要,而他們發出去的根本不是同一個網址前綴,拿到自己想要的名字才合理。
所以我做了一個決定,掛在自己網域上的自訂名稱,只屬於那個網域。 A 公司的 go.a.com/sale 和 B 公司的 go.b.com/sale 可以同時成立,互不相干。
toui.io/sale 有沒有被別人拿走,跟你在自己網域上能不能用 sale,是兩件不相干的事。那個字可能早就被某家公司拿走了,也可能還空著,都不影響你。
代價是反過來那一半,你那個 sale 也只在你自己的網域上有效。有人把它打成 toui.io/sale,那可能已經被別人使用,也可能是什麼都沒有的 404 頁,總之是分開作業的(如果你在用自己的網域之前已經建過 toui.io 上的連結,那些不受影響)。
於是同一個服務裡有了兩套規則。
toui.io/sale 是公共街道上的門牌號碼,全世界一起排,先到先贏。go.yourname.com/sale 是你自己那棟樓裡的門牌,只有你的團隊在排。
要有一個只有你們在用的網域,有兩種方法,你本來就有一個,那就跑 CNAME 設定流程接過來;或者你沒有,toui 也有一鍵搞定的升級方案可以使用。兩者的差別在設定的難易以及方案等級(後面的文章會再詳述),但在「會不會跟別人撞名字」這件事上效果一樣,在那個網域底下,短碼就只跟你們有關,可以自由指派。
一開始我很想把它們統一,一致性是設計的基本要求。後來發現「統一」的結果,要嘛你自己樓裡的門牌也得跟全世界搶,要嘛公共街道上的同一個號碼要能同時通到好幾個地方,這都不是理想的服務方式。
整理成一張圖,你想要的那個名字會卡在哪一關、每一關的出口是什麼,都在上面:

回到標題那兩件事。
免費給你什麼:一條隨機六碼、算得到點擊、而且不會過期的短連結。要指定名字,得付費。如果你要的只是一條發出去能算數字的連結,隨機碼那條路完全夠用,我自己發出去的大部分就是這樣。
付費又買不到什麼:那個已經被別人拿走的名字。付費方案解鎖的是「可以指定」,不是「指定得到」;在一個所有人共用的命名空間裡,決定你拿不拿得到的從來不是價格,是那個字還在不在。
而如果那個名字非要不可,答案在圖上最後一格,撞碼是共用一個命名空間的必然,解法不是搶得快,是換一個命名空間。 在自己的網域上,只有你的團隊在使用,名字不會被別人拿走。
想知道免費方案給到哪裡、指定名字從哪一階開始,方案頁上列得比較清楚。