App Indexing — App Deep Linking cho tìm kiếm

Google App Indexing từng là gì, vì sao đã deprecated và giải pháp thay thế: Android App Links bằng assetlinks.json cùng iOS Universal Links bằng apple-app-site-association; lịch sử, ngộ nhận về thứ hạng, cách triển khai và đo lường.

Xuất bản lần đầu: 3 thg 7, 2026 · Cập nhật lần cuối: 22 thg 8, 2026 · Advanced
Ngôn ngữ

App Indexing là hệ thống Google giai đoạn 2013–khoảng 2021 để crawl nội dung ứng dụng native và từng streaming ứng dụng chưa cài trong kết quả tìm kiếm. Nó đã deprecated. Giải pháp thay thế là app deep link: Android App Links xác minh bằng assetlinks.json và iOS Universal Links xác minh bằng apple-app-site-association. Dữ kiện hiện hành quan trọng nhất: deep link không thay đổi lập chỉ mục hoặc thứ hạng — Google vẫn xếp hạng webpage — mà chỉ định tuyến người đã cài ứng dụng vào ứng dụng sau khi nhấp. Yêu cầu thực sự là nội dung tương đương giữa màn hình ứng dụng và webpage. Đo bằng bộ lọc Android app trong Search Console.

Evidence for this claim Android App Links use verified website associations to open matching web URLs in an installed Android app. Scope: Android deep linking; it does not establish a Google Search ranking benefit. Confidence: high · Verified: Android Developers: App Links Evidence for this claim Apple Universal Links associate HTTPS URLs with installed apps through an apple-app-site-association file and app entitlement. Scope: Apple platform deep linking; separate from historical Google App Indexing. Confidence: high · Verified: Apple Developer: Universal Links

Tóm tắt — Google App Indexing (2013) → Firebase App Indexing (2016, kèm thử nghiệm “app streaming” ngắn hạn) → deprecated khoảng năm 2021. Giải pháp kế nhiệm là app deep link: Android App Links, được xác minh bằng Digital Asset Links tại /.well-known/assetlinks.json cùng intent filter android:autoVerify; và iOS Universal Links, được xác minh bằng tệp apple-app-site-association cùng entitlement Associated Domains. Theo hướng dẫn Google tháng 5 năm 2025, deep link không thay đổi lập chỉ mục hoặc thứ hạng — Search vẫn xếp hạng webpage — và đích deep link phải tương ứng nội dung URL web. Hãy đo hành vi app link bằng analytics của platform và ứng dụng thay vì giả định luôn có báo cáo Search Console riêng.

Ba thời kỳ, một tên gọi gây nhầm lẫn

“App Indexing” gây nhiều nhầm lẫn vì cùng ý tưởng mang ba tên khác nhau trong một thập kỷ, còn lần chuyển đổi cuối là một đợt deprecation mà nhiều nội dung cũ không cập nhật kịp.

2013–2016 — Google App Indexing. Tháng 10 năm 2013, Google thông báo “Googlebot can now index content in your Android app” (bản dịch) “Googlebot giờ có thể lập chỉ mục nội dung trong ứng dụng Android”, đưa deep link tới ứng dụng “straight in our search results when we think they’re relevant… and if the user has the app installed” (bản dịch) “thẳng vào kết quả tìm kiếm khi Google cho rằng phù hợp… và nếu người dùng đã cài ứng dụng”. Bạn khai báo nội dung ứng dụng qua sitemap hiện có và Webmaster Tools. Khi đó Google crawl bên trong ứng dụng tương tự crawl webpage.

2016–khoảng 2021 — Firebase App Indexing. Sau khi Google mua Firebase năm 2014, App Indexing được đổi tên thành Firebase App Indexing quanh Google I/O 2016. Nó bổ sung hỗ trợ iOS và từng có thử nghiệm app streaming — nút “Try Now” cho phép chạy một ứng dụng chưa cài trong trình duyệt vài phút ngay từ kết quả tìm kiếm. App streaming chỉ là thử nghiệm hạn chế giai đoạn 2015–2016 và đã biến mất từ lâu; đừng xây kế hoạch dựa vào nó.

