Google wants to be able to deliver anything you are looking for in search results. So why not applications? Question no more, Google has now made it possible to get your Google apps indexed! This is an exciting new piece of content which will be available. Let’s dive into it.
According to Google, they are now “working with app developers and webmasters to index the content of apps and relate them to websites. When relevant, Google Search results on Android will include deep links to apps.”
So basically, app indexing allows you to connect pages on your site with specific content on your smartphone application. When you do this, it allows users who have your app installed on their phone to open it directly from Google mobile search.
Google provides the following example.
“For example, imagine you run a recipe website and have an app that can also show your recipe. Thanks to the app indexing feature, when a Google searcher on a mobile device is shown one of your recipes as a search result, they will now be able to open that result directly in your app if they have it installed.”
What is interesting about this is that it gives preference to the application over the web page, right? So if the user has an app, it will open it in the app and not through a browser.
This search feature is only possible right now using Google Search App version 2.8+ for Android 4.1+, and in mobile browsers on Android if the user is signed in.
Technical Details for Mobile App SEO
There is markup that you need to add to your application and to your website. This process is very similar to annotations done when you have a mobile website on a subdomain.
- Annotating app links for each page on your website (or through sitemap) that can be opened in your app to specify how the page’s content can be opened in the app.
- Adding intent filters for deep linking in your app manifest to specify how to reach specific content inside your app.
Google notes that you need to have proper robots.txt configuration for your application if you want this to work.
How to Accomplish this Google App SEO Goal
Google offers two ways to specify the app and website relationship.
Option 1: Link rel=alternate elements in HTML
Add an annotation in the head.
<html>
<head>
…
<link rel=”alternate” href=”android-app://com.example.android/example/gizmos” />
…
</head>
<body> … </body>
Option 2: Link rel=alternate elements in XML Sitemaps
You can also annotate your site.
<?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://www.example.com/gizmos</loc>
<xhtml:link rel="alternate" href="android-app://com.example.android/gizmos" />
</url>
...
</urlset>
Please note, the link element specifies an alternate URI. This is taken directly from Google documentation.
android-app://{package_id}/{scheme}/{host_path}
Where:
- package_id: application ID as specified in the Android Play Store.
- scheme : custom Scheme to be passed to application.
- host_path: identifies the specific content within your application.
Adding Intent Filters
If you are not familiar with intent filters, you can learn about them here. In order for Google to index the content in your app you need to add them. According to Google, here is how to specify a deep link with an intent filter.
- In your Android manifest file, add one or more <intent-filter> elements for the activities that should be launchable from Google search results.
- Add an <action> tag that specifies the ACTION_VIEW intent action.
- Add a <data> tag for each data URI format the activity accepts. This is the primary mechanism to declare the format for your deep links.
- Add a <category> for both BROWSABLE and DEFAULT intent categories.
- BROWSABLE is required in order for the intent to be executable from a web browser. Without it, clicking a link in a browser cannot resolve to your app and only the current web browser will respond to the URL.
- DEFAULT is not required if your only interest is providing deep links to your app from Google search results. However, the DEFAULT category is required if you want your Android app to respond when users click links from any other web page that points to your web site. The distinction is that the intent used from Google search results includes the identity of your app, so the intent explicitly points to your app as the recipient — other links to your site do not know your app identity, so the DEFAULT category declares your app can accept an implicit intent.
Once an app has the correct intent filters and link elements, Google can show a prompt such as Open in App. This will allow people to find your app through search! You can learn more about Google app SEO here.
Here are a few common questions answered to ease your mind…