回到主页

如何获取由Google编制索引的应用内容

随着移动技术成为用户访问互联网的一种越来越常见的方式,您需要确保您的移动内容(无论是在移动网站上还是在移动应用中)尽可能地为用户所用。在过去,此过程相对孤立,桌面和移动内容的单独URL以及应用商店中隐藏的应用程序。

但随着应用和移动网络使用率的不断提高,人们访问此内容的方式开始趋同,这意味着将所有这些不同的内容位置保持联系变得越来越重要。这意味着我们对管理网络和移动内容的思考方式正在不断发展:

那么,我们如何改善这些不同类型的内容和不同平台之间的交互,从而能够拥有一个URL,根据个人情况将用户带到最合适的内容版本?

第一步是确保我们正确实施具有可比较网页内容的应用的深层链接(例如,链接到应用内的特定屏幕),以允许我们的应用内容在移动搜索中排名。

Google索引为Android和iOS应用提供了优势。Android应用程序的好处有两个:

  • 在尚未安装您的应用的Android设备上搜索的用户会看到该应用显示在移动搜索结果中; 和
  • 安装了您的应用的Android用户在使用浏览器搜索时会获得查询自动填充功能,搜索结果可能包含您应用的结果,以及在SERP中看到增强的显示元素(例如应用图标)。它基本上就像应用程序的丰富网页摘要。

在iOS上,应用排名目前仅支持已安装在设备上的应用。Apple用户应该会看到搜索结果,其中包含已安装应用的链接,还包括上面提到的增强型显示元素。

此外,谷歌最近宣布,使用新的应用索引API进行深度链接的移动应用可能会在移动网络搜索中获得排名提升。他们在最新的操作系统更新(Android M)中发布了一个新的改进版Google即时版“Now on Tap”,它允许您在手机中搜索内容,而无需浏览您当前的任何应用程序(或网站)使用。问题是,app内容必须位于其索引中才能包含在“Now on Tap”搜索中。

这不只是谷歌; Apple正在实施自己的搜索索引版本,允许iOS9用户在不使用第三方搜索引擎的情况下搜索和发现网络和应用内容,Bing有自己的应用程序索引和排名方法,其他服务也不甘落后。

不过,本文将重点介绍如何设置Android和iOS应用以显示在Google搜索结果中。虽然应用程序索引的想法并不新鲜,但它是一个快速创新的领域,最近简化了将您的应用程序编入索引的过程。因此,该职位旨在简要介绍该流程,并作为当前可用信息的更新。

实施

好消息是,将相关标记添加到您的网站内容并将您的应用内容编入索引并在移动搜索结果中排名变得越来越简单。

基本过程只有三个步骤:

  1. 支持移动应用中的HTTP深层链接。对于iOS,您需要通过设置对“Universal Links”的支持来实现此目的。“Universal Links”是Apple所谓的HTTP链接,它具有单个URL,可以打开网站上的特定页面和应用程序中的相应视图。
    注意:此时,您可以向Google注册您的应用,将其与您的网站关联并停在那里 - 只要您使用相同的网址内容和应用内容,他们就应该能够自动抓取,编制索引,并尝试根据您网站的结构对您的应用内容进行排名。但是,实施应用程序索引并使用页面标记将Web内容显式映射到应用程序内容可以提供额外的好处并允许更多控制。因此,如果可能,我建议您遵循完整流程。
  2. 使用适用于Android的App Indexing API实施Google App Indexing,或者通过集成适用于iOS 9的App Indexing SDK。
  3. 使用单个页面上的rel = alternate链接元素,通过引用XML站点地图中的应用程序URL或使用schema.org标记,将您的网页显式映射到相应的应用程序屏幕。

您可以在下面找到有关此过程的逐步说明(分别查看Android和iOS)。

 

应用程序索引过程过去有点复杂,因为较旧的iOS版本不支持HTTP链接。相反,开发人员必须使用称为“自定义URL方案”的东西来链接到iOS应用程序内容。这意味着您必须为应用程序URL创建一个独特的方案,然后在应用程序代码中添加对这些方案的支持。

