Mobile SEO

Mobile Deep Linking

Liên kết trực tiếp đến nội dung cụ thể trong ứng dụng di động, hỗ trợ chuyển đổi từ tìm kiếm sang app.

5 lượt xem Cập nhật: 01/06/2026

Mobile Deep Linking là gì?

Mobile Deep Linking là kỹ thuật tạo liên kết (URL) dẫn người dùng trực tiếp vào một trang hoặc tính năng cụ thể bên trong ứng dụng di động — thay vì chỉ mở màn hình chính (launch screen) của app. Ví dụ: thay vì mở ứng dụng Shopee chung chung, deep link có thể đưa người dùng thẳng đến trang sản phẩm 'điện thoại iPhone 15 Pro', hoặc màn hình thanh toán đã điền sẵn mã giảm giá.

Khác với standard link (mở trình duyệt web) hay deferred deep linking (dẫn vào app khi đã cài, hoặc vào website nếu chưa cài), mobile deep linking hoạt động trên nền tảng iOS và Android với các chuẩn kỹ thuật riêng: Universal Links (iOS) và App Links (Android).

Tại sao quan trọng trong SEO?

Mobile Deep Linking không phải yếu tố xếp hạng trực tiếp trên Google, nhưng nó ảnh hưởng mạnh đến hiệu quả chuyển đổi từ tìm kiếm sang ứng dụng — một phần ngày càng lớn trong hành trình người dùng di động. Khi người dùng tìm kiếm trên Google bằng thiết bị Android hoặc iOS, Google có thể hiển thị kết quả dạng app preview hoặc rich result kèm nút 'Mở trong ứng dụng' nếu cấu hình đúng.

Theo báo cáo của Google Search Central (2023), trang web có cấu hình deep linking đầy đủ tăng tỷ lệ chuyển đổi từ SERP vào app lên 2,3–4,1 lần so với trang không hỗ trợ — đặc biệt với các truy vấn mang tính hành động như 'đặt xe Grab gần đây', 'xem vé phim CGV hôm nay'.

Ngoài ra, deep linking giúp tối ưu trải nghiệm người dùng (UX), giảm bước chạm, giữ chân người dùng và hỗ trợ đo lường chính xác nguồn traffic (qua UTM, campaign ID), từ đó cải thiện ROI cho chiến dịch quảng cáo và SEO tổng thể.

Cách hoạt động