Khoảng 2021–nay — deprecated. Interface AppIndexApi được đánh dấu deprecated trong tài liệu tham chiếu Android của Google. Tài liệu Firebase hiện hành nói Firebase App Indexing “is no longer the recommended way of indexing content for display as suggested results in Google Search App,” (bản dịch) “không còn là cách được khuyến nghị để lập chỉ mục nội dung nhằm hiển thị dưới dạng kết quả gợi ý trong Google Search App”, đồng thời cảnh báo rõ “the Google Search App for Android no longer uses local content indexed via Firebase App Indexing to provide results to users.” (bản dịch) “Google Search App trên Android không còn dùng nội dung local được lập chỉ mục qua Firebase App Indexing để cung cấp kết quả”. Firebase nay hướng tới App LinksUniversal Links. Việc chuyển đổi diễn ra năm 2021; thông báo deprecation có trong snapshot tháng 10 năm 2022 nhưng chưa có vào tháng 10 năm 2020.

Theo cách Google diễn đạt, deep link là “special URIs that take users beyond your mobile app’s homepage, leading them directly to specific in-app content” (bản dịch) “URI đặc biệt đưa người dùng vượt qua homepage của ứng dụng mobile và tới thẳng nội dung cụ thể bên trong”. Thay đổi tư duy quan trọng so với mô hình cũ: đây là xác minh và định tuyến ở cấp hệ điều hành cùng trình duyệt, không phải pipeline lập chỉ mục do Google vận hành. Không có gì ở đây được “gửi vào chỉ mục”.

Theo Google, Android App Links là “an enhanced deep linking capability that verifies deep links to your own website by establishing a trusted association between your app and your website. After they are verified, deep links to your website can immediately open corresponding content in your app, without requiring the user to select your app from a disambiguation dialog” (bản dịch) “khả năng deep link nâng cao xác minh liên kết tới website bằng quan hệ tin cậy giữa ứng dụng và website; sau khi xác minh, deep link có thể mở ngay nội dung tương ứng trong ứng dụng mà không yêu cầu người dùng chọn ứng dụng từ hộp thoại phân định”. App Links được hỗ trợ từ Android 6 và được Google gọi là “cách tiếp cận được khuyến nghị” cho deep link tới website riêng.

Bắt tay xác minh dùng tệp Digital Asset Links. Khi bạn đặt android:autoVerify="true" trên intent filter và ứng dụng được cài, “Android queries the corresponding websites for the Digital Asset Links file at https://hostname/.well-known/assetlinks.json (bản dịch) “Android truy vấn website tương ứng để lấy tệp Digital Asset Links tại URL đó”. Tệp JSON liệt kê package ứng dụng cùng fingerprint chứng thư ký được phép xử lý liên kết của tên miền. Android 15 bổ sung Dynamic App Links, cho phép tinh chỉnh cách khớp URL mà không phát hành phiên bản ứng dụng mới.

Hai ranh giới về phiên bản và chữ ký rất quan trọng. Thứ nhất, Dynamic App Links mở rộng liên kết trong manifest thay vì thay thế; trên Android trước phiên bản 15, xác minh vẫn chỉ dựa trên khớp manifest/assetlinks.json tiêu chuẩn. Thứ hai, xác minh thất bại hoàn toàn chứ không một phần nếu fingerprint chứng thư ký trong assetlinks.json không khớp chính xác danh tính ký của bản build đã cài. Bản debug ký bằng key khác entry assetlinks.json sẽ không bao giờ được xác minh dù mọi field khác đều đúng.

Điểm cần phân biệt: deep link Android cơ bản dùng intent filter nhưng có thể mở hộp thoại “bạn muốn mở bằng ứng dụng nào?”. App Links thêm xác minh Digital Asset Links để tên miền đã xác minh mở thẳng trong ứng dụng, không có hộp thoại.

Tương đương trên Apple là Universal Links. Apple nói: “When users tap or click a universal link, the system redirects the link directly to your app without routing through the person’s default web browser or your website… because universal links are standard HTTP or HTTPS links, one URL works for both your website and your app. If the person hasn’t installed your app, the system opens the URL in their default web browser.” (bản dịch) “Khi người dùng nhấn universal link, hệ thống chuyển thẳng tới ứng dụng mà không đi qua trình duyệt mặc định hay website… vì đây là liên kết HTTP/HTTPS tiêu chuẩn, một URL hoạt động cho cả website và ứng dụng. Nếu chưa cài ứng dụng, hệ thống mở URL trong trình duyệt mặc định.”

Tệp xác minh là apple-app-site-association, được host trên web server: “When someone installs your app, the system checks a file stored on your web server to verify that your website allows your app to open URLs on its behalf.” (bản dịch) “Khi ai đó cài ứng dụng, hệ thống kiểm tra tệp trên web server để xác minh website cho phép ứng dụng mở URL thay mặt”. Phía ứng dụng cần entitlement Associated Domains khớp tên miền trong tệp. Nguyên tắc giống Android: bắt tay tin cậy giữa website và ứng dụng do thiết bị kiểm tra, không phải tín hiệu xếp hạng.