除了增加复杂性之外,自定义URL方案还有其他一些缺点,即:

  1. 不同的应用开发者可以声明相同的自定义URL方案,而使用HTTP链接,您可以将应用关联到特定的域或域集; 和
  1. 使用自定义URL方案,在未安装应用程序时点击URL会导致链接断开(因为它只链接到应用程序内的内容),而HTTP链接也是Web链接,如果是,则可以将用户带到网页未安装应用(只要应用视图和相应网页的网址相同)。

虽然您仍然可以使用自定义URL方案方法,但好消息是Google的App Indexing现在与iOS 9的HTTP深层链接标准兼容,Apple称之为“Universal Links”。

您仍应将标记添加到任何具有与特定应用屏幕相对应的内容的网页。可以把它想象为rel = canonical或类似移动交换机标签,但对于应用程序。请注意,当Google在他们认为相同的网页和应用页面之间找到​​链接时,他们会比较这两个页面,如果他们不相信内容,您将在搜索控制台中收到“内容不匹配”错误足够相似。

让Android应用在Google中编入索引 第1步:通过向清单添加意图过滤器,在您的应用中支持HTTP深层链接。

一个意图过滤器是指定的应用程序如何响应特定的行动方式。深层链接的Intent过滤器有三个必需元素:<action>,<category>和<data>。您可以从Google Developers中找到有关此内容的更多指导。以下是一个意图过滤器示例,它支持HTTP深层链接:

<intent-filter android:label =“@ string / filter_title_viewrecipes”>

<action android:name =“android.intent.action.VIEW”/>

<category android:name =“android.intent.category.DEFAULT”/>

<category android:name =“android.intent.category.BROWSABLE”/>

<data android:scheme =“http”

机器人:主机= “recipe-app.com”

android:pathPrefix =“/ recipes”/>

</意图滤波器>

</活动>

Noindex选项:
就像网站一样,您也可以为app内容添加noindex指令。在应用程序中包含noindex.xml文件,以指示不应将哪些深层链接编入索引,然后在应用程序清单(AndroidManifest.xml)文件中引用该文件。您可以在此处找到有关如何创建和引用noindex.xml文件的更多详细信息。

第2步:在Google Search Console中将您的应用与您的网站相关联。

这可以在Google Search Console中完成(您也可以从开发者控制台执行此操作)。只要您的应用设置为支持深层链接,从技术上讲,这一步就是让Google开始为您的应用编制索引。它允许Google通过尝试从您的网站结构中找出应用结构来自动为您的应用编制索引和抓取。

但是,如果您停在这里,您将无法控制Google如何理解您的内容,这就是建议将页面显式映射到应用版本的原因。此外,如果由于某种原因无法使用API​​,则需要确保Googlebot可以访问您的内容。您可以使用搜索控制台中的robots.txt测试工具测试一些深层链接,检查网站的robots.txt文件中是否正确配置了此文件。

第3步:使用App Indexing API实现应用程序索引。

使用App Indexing API绝对值得; 除此之外,使用API​​的应用程序应该会在移动搜索结果中获得排名提升,而且您无需担心Googlebot难以访问您的内容。

App Indexing API允许您注释有关您的应用程序中支持深层链接的活动的信息(如您的意图过滤器中所示)。有关如何进行此设置的详细信息,请参阅Google Developers指南。

第4步:测试您的实施。

您可以使用以下工具测试您的实施(始终在全新安装的应用程序!)。(在此处查找有关如何使用这些工具的更多信息。)

Android Debug Bridge - 从命令行测试深层链接

获取Google(搜索控制台) - 测试Google在抓取您的应用深层链接时看到的内容

您还可以在Search Console的搜索分析报告中跟踪这些深层链接的搜索流量。

让iOS应用在Google中编入索引 第1步:通过设置对“通用链接”的支持,在您的应用中支持HTTP深层链接。

要支持iOS应用中的通用链接,您需要首先确保应用通过采用UIApplicationDelegate方法(如果它尚未使用此协议)正确处理这些链接。完成此操作后,您可以将应用与您的域相关联。

你会这样做:

  1. 将“关联域”权利文件添加到您的应用程序的XCode项目中,列出与您的应用程序关联的每个域; 和
  2. 使用您的应用支持的内容将apple-app-site-association文件上传到这些域中的每一个 - 请注意该文件必须在根级别和支持HTTPS的域上托管。