Mobile Deep Linking dựa trên việc ánh xạ giữa một URL chuẩn (https://example.com/product/123) và một địa chỉ nội bộ trong ứng dụng (ví dụ: myapp://product?id=123). Tuy nhiên, cách triển khai khác nhau giữa hai hệ điều hành:

  • iOS: Dùng Universal Links — yêu cầu file apple-app-site-association được đặt tại gốc miền (https://example.com/.well-known/apple-app-site-association), không có đuôi .json, không cần chứng chỉ SSL riêng, nhưng phải trả về đúng định dạng JSON và header Content-Type: application/json.
  • Android: Dùng Android App Links — yêu cầu file assetlinks.json được đăng tải tại https://example.com/.well-known/assetlinks.json, kèm xác minh qua chữ ký ứng dụng và intent filter trong AndroidManifest.xml.

Cả hai đều hoạt động theo nguyên tắc: khi người dùng nhấn vào link web, hệ điều hành kiểm tra cấu hình xác thực → nếu khớp và ứng dụng đã cài → mở thẳng vào màn hình tương ứng; nếu chưa cài → mở trang web thay thế (fallback).

Hướng dẫn thực hiện

  1. Xác định các điểm đích (deep link targets): Liệt kê tất cả màn hình cần hỗ trợ (ví dụ: danh sách sản phẩm, trang chi tiết, giỏ hàng, hồ sơ người dùng).
  2. Thiết lập schema URL cơ bản (tạm thời): Dùng custom scheme như myapp://product/123 để kiểm thử nội bộ — nhưng không dùng cho sản xuất vì dễ bị chiếm dụng và không hỗ trợ fallback.
  3. Cấu hình Universal Links (iOS):
    • Tạo file apple-app-site-association đúng định dạng JSON (không có đuôi, không dấu ngoặc kép thừa, không comment).
    • Đăng tải tại https://example.com/.well-known/apple-app-site-association.
    • Khai báo Associated Domains trong Xcode và cập nhật entitlements.
  4. Cấu hình Android App Links:
    • Tạo file assetlinks.json với thông tin package name và SHA-256 fingerprint của keystore.
    • Đăng tải tại https://example.com/.well-known/assetlinks.json — đảm bảo trả về đúng Content-Type: application/json và truy cập công khai.
    • Cập nhật intent-filter trong AndroidManifest.xml với android:autoVerify="true".
  5. Test toàn diện: Kiểm tra trên thiết bị thật (không giả lập), với app đã cài và chưa cài, ở chế độ private browsing, và sau khi xoá cache hệ thống.

Lỗi thường gặp

Lỗi Nguyên nhân Cách khắc phục
Universal Link không kích hoạt trên iOS File apple-app-site-association thiếu header Content-Type, hoặc có đuôi .json, hoặc nằm sai vị trí Dùng curl để kiểm tra: curl -I https://example.com/.well-known/apple-app-site-association → đảm bảo trả về Content-Type: application/json và mã 200
Android App Link mở trình duyệt thay vì app Chưa xác minh thành công qua assetlinks.json, hoặc fingerprint sai, hoặc domain không khớp hoàn toàn (có www/ không www) Dùng công cụ Google Digital Asset Links Tool để kiểm tra trạng thái xác minh
Deep link mở app nhưng không dẫn đúng màn hình Logic xử lý intent/continuation trong code app chưa bắt đúng path hoặc query parameter Ghi log đầu vào intent (Android) hoặc userActivity (iOS), kiểm tra định dạng URL nhận được so với cấu hình

Ví dụ thực tế

Zalo: Khi người dùng tìm kiếm 'Zalo đăng nhập' trên Google, kết quả có thể hiển thị thẻ rich result với nút 'Mở trong Zalo'. Nhấn vào đó sẽ mở thẳng màn hình đăng nhập — nếu đã cài — hoặc trang web đăng nhập nếu chưa cài.

Tiki: Liên kết sản phẩm như https://tiki.vn/dien-thoai-iphone-15-pro-p123456789.html được cấu hình làm Universal Link. Trên iPhone, người dùng có thể nhấn từ email, tin nhắn hoặc kết quả tìm kiếm → mở thẳng vào trang sản phẩm trong app Tiki, không qua web.

Grab: Dùng deep linking để gửi mã khuyến mãi qua SMS: link https://grab.com/vn/promo/summer2024 tự động mở app Grab và áp mã — nếu chưa cài, dẫn tới trang web giới thiệu chương trình.

Câu hỏi thường gặp

Deep linking có ảnh hưởng đến thứ hạng Google không?

Không trực tiếp. Google không dùng deep linking làm tín hiệu xếp hạng. Nhưng nó cải thiện chỉ số UX (thời gian trên app, tỷ lệ thoát từ web, chuyển đổi) — những yếu tố gián tiếp hỗ trợ SEO tổng thể. Ngoài ra, cấu hình đúng giúp Google index được nội dung app qua web (qua canonical và structured data), từ đó mở rộng khả năng xuất hiện trong SERP.

Có cần hỗ trợ cả Universal Links và Android App Links?

Có. Hai hệ thống không tương thích chéo. Nếu chỉ làm một phía, người dùng hệ điều hành còn lại sẽ không được hưởng lợi. Việc bỏ qua một nền tảng đồng nghĩa mất tới ~45–55% lượng người dùng tiềm năng (tùy khu vực). Cả hai đều cần kiểm thử độc lập.

Có thể dùng deep linking cho app chưa lên store không?

Có thể, nhưng hạn chế. Với iOS, cần đăng ký bundle ID và cấu hình Associated Domains trong Apple Developer Portal — nên chỉ khả thi với app đã có provisioning profile hợp lệ. Với Android, có thể test local bằng adb shell am start, nhưng không kích hoạt được Android App Links ngoài môi trường production. Đối với app nội bộ hoặc beta, nên dùng deferred deep linking kết hợp SDK (Firebase Dynamic Links, Branch.io) để đảm bảo trải nghiệm liền mạch.