Tuy nhiên, tệp apple-app-site-association hợp lệ và entitlement khớp đúng không bảo đảm mọi lần nhấn đều mở ứng dụng. Apple mô tả các trường hợp Universal Link vẫn mở Safari dù association hoạt động — chẳng hạn khi nhấn liên kết ngay trong Safari lúc đang duyệt cùng tên miền, hoặc người dùng trước đó chọn tiếp tục mở liên kết của tên miền trong trình duyệt. Khi ứng dụng thực sự chưa cài hoặc association không khớp, liên kết HTTP(S) tiêu chuẩn phải fallback về trình duyệt thay vì dừng ở custom scheme hỏng. Đó là hệ thống hoạt động đúng thiết kế, không phải bug cần truy đuổi.

Cả hai platform đều được Google Search hỗ trợ làm đích deep link.

Đây là sửa đổi quan trọng nhất của toàn chủ đề vì các trang đang xếp hạng vẫn nói sai. Bạn sẽ thấy nhận định như “App Indexing sẽ ảnh hưởng thứ hạng… bất kể người dùng đã cài ứng dụng hay chưa” hoặc “Google dùng nội dung trong ứng dụng làm tín hiệu xếp hạng”. Những nhận định đó sai, và bài tháng 5 năm 2025 của Google nói trực tiếp:

“Adding deep links to your website connects the website’s URLs with the relevant app pages. It doesn’t change how Google Search shows your content; Search continues to use the content of your web pages for indexing and ranking. App deep links enable users to go from Search results directly to the corresponding app page (if installed), resulting in a better user experience.” (bản dịch) “Thêm deep link vào website kết nối URL website với trang ứng dụng liên quan. Việc này không thay đổi cách Google Search hiển thị nội dung; Search tiếp tục dùng nội dung webpage để lập chỉ mục và xếp hạng. App deep link cho phép người dùng đi thẳng từ kết quả Search tới trang ứng dụng tương ứng nếu đã cài, mang lại trải nghiệm tốt hơn.”

Evidence for this claim Google says adding app deep links does not change how Search indexes or ranks content; the corresponding web page remains the indexing and ranking source. Scope: public web Confidence: high · Verified: App deep links: connecting your website and app

Hãy đọc kỹ: webpage mới là thứ được lập chỉ mục và xếp hạng. Deep link là lớp định tuyến sau khi nhấp, chỉ kích hoạt với người đã cài ứng dụng. Đây là cải thiện UX, không phải đòn bẩy khả năng hiển thị. Ai nói cấu hình assetlinks.json sẽ tăng thứ hạng là sai.

Yêu cầu thực sự duy nhất: nội dung tương đương

Chỉ có một quy tắc thực chất và nó liên quan tới tính trung thực với người dùng. Google nói:

“Because Search uses your web page content for indexing and ranking, you should only add deep links in cases where the app page contains the same content as the corresponding web page. Otherwise, the title and snippet shown for the page in Google Search could mislead users about the content they will see after they click. Layout or other UX differences between app pages and the corresponding web pages are OK, as long as the content matches. (bản dịch) “Vì Search dùng nội dung webpage để lập chỉ mục và xếp hạng, bạn chỉ nên thêm deep link khi trang ứng dụng chứa cùng nội dung với webpage tương ứng. Nếu không, title và snippet trong Google Search có thể gây hiểu nhầm về nội dung sau khi nhấp. Khác biệt layout hoặc UX là chấp nhận được miễn nội dung khớp.”

Vì vậy, màn hình ứng dụng native đẹp hơn và bố cục khác vẫn ổn. Màn hình hiển thị nội dung khác webpage thì không, vì snippet người dùng nhấn được tạo từ webpage nhưng đích đến không khớp. Tính tương đương ở đây là nội dung, không phải diện mạo.

Cách triển khai hiện nay

Android: Dùng App Links. Liên kết ứng dụng với website trong app manifest bằng intent filter có android:autoVerify="true", rồi xuất bản /.well-known/assetlinks.json trên website với package name cùng fingerprint chứng thư ký của ứng dụng. Android xác minh association khi cài. App Links Assistant trong Android Studio và trang Deep Links của Play Console giúp tạo và xác thực thiết lập.

iOS: Triển khai Universal Links. Xuất bản tệp apple-app-site-association trên web server để mô tả path ánh xạ tới ứng dụng, rồi thêm entitlement Associated Domains cho tên miền khớp. Hướng dẫn debug Universal Links của Apple trình bày lỗi phổ biến như content-type sai, thiếu entitlement và association bị cache.