要了解有关支持Universal Link的更多信息,请查看Apple Developer指南。

第2步:向Google注册您的应用(使用适用于iOS 9的GoogleAppIndexing SDK)。

您需要使用CocoaPods依赖项管理器将App Indexing SDK添加到您的应用程序。有关分步说明,请查看Google开发人员指南。基本上它的作用是允许您向Google注册您的应用程序,就像Android应用程序通过Search Console注册一样。这也意味着Google现在可以阅读apple-app-site-association文件,以了解您的应用可以打开哪些网址。

第3步:测试您的实施。

您可以通过在iOS 9设备上点击Safari中的通用链接并检查它是否在您的应用中打开正确的位置来测试是否设置正确。

使用页面标记或站点地图将您的网页映射到您的应用

在为Android和/或iOS应用程序设置深层链接支持后,最后一步是使用支持的标记选项之一明确地将相应的网页标识到正确的应用程序屏幕。此步骤允许您更清楚地向Google表明给定页面与其相应应用程序链接之间的关系(如果您使用HTTP链接,这两者应该已经共享相同的URL)。按照此步骤还可以指示与Bing爬虫的关系,否则将无法看到应用程序内容,并允许Apple为您的iOS应用程序编制索引。

您可以使用link元素,使用schema.org标记(仅适用于Android)或XML站点地图在单个页面的头部进行此映射。

有关应用链接格式的说明

Android HTTP链接的格式使用以下格式:

android-app:// {package_name} / http / {host_path}

{package_name}是应用程序的“应用程序ID”,它是Google Play商店中引用的方式。因此,(示例)Gizmos应用程序的链接可能如下所示:

android-app:// com.gizmos.android / http / gizmos.com/example

对于iOS链接,您使用应用程序的iTunes ID而不是包名称。因此,iOS应用程序URL使用以下格式:

ios-app:// {itunes_id} / {scheme} / {host_path}

对于HTTP链接,{scheme}是“http”,这意味着您的URL将如下所示:

ios-app:// {itunes_id} / http / {host_path}

如何引用您的应用链接

注意:Google提供了有关当前支持的三种深层链接方法的指导

选项1:Link rel = alternate元素

要向单个页面添加应用程序链接引用,可以在页面的<head>中使用HTML <link>元素。

以下是一个示例,说明如果您同时拥有iOS和Android应用,

<HTML>

<HEAD>

...

<link rel =“alternate”href =“android-app://com.gizmos.android/http/gizmos.com/example”/>

<link rel =“alternate”href =“ios-app:// 123456 / http / gizmos / example”/> </ head>

<body> ... </ body>

选项2:Schema.org标记(目前仅在Android上受支持)

或者,如果您有Android应用程序,则可以使用schema.org标记对单个页面上的ViewAction潜在操作引用相应的应用程序链接。

以下是这可能看起来如何的示例:

script type =“application / ld + json”>

{

“@context”:“<a href="http://schema.org"> http://schema.org </a>”,

“@type”:“WebPage”,

“@id”:“<a href="http://gizmos.com/example"> http://gizmos.com/example </a>”,

“potentialAction”:{

“@type”:“ViewAction”,

“target”:“android-app://com.gizmos.android/http/gizmos.com/example”

}

}

</ SCRIPT>

选项3:将应用程序深层链接添加到XML站点地图

您可以在指定相关网页的<url>元素内的XML站点地图中使用<xhtml:link>元素,而不是标记单个页面。

以下是如果您同时拥有iOS和Android应用程序的示例:

<?xml version =“1.0”encoding =“UTF-8”?>

<urlset xmlns =“http://www.sitemaps.org/schemas/sitemap/0.9”xmlns:xhtml =“http://www.w3.org/1999/xhtml”>

<URL>

<LOC> http://gizmos.com/example </ LOC>

<xhtml:link rel =“alternate”href =“ios-app:// 123456 / http / gizmos / example”/>

<xhtml:link rel =“alternate”href =“android-app://com.gizmos.android/http/gizmos.com/example”/>

</ URL>

...

</ urlset>结束

附加信息 那些没有相应网页的应用程序呢?

