Cách tạo ứng dụng rút gọn link (URL shortener)
URL shortener lưu một địa chỉ web dài dưới một mã ngắn và chuyển hướng bất kỳ ai truy cập link ngắn. Phần lõi rất nhỏ, chỉ một bảng và một tuyến chuyển hướng, đó là lý do nó là dự án đầu tay kinh điển. Điều làm cho một shortener thực sự hữu ích là phần còn lại: tên miền ngắn, slug tùy chỉnh, số lượt nhấp, chỉnh sửa đích của link, và ngăn spammer dùng tên miền của bạn để che giấu link lừa đảo. Hãy quyết định sớm xem nó dành cho bạn và đội của bạn, hay mở cho công chúng, vì shortener công khai thu hút lạm dụng rất nhanh.
URL shortener cần những gì
Dữ liệu
| Bảng | Trường |
|---|---|
| Link | Mã ngắn, URL đích, chủ sở hữu, tiêu đề, ngày tạo, cờ đang hoạt động, thời hạn tùy chọn |
| Lượt nhấp | Link, thời điểm, nguồn giới thiệu, quốc gia, loại thiết bị |
| Tên miền (tùy chọn) | Tên miền ngắn tùy chỉnh và chủ sở hữu |
Đặt chỉ mục duy nhất trên mã ngắn. Hai link có cùng mã là lỗi duy nhất phải tuyệt đối không xảy ra.
Trang và tuyến
- Tuyến chuyển hướng —
/{code}tra cứu mã và chuyển hướng. Đây là tuyến mà hầu hết khách truy cập chạm vào, nên phải nhanh và không bao giờ hiển thị giao diện app của bạn. - Tạo link — dán một URL, tùy chọn chọn slug tùy chỉnh, nhận link ngắn kèm nút sao chép.
- Danh sách link — các link của bạn với số lượt nhấp, tìm kiếm và công tắc bật/tắt.
- Chi tiết link — lượt nhấp theo thời gian, nguồn giới thiệu hàng đầu, quốc gia, thiết bị. Sửa đích đến.
- Trang không tìm thấy cho mã không tồn tại hoặc đã bị tắt.
- Mã QR cho mỗi link — thêm vào rất rẻ và thường được yêu cầu.
Các quyết định và đánh đổi
Loại chuyển hướng. Chuyển hướng 301 (vĩnh viễn) có thể được trình duyệt lưu đệm, nên khách truy cập quay lại sẽ bỏ qua máy chủ của bạn: bạn mất lượt nhấp và không đổi được đích cho họ. Hãy dùng 302 hoặc 307 nếu bạn theo dõi lượt nhấp hoặc cho phép chỉnh sửa. Đó là điều hầu hết các shortener có theo dõi đều làm.
Mã ngắn. Mã ngẫu nhiên dài sáu hoặc bảy ký tự (chữ và số) khó đoán và có đủ không gian. Tránh các ký tự dễ nhầm (0/O, 1/l) nếu mọi người sẽ gõ link bằng tay. Mã tuần tự tiết lộ bạn có bao nhiêu link và cho phép bất kỳ ai duyệt qua chúng.
Slug tùy chỉnh. /launch tốt hơn /x7Kp2q. Hãy giữ lại các từ mà app của bạn dùng (login, api, admin), chặn slug xúc phạm nếu công cụ là công khai, và quyết định slug có phân biệt chữ hoa thường hay không. Không phân biệt hoa thường thân thiện hơn.
Tốc độ. Shortener thêm một bước chuyển trước mỗi lần truy cập. Hãy giữ tuyến chuyển hướng ở mức một lần tra cứu có chỉ mục, và ghi lại lượt nhấp sau khi đã gửi chuyển hướng (hoặc chạy nền) để việc theo dõi không bao giờ làm chậm khách truy cập. Các app trên hosting tự ngủ khi rảnh có thể chậm hơn một chút ở lần truy cập đầu tiên sau một thời gian yên ắng; với công cụ cá nhân hoặc đội thì thường vẫn ổn.
Thống kê lượt nhấp và quyền riêng tư. Đếm lượt nhấp, nguồn giới thiệu và quốc gia gần đúng là tiêu chuẩn. Lưu toàn bộ địa chỉ IP và xây dựng hồ sơ của từng cá nhân là nơi luật bảo vệ dữ liệu bắt đầu áp dụng. Hãy lưu những gì bạn thực sự sẽ xem, và tổng hợp khi có thể. Xem cách thêm phân tích vào app.
Tên miền. Link chỉ ngắn bằng tên miền của nó. Hãy mua một tên miền ngắn và trỏ về app; xem cách kết nối tên miền tùy chỉnh. Nhiều host ưa dùng subdomain (go.thuonghieucuaban.com) hơn tên miền gốc trần, vì dễ kết nối hơn.
Lạm dụng. Nếu ai cũng tạo được link, spammer sẽ dùng tên miền của bạn để che giấu lừa đảo và mã độc, và tên miền của bạn có thể bị đưa vào danh sách chặn. Với shortener công khai: yêu cầu tài khoản, giới hạn tần suất tạo link, kiểm tra đích với danh sách URL độc hại như Google Safe Browsing, chặn link trỏ về chính shortener (vòng lặp chuyển hướng), và xây một công tắc quản trị để vô hiệu hóa bất kỳ link nào ngay lập tức. Một shortener riêng, chỉ dành cho đội, tránh được hầu hết vấn đề này.
Prompt đầu tiên hiệu quả
Hãy tạo một ứng dụng web URL shortener cho đội của tôi. Người dùng đã đăng nhập dán một URL đích và nhận một link ngắn với mã ngẫu nhiên 7 ký tự (không có 0, O, 1 hay l), hoặc chọn slug tùy chỉnh. Slug là duy nhất và không phân biệt hoa thường; dành riêng các từ login, api, admin, app và settings. Tuyến công khai /{code} tra cứu mã bằng một truy vấn có chỉ mục duy nhất và trả về chuyển hướng 302; ghi lại lượt nhấp (thời điểm, nguồn giới thiệu, quốc gia, loại thiết bị — không lưu địa chỉ IP đầy đủ) mà không làm chậm chuyển hướng. Mã không tồn tại hoặc đã bị tắt hiển thị một trang không tìm thấy đơn giản. Người dùng thấy danh sách link của họ với số lượt nhấp, có thể sửa đích, tắt một link, tải mã QR, và mở trang chi tiết với lượt nhấp theo ngày, nguồn giới thiệu hàng đầu và quốc gia. Kiểm tra đích phải là URL http hoặc https và không trỏ về shortener này. Lưu mọi thứ trong cơ sở dữ liệu.
Các bước xây dựng
- Tạo và chuyển hướng. Tạo một link và mở nó trong cửa sổ ẩn danh. Kiểm tra phản hồi là 302, không phải một trang rồi chuyển hướng bằng JavaScript.
- Mã và slug. Thử một slug trùng, một từ dành riêng, chữ hoa lẫn thường và một URL rất dài.
- Theo dõi lượt nhấp. Nhấp từ vài thiết bị và kiểm tra số đếm và nguồn giới thiệu.
- Sửa và tắt. Đổi đích và xác nhận link ngắn cũ giờ đi đến nơi mới; tắt một link và xác nhận nó ngừng hoạt động.
- Kiểm tra hợp lệ. Thử link
javascript:, link trỏ về chính shortener và URL sai định dạng. Tất cả phải bị từ chối ở phía máy chủ. - Tên miền. Kết nối tên miền ngắn của bạn và thử các link trên đó.
- Kiểm soát lạm dụng, nếu công cụ sẽ công khai: giới hạn tần suất, kiểm tra đích và một màn hình quản trị các link gần đây.
Lỗi thường gặp
- Chuyển hướng 301 kèm theo dõi lượt nhấp. Trình duyệt lưu đệm và số liệu của bạn sẽ sai.
- Chuyển hướng trong trang. Tải app rồi chuyển hướng bằng JavaScript khiến mỗi lượt nhấp đều chậm. Hãy chuyển hướng từ máy chủ.
- Không có ràng buộc duy nhất trên mã. Trùng mã rồi sẽ xảy ra.
- Một shortener công khai mở mà không có kiểm soát. Nó sẽ bị lạm dụng, và uy tín tên miền của bạn đi theo.
- Chấp nhận mọi loại scheme URL. Chỉ cho phép đích http và https.
- Mất link khi chuyển nhà. Hãy tự sở hữu tên miền ngắn để link vẫn tồn tại khi đổi hosting.
Khi một sản phẩm có sẵn là lựa chọn tốt hơn
Các dịch vụ quản lý link đã được thiết lập cung cấp sẵn tên miền thương hiệu, phân tích chi tiết, tính năng cho đội, mã QR, tích hợp và xử lý lạm dụng. Nếu link là trọng tâm của marketing và bạn muốn không phải bảo trì, hãy trả tiền cho một dịch vụ như vậy.
Hãy tự xây khi bạn muốn một shortener đơn giản cho đội trên tên miền của riêng mình, không tính giá theo ghế, các link gắn với sản phẩm của bạn (link chia sẻ, link giới thiệu, link theo dõi trong email), hoặc toàn quyền kiểm soát dữ liệu lượt nhấp. Đây cũng là một dự án backend tốt cho người mới. Kết hợp với một trang link-in-bio, và chạy qua danh sách kiểm tra bảo mật cho app do AI tạo trước khi mở cho bất kỳ ai khác.
Xây dựng với Mythex
Trong Mythex, bạn mô tả shortener trong chat và kiểm thử chuyển hướng trong bản xem trước trực tiếp. Mythex thêm một cơ sở dữ liệu riêng cho link và lượt nhấp khi app cần. Các app đã xuất bản và cơ sở dữ liệu của chúng sẽ ngủ khi không dùng và thức dậy ở lần truy cập tiếp theo, giúp một shortener ít dùng chạy với chi phí thấp. Xuất bản lên link mythex.ai, và trên gói Pro bạn có thể kết nối tên miền ngắn riêng hoặc mua một tên miền ngay trong Mythex; xem tên miền tùy chỉnh. Mẫu URL shortener là một prompt khởi đầu đã viết sẵn, với slug tùy chỉnh và thống kê lượt nhấp.
Câu hỏi thường gặp
URL shortener nên dùng chuyển hướng 301 hay 302?
301 báo cho trình duyệt biết việc chuyển hướng là vĩnh viễn, nên trình duyệt có thể lưu đệm và bỏ qua máy chủ của bạn ở lần sau, nghĩa là bạn sẽ mất lượt nhấp và không thể đổi đích cho các link đó. Hầu hết các shortener có theo dõi lượt nhấp hoặc cho phép chỉnh sửa đều dùng chuyển hướng tạm thời 302 hoặc 307.
Mã ngắn được tạo như thế nào?
Hoặc là chuỗi ngẫu nhiên gồm chữ và số, được kiểm tra với các mã đã có, hoặc mã hóa ID cơ sở dữ liệu theo cơ số 62. Mã ngẫu nhiên khó đoán hơn; mã tuần tự thì tiết lộ có bao nhiêu link tồn tại. Sáu hoặc bảy ký tự ngẫu nhiên tạo ra hàng tỷ tổ hợp.
Có cần tên miền ngắn không?
Không bắt buộc để hoạt động, nhưng mục đích của shortener là một link ngắn và đáng tin cậy. Một tên miền tùy chỉnh ngắn mà bạn sở hữu cũng có nghĩa là các link vẫn hoạt động nếu bạn chuyển hosting.
Làm sao để ngăn người ta lạm dụng một URL shortener công khai?
Yêu cầu đăng ký để tạo link, giới hạn tần suất tạo link, kiểm tra đích đến với danh sách URL độc hại như Google Safe Browsing, chặn tên miền của chính bạn làm đích, và có cách nhanh để vô hiệu hóa link.