为索引指定App内容
最后更新于:2022-04-01 01:44:09
> 编写:[Lin-H](https://github.com/Lin-H) - 原文: [http://developer.android.com/training/app-indexing/enabling-app-indexing.html](http://developer.android.com/training/app-indexing/enabling-app-indexing.html)
Google的网页爬虫机器([Googlebot](https://support.google.com/webmasters/answer/182072?hl=en))会抓取页面,并为Google搜索引擎建立索引,也能为你的Android app内容建立索引。通过选择加入这一功能,你可以允许Googlebot通过抓取在Google Play Store中的APK内容,为你的app内容建立索引。要指出哪些app内容你想被Google索引,只需要添加链接元素到现有的[Sitemap](https://support.google.com/webmasters/answer/156184?hl=en)文件,或添加到你的网站中每个页面的`<head>`元素中,以相同的方式为你的页面添加。
你所共享给Google搜索的深度链接必须按照下面的URI格式:
~~~
android-app://<package_name>/<scheme>/<host_path>
~~~
构成URI的各部分是:
-
**package_name** 代表在[Google Play Developer Console](https://play.google.com/apps/publish)中所列出来的你的APK的包名。
-
**scheme** 匹配你的intent filter的URI方案。
-
**host_path** 找出你的应用中所指定的内容。
下面的几节叙述如何添加一个深度链接URI到你的Sitemap或网页中。
### 添加深度链接(Deep link)到你的Sitemap
要在你的[Sitemap](https://support.google.com/webmasters/answer/156184?hl=en)中为Google搜索app索引(Google Search app indexing)添加深度链接的注解,使用`<xhtml:link>`标签,并指定用作替代URI的深度链接。
例如,下面一段XML代码向你展示如何使用`<loc>`标签指定一个链接到你的页面的链接,以及如何使用`<xhtml:link>`标签指定链接到你的Android app的深度链接。
~~~
<?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>example://gizmos</loc>
<xhtml:link
rel="alternate"
href="android-app://com.example.android/example/gizmos" />
</url>
...
</urlset>
~~~
### 添加深度链接到你的网页中
除了在你的Sitemap文件中,为Google搜索app索引指定深度链接外,你还可以在你的HTML标记网页中给深度链接添加注解。你可以在`<head>`标签内这么做,为每一个页面添加一个`<link>`标签,并指定用作替代URI的深度链接。
例如,下面的一段HTML代码向你展示如何在页面中指定一个URL为`example://gizmos`的相应的深度链接。
~~~
<html>
<head>
<link rel="alternate"
href="android-app://com.example.android/example/gizmos" />
...
</head>
<body> ... </body>
~~~
### 允许Google通过你的app抓取URL请求
一般来说,你可以通过使用[robots.txt](https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt)文件,来控制Googlebot如何抓取你网站上的公开访问的URL。当Googlebot为你的app内容建立索引后,你的app可以把HTTP请求当做一般操作。但是,这些请求会被视为从Googlebot发出,发送到你的服务器上。因此,你必须正确配置你的服务器上的`robots.txt`文件来允许这些请求。
例如,下面的`robots.txt`指示向你展示,如何允许你网站上的特定目录(如 `/api/` )能被你的app访问,并限制Googlebot访问你的网站上的其他目录。
~~~
User-Agent: Googlebot
Allow: /api/
Disallow: /
~~~
学习更多关于如何修改`robots.txt`,来控制页面抓取,详见[Controlling Crawling and Indexing Getting Started](https://developers.google.com/webmasters/control-crawl-index/docs/getting_started)。