不幸的是,在撰写本文时,Google并没有正式为没有相应网络内容的应用提供应用索引。然而,他们正试图朝着这个方向前进,并因此开始尝试使用一些具有“仅限app”内容的应用程序。如果您的应用程序仅包含应用内容,并希望将此内容编入索引,则可以使用此表单表示兴趣。

如何让我的应用程序在Bing中编入索引?

Bing支持两种用于将网页链接到应用链接的开放标准选项:

  1. 应用链接
  2. Schema.org

要了解有关如何实现这些类型标记的更多信息,请参阅Bing博客上的指南。

快速参考清单

Critchlow 最近在Searchlove London的演讲中谈到了应用程序索引。他为Android和iOS应用程序索引提供了两个有用的清单:

在iOS上,应用排名目前仅支持已安装在设备上的应用。Apple用户应该会看到搜索结果,其中包含已安装应用的链接,还包括上面提到的增强型显示元素。

此外,谷歌最近宣布,使用新的应用索引API进行深度链接的移动应用可能会在移动网络搜索中获得排名提升。他们在最新的操作系统更新(Android M)中发布了一个新的改进版Google即时版“Now on Tap”,它允许您在手机中搜索内容,而无需浏览您当前的任何应用程序(或网站)使用。问题是,app内容必须位于其索引中才能包含在“Now on Tap”搜索中。

这不只是谷歌; Apple正在实施自己的搜索索引版本,允许iOS9用户在不使用第三方搜索引擎的情况下搜索和发现网络和应用内容,Bing有自己的应用程序索引和排名方法,其他服务也不甘落后。

不过,本文将重点介绍如何设置Android和iOS应用以显示在Google搜索结果中。虽然应用程序索引的想法并不新鲜,但它是一个快速创新的领域,最近简化了将您的应用程序编入索引的过程。因此,该职位旨在简要介绍该流程,并作为当前可用信息的更新。

实施

好消息是,将相关标记添加到您的网站内容并将您的应用内容编入索引并在移动搜索结果中排名变得越来越简单。

基本过程只有三个步骤:

  1. 支持移动应用中的HTTP深层链接。对于iOS,您需要通过设置对“Universal Links”的支持来实现此目的。“Universal Links”是Apple所谓的HTTP链接,它具有单个URL,可以打开网站上的特定页面和应用程序中的相应视图。
    注意:此时,您可以向Google注册您的应用,将其与您的网站关联并停在那里 - 只要您使用相同的网址内容和应用内容,他们就应该能够自动抓取,编制索引,并尝试根据您网站的结构对您的应用内容进行排名。但是,实施应用程序索引并使用页面标记将Web内容显式映射到应用程序内容可以提供额外的好处并允许更多控制。因此,如果可能,我建议您遵循完整流程。
  2. 使用适用于Android的App Indexing API实施Google App Indexing,或者通过集成适用于iOS 9的App Indexing SDK。
  3. 使用单个页面上的rel = alternate链接元素,通过引用XML站点地图中的应用程序URL或使用schema.org标记,将您的网页显式映射到相应的应用程序屏幕。

您可以在下面找到有关此过程的逐步说明(分别查看Android和iOS)。

应用程序索引过程过去有点复杂,因为较旧的iOS版本不支持HTTP链接。相反,开发人员必须使用称为“自定义URL方案”的东西来链接到iOS应用程序内容。这意味着您必须为应用程序URL创建一个独特的方案,然后在应用程序代码中添加对这些方案的支持。

除了增加复杂性之外,自定义URL方案还有其他一些缺点,即:

  1. 不同的应用开发者可以声明相同的自定义URL方案,而使用HTTP链接,您可以将应用关联到特定的域或域集; 和
  1. 使用自定义URL方案,在未安装应用程序时点击URL会导致链接断开(因为它只链接到应用程序内的内容),而HTTP链接也是Web链接,如果是,则可以将用户带到网页未安装应用(只要应用视图和相应网页的网址相同)。

虽然您仍然可以使用自定义URL方案方法,但好消息是Google的App Indexing现在与iOS 9的HTTP深层链接标准兼容,Apple称之为“Universal Links”。

您仍应将标记添加到任何具有与特定应用屏幕相对应的内容的网页。可以把它想象为rel = canonical或类似移动交换机标签,但对于应用程序。请注意,当Google在他们认为相同的网页和应用页面之间找到​​链接时,他们会比较这两个页面,如果他们不相信内容,您将在搜索控制台中收到“内容不匹配”错误足够相似。

