在 LINE / Discord 分享連結不顯示 preview?4 種方法 + 為什麼
想在 LINE 群組或 Discord 貼連結但不要顯示 preview?本文 4 種方法 + 解釋 Open Graph 原理 + 為什麼有時 preview 反而幫倒忙。
你在 LINE 群組貼一條 YouTube 連結 — 自動展開大張 thumbnail + 標題 + 描述。在 Discord 也一樣。在 Twitter / Facebook 都會。
這個叫 Link Preview(連結預覽),背後是 Open Graph 協議。多數情況下方便,但有時候你不想要它顯示:
- 分享驚喜 / 答案,不想被 preview 劇透
- 連結內容含隱私資訊(譬如分享 Google Doc preview 顯示文件首段)
- 群組訊息流太亂(10 條訊息 10 張大圖)
- 連結含「成人 / 敏感內容」preview,貼進公開群組不適合
本文 4 種方法控制連結 preview + 解釋原理。
原理:Link Preview 怎麼來的
當 app(LINE / Discord / Twitter)看到一個 URL,它會:
- 訪問該 URL(伺服器端,不是 user 裝置)
- 抓 HTML 內的 Open Graph meta tags
- render preview 顯示在訊息
關鍵 meta tags:
<meta property="og:title" content="標題" />
<meta property="og:description" content="描述" />
<meta property="og:image" content="https://.../thumb.jpg" />
<meta property="og:type" content="article" />
沒有 og: tag → 多數 app 用 <title> + <meta name="description"> fallback。
完全沒 meta → app 不知道怎麼 preview,顯示 raw URL。
方法 1:用「不顯示 preview」的特殊格式
各 app 有獨門指令:
Discord
在 URL 前後加 < >:
<https://example.com/page>
→ Discord 不會 fetch preview,顯示 raw URL(但仍可點)。
Telegram
在 URL 前加文字(不純粹只是 URL):
看這個 https://example.com/page
→ 但這仍可能 trigger preview。更可靠:用 IV (Instant View) 不支援的 URL。
Slack
URL 前後加角括弧:
<https://example.com/page>
→ Slack 不顯示 preview。或在 Preferences 內全域關掉。
LINE
沒有原生方法 — LINE 對所有 URL 自動抓 preview。
對 LINE,要靠下面其他方法。
方法 2:用沒 Open Graph 的 host
如果你貼的連結對應的目標 URL 沒設 OG tags → app 自然 preview 不出來。
例子:
- 純 plain HTML 頁面(沒 SEO 處理)
- 某些 raw GitHub blob URL
- 各種 dev / staging 環境的測試 URL
但多數正常網站都有 OG(為了 SEO + 社群分享)— 這方法限制大。
方法 3:先過短網址,但短網址 host 沒 OG
重點原理:app 抓 preview 時,只抓 user 看到的 URL,不會 follow redirect。
也就是:
- user 看到
drrop.cc/l/abc - app 訪問
drrop.cc/l/abc抓 OG - drrop.cc/l/abc 是個 302 redirect,沒 HTML 內容
- → app 抓不到 OG,不顯示 preview
短網址服務的 redirect endpoint 不返回 HTML(純 302 status + Location header)→ 多數 app 跳過 preview。
實測:
| 平台 | 對 drrop.cc 短網址行為 |
|---|---|
| LINE | 不顯示 preview(只看到 short URL) |
| Discord | 不顯示 preview |
| Telegram | 不顯示 preview |
| Slack | 不顯示 preview |
| Twitter / X | 顯示 short URL(不 expand 目標) |
| 部分情況會 expand,多數不會 |
→ 用 drrop.cc 包目標 URL 是「實質」隱藏 preview 的有效方法。
方法 4:自己改目標 URL 的 OG(如果你能控制目標)
如果你擁有目標網站,可以:
a. 完全移除 OG tags
但這影響 SEO(搜尋引擎 + 其他社群分享都失去 preview)。
b. OG 顯示 spoiler-safe 內容
譬如目標是「劇情大反轉」內容,但 og:title 設「神祕影片」、og:image 設一個中性圖。
- 直接點開的 user 看到真內容
- LINE preview 只看到中性版本
c. 動態 OG based on referrer
進階:偵測 fetch 來自哪個 social app,回應不同 OG。技術門檻較高。
不同場景的推薦
① 「驚喜 / 答案」場景(不想被劇透)
- LINE → 用 drrop.cc 短網址包
- Discord → URL 前後加
< >
② 公開群組分享私密文件
- 不要直接貼原 URL(preview 會洩漏文件首段)
- 用 drrop.cc 短網址包 + 加密碼保護
- 或先把文件 export 截圖,無 OG
③ Bio / 個人頁面 link
- bio link 通常自然不會 expand(IG / Twitter bio 不展開連結)
- 但對方點開後分享給其他人 → 那時可能 preview
- 用 drrop.cc 包 = 多一層 preview 控制
④ 行銷 / 業務發訊
- 通常希望 preview 顯示(增加點擊率)
- 不要用 short URL(會 hide preview) → 直接貼長 URL
drrop.cc 的設計
drrop.cc 的 /l/{code} endpoint 設計上無 HTML 響應:
HTTP/1.1 302 Found
Location: https://target.example.com
Cache-Control: no-store
Referrer-Policy: no-referrer
Content-Length: 0
沒 body、沒 HTML、沒 OG tags → app 抓不到 preview。
這是個 side effect of 純 302 design:
- ✓ 對「不想顯示 preview」場景 → drrop.cc 完美 work
- ✗ 對「想顯示 preview」場景 → drrop.cc 也擋掉了
drrop.cc 沒提供 「顯示 preview」 的 toggle(這需要額外 OG generation + 增加複雜度)。
對比:哪些短網址會 / 不會被 preview
| 服務 | LINE preview | Discord preview |
|---|---|---|
| bit.ly | 部分時候會 expand 目標 | 通常會 |
| tinyurl.com | 通常不會 | 通常不會 |
| ppt.cc | 不會 | 不會 |
| myppt.cc | 不會 | 不會 |
| drrop.cc | 不會 | 不會 |
| lihi.io | 部分跳轉夾廣告 → preview 顯示廣告 | 同 |
結論:純 302 短網址(drrop.cc / ppt.cc)對「隱藏 preview」最有效。
進階:強制顯示 preview 的方法
反過來想 — 你想要 preview 但目標 URL 沒 OG 怎麼辦?
1. 給目標 URL 加 OG meta tags
最根本但需要 access。
2. 用 OG 中介服務
譬如 OpenGraph.io、microlink.io — 你提供 URL,他們生成一個帶 OG 的中介頁。
3. 用 vmt.tw / vt.tw 等台灣本土 OG 短網址服務
這類服務刻意提供 OG(跟 drrop.cc 路線相反)。
4. 直接貼長 URL
跳過短網址,讓 app 直接訪問目標。
FAQ
Q:drrop.cc 短網址在 LINE 完全不顯示 preview 嗎?
A:對。drrop.cc /l/{code} 是純 302 沒 HTML response,LINE / Discord / Slack / Telegram 都不會 preview。
Q:能不能在 drrop.cc 短網址加自訂 OG? A:目前不能。drrop.cc 縮網址設計上純 redirect 不含內容。如果想要「短網址 + 自訂 OG」 → 上傳一個 landing page(HTML)到 drrop.cc 影片功能(圖片也可上傳)— 但這是 hacky workaround。
Q:為什麼 LINE preview 沒辦法手動關閉? A:LINE 沒提供 user-facing 開關。其他 app(Slack / Discord / Telegram)都有,這是 LINE 設計選擇。
Q:preview 顯示舊內容怎麼辦?
A:preview cache 是 app 端 — LINE / Discord 各自 cache。對方手動清訊息 cache 或等 24h 過期。對 server 端來說,目標 URL 加 Cache-Control: no-cache 可降低被誤 cache 機率。
Q:preview 會洩漏隱私嗎? A:理論上 — preview render 是 app server 端訪問,會把 URL + IP + timestamp 留在 app 公司的 log。對「想完全不被 LINE 看到我訪問什麼」場景 → 用 drrop.cc 短網址包,LINE 只看到 short URL,看不到目標。
最後
連結 preview 是個 double-edged tool:
- 想吸引點擊 → 想要 preview
- 想隱藏內容 / 驚喜 / 隱私 → 不想要 preview
控制 preview 的最簡方法:用純 302 短網址(drrop.cc)包目標 URL。
→ 試試 drrop.cc:drrop.cc