Không tệp nào được crawl vào “search index” như tên App Indexing từng gợi ý; đây là bắt tay tin cậy do thiết bị kiểm tra. Cấu hình sai thì liên kết fallback về trình duyệt; cấu hình đúng thì người đã cài được định tuyến vào ứng dụng.

Kiểm tra tối thiểu tệp association

curl -sI https://example.com/.well-known/assetlinks.json
curl -sI https://example.com/.well-known/apple-app-site-association

Cả hai endpoint phải trả 200 không redirect và cung cấp response JSON dự kiến. Lens Scripts có các phép kiểm tra mở rộng về content-type, redirect, PowerShell, DevTools và bookmarklet.

Cách đo: bộ lọc ứng dụng Android trong Search Console

Google cung cấp trực tiếp hiệu suất app deep link: “Search Console includes performance of your site’s app deep links for Android. In the Performance report, you can use the Android App Search appearance filter to see when your Android app deep links are found and shown to users.” (bản dịch) “Search Console bao gồm hiệu suất app deep link Android của website. Trong báo cáo Performance, bạn có thể dùng bộ lọc Search appearance Android App để xem khi nào deep link được tìm thấy và hiển thị cho người dùng.” Báo cáo cung cấp lượt nhấp, impression, CTR và vị trí cho kết quả có Android app deep link — cách hiện hành cụ thể để xem tính năng có hoạt động không. Bộ lọc được thêm năm 2019 và vẫn là công cụ hiện tại theo bài Google năm 2025.

Tuy vậy, hãy tách hai công việc. Bộ lọc Search Console là báo cáo traffic/appearance — chỉ Android, phụ thuộc việc Google thực sự hiển thị app-deep-link treatment cho truy vấn và không tự chứng minh điều gì được lập chỉ mục hay xếp hạng. Xác nhận deep link hoạt động về kỹ thuật là bài kiểm tra khác: fetch tệp association và thử nhấn trên thiết bị thực, xem tab Scripts cùng Validation Tests. Đừng coi báo cáo Search Console yên ắng là bằng chứng thiết lập hỏng; cũng đừng coi lượt nhấp trong báo cáo là tín hiệu SEO — nó nói về lượng định tuyến, không phải thứ hạng.

Đừng giả định Google và Bing tương đương ở đây. Bing từng chạy chương trình “app linking” tập trung vào Windows từ tháng 4 năm 2014, hướng tới Windows 8,1 và Windows Phone; nhưng các trang đó nay đã chết — URL developer trả 404, bài blog redirect về homepage chung — và Windows Phone đã ngừng. Không có tài liệu hiện hành do Bing xuất bản tương đương hướng dẫn app deep link năm 2025 của Google. Kết luận thực tế: App Links và Universal Links vẫn hoạt động trong Bing/Edge mobile vì đó là tiêu chuẩn cấp hệ điều hành và trình duyệt, không cần công cụ tìm kiếm opt in. Vì vậy cách triển khai không đổi. Chỉ là không có tài liệu Bing để dẫn.

Những thứ legacy bạn vẫn gặp ngoài thực tế

Một vài kỹ thuật gần kề gây nhầm lẫn; hãy gọi đúng tên rồi bỏ qua:

  • Markup schema.org potentialAction / ViewAction có đích deep link android-app://. Đây là kỹ thuật legacy gắn với thời App Indexing cũ. Bạn vẫn có thể thấy nó trong codebase và vocabulary action của schema.org, nhưng khuyến nghị hiện tại của Google là cấu hình App Links / Universal Links, không phải markup này. Hãy coi là “thứ có thể còn thấy”, không phải khuyến nghị.
  • Firebase Dynamic Links là sản phẩm Firebase khác và được deprecated riêng — dịch vụ rút gọn URL/deferred deep linking cho attribution marketing, không phải hệ thống nội dung App Indexing. Nó cũng đang bị dừng và hướng dẫn migration riêng cũng trỏ tới App Links cùng Universal Links. Đừng đánh đồng hai đợt deprecation.

Mô hình rõ ràng cần ghi nhớ: (1) hệ thống crawl và streaming Google App Indexing / Firebase App Indexing cũ = đã chết; (2) deep linking bằng App Links / Universal Links = hiện hành, chỉ định tuyến/UX, không ảnh hưởng thứ hạng; (3) app linking thời Windows của Bing = cũng đã chết, không có giải pháp thay thế được ghi nhận.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.