让Android应用在Google中编入索引 第1步:通过向清单添加意图过滤器,在您的应用中支持HTTP深层链接。

一个意图过滤器是指定的应用程序如何响应特定的行动方式。深层链接的Intent过滤器有三个必需元素:<action>,<category>和<data>。您可以从Google Developers中找到有关此内容的更多指导。以下是一个意图过滤器示例,它支持HTTP深层链接:

<intent-filter android:label =“@ string / filter_title_viewrecipes”>

<action android:name =“android.intent.action.VIEW”/>

<category android:name =“android.intent.category.DEFAULT”/>

<category android:name =“android.intent.category.BROWSABLE”/>

<data android:scheme =“http”

机器人:主机= “recipe-app.com”

android:pathPrefix =“/ recipes”/>

</意图滤波器>

</活动>

Noindex选项:
就像网站一样,您也可以为app内容添加noindex指令。在应用程序中包含noindex.xml文件,以指示不应将哪些深层链接编入索引,然后在应用程序清单(AndroidManifest.xml)文件中引用该文件。您可以在此处找到有关如何创建和引用noindex.xml文件的更多详细信息。

第2步:在Google Search Console中将您的应用与您的网站相关联。

这可以在Google Search Console中完成(您也可以从开发者控制台执行此操作)。只要您的应用设置为支持深层链接,从技术上讲,这一步就是让Google开始为您的应用编制索引。它允许Google通过尝试从您的网站结构中找出应用结构来自动为您的应用编制索引和抓取。

但是,如果您停在这里,您将无法控制Google如何理解您的内容,这就是建议将页面显式映射到应用版本的原因。此外,如果由于某种原因无法使用API​​,则需要确保Googlebot可以访问您的内容。您可以使用搜索控制台中的robots.txt测试工具测试一些深层链接,检查网站的robots.txt文件中是否正确配置了此文件。

第3步:使用App Indexing API实现应用程序索引。

使用App Indexing API绝对值得; 除此之外,使用API​​的应用程序应该会在移动搜索结果中获得排名提升,而且您无需担心Googlebot难以访问您的内容。

App Indexing API允许您注释有关您的应用程序中支持深层链接的活动的信息(如您的意图过滤器中所示)。有关如何进行此设置的详细信息,请参阅Google Developers指南。

第4步:测试您的实施。

您可以使用以下工具测试您的实施(始终在全新安装的应用程序!)。(在此处查找有关如何使用这些工具的更多信息。)

Android Debug Bridge - 从命令行测试深层链接

获取Google(搜索控制台) - 测试Google在抓取您的应用深层链接时看到的内容

您还可以在Search Console的搜索分析报告中跟踪这些深层链接的搜索流量。

让iOS应用在Google中编入索引 第1步:通过设置对“通用链接”的支持,在您的应用中支持HTTP深层链接。

要支持iOS应用中的通用链接,您需要首先确保应用通过采用UIApplicationDelegate方法(如果它尚未使用此协议)正确处理这些链接。完成此操作后,您可以将应用与您的域相关联。

你会这样做:

  1. 将“关联域”权利文件添加到您的应用程序的XCode项目中,列出与您的应用程序关联的每个域; 和
  2. 使用您的应用支持的内容将apple-app-site-association文件上传到这些域中的每一个 - 请注意该文件必须在根级别和支持HTTPS的域上托管。

要了解有关支持Universal Link的更多信息,请查看Apple Developer指南。

第2步:向Google注册您的应用(使用适用于iOS 9的GoogleAppIndexing SDK)。

您需要使用CocoaPods依赖项管理器将App Indexing SDK添加到您的应用程序。有关分步说明,请查看Google开发人员指南。基本上它的作用是允许您向Google注册您的应用程序,就像Android应用程序通过Search Console注册一样。这也意味着Google现在可以阅读apple-app-site-association文件,以了解您的应用可以打开哪些网址。

第3步:测试您的实施。

您可以通过在iOS 9设备上点击Safari中的通用链接并检查它是否在您的应用中打开正确的位置来测试是否设置正确。

使用页面标记或站点地图将您的网页映射到您的应用

在为Android和/或iOS应用程序设置深层链接支持后,最后一步是使用支持的标记选项之一明确地将相应的网页标识到正确的应用程序屏幕。此步骤允许您更清楚地向Google表明给定页面与其相应应用程序链接之间的关系(如果您使用HTTP链接,这两者应该已经共享相同的URL)。按照此步骤还可以指示与Bing爬虫的关系,否则将无法看到应用程序内容,并允许Apple为您的iOS应用程序编制索引。

您可以使用link元素,使用schema.org标记(仅适用于Android)或XML站点地图在单个页面的头部进行此映射。

有关应用链接格式的说明

Android HTTP链接的格式使用以下格式:

android-app:// {package_name} / http / {host_path}

{package_name}是应用程序的“应用程序ID”,它是Google Play商店中引用的方式。因此,(示例)Gizmos应用程序的链接可能如下所示:

android-app:// com.gizmos.android / http / gizmos.com/example

对于iOS链接,您使用应用程序的iTunes ID而不是包名称。因此,iOS应用程序URL使用以下格式:

ios-app:// {itunes_id} / {scheme} / {host_path}

对于HTTP链接,{scheme}是“http”,这意味着您的URL将如下所示:

ios-app:// {itunes_id} / http / {host_path}

如何引用您的应用链接

注意:Google提供了有关当前支持的三种深层链接方法的指导

选项1:Link rel = alternate元素

要向单个页面添加应用程序链接引用,可以在页面的<head>中使用HTML <link>元素。

以下是一个示例,说明如果您同时拥有iOS和Android应用,

<HTML>

<HEAD>

...

<link rel =“alternate”href =“android-app://com.gizmos.android/http/gizmos.com/example”/>

<link rel =“alternate”href =“ios-app:// 123456 / http / gizmos / example”/> </ head>

<body> ... </ body>

选项2:Schema.org标记(目前仅在Android上受支持)

或者,如果您有Android应用程序,则可以使用schema.org标记对单个页面上的ViewAction潜在操作引用相应的应用程序链接。

以下是这可能看起来如何的示例:

script type =“application / ld + json”>

{

“@context”:“<a href="http://schema.org"> http://schema.org </a>”,

“@type”:“WebPage”,

“@id”:“<a href="http://gizmos.com/example"> http://gizmos.com/example </a>”,

“potentialAction”:{

“@type”:“ViewAction”,

“target”:“android-app://com.gizmos.android/http/gizmos.com/example”

}

}

</ SCRIPT>

选项3:将应用程序深层链接添加到XML站点地图

您可以在指定相关网页的<url>元素内的XML站点地图中使用<xhtml:link>元素,而不是标记单个页面。

以下是如果您同时拥有iOS和Android应用程序的示例:

<?xml version =“1.0”encoding =“UTF-8”?>

<urlset xmlns =“http://www.sitemaps.org/schemas/sitemap/0.9”xmlns:xhtml =“http://www.w3.org/1999/xhtml”>

<URL>

<LOC> http://gizmos.com/example </ LOC>

<xhtml:link rel =“alternate”href =“ios-app:// 123456 / http / gizmos / example”/>

<xhtml:link rel =“alternate”href =“android-app://com.gizmos.android/http/gizmos.com/example”/>

</ URL>

...

</ urlset>结束

附加信息 那些没有相应网页的应用程序呢?

不幸的是,在撰写本文时,Google并没有正式为没有相应网络内容的应用提供应用索引。然而,他们正试图朝着这个方向前进,并因此开始尝试使用一些具有“仅限app”内容的应用程序。如果您的应用程序仅包含应用内容,并希望将此内容编入索引,则可以使用此表单表示兴趣。

如何让我的应用程序在Bing中编入索引?

Bing支持两种用于将网页链接到应用链接的开放标准选项:

  1. 应用链接
  2. Schema.org

要了解有关如何实现这些类型标记的更多信息,请参阅Bing博客上的指南。

快速参考清单

Critchlow 最近在Searchlove London的演讲中谈到了应用程序索引。他为Android和iOS应用程序索引提供了两个有用的清单:

所有文章
×

还剩一步!

确认邮件已发至你的邮箱。 请点击邮件中的确认链接,完成订阅。

好的