Now with Google’s app indexing ranking signal, you can make the search of your target audience simpler and faster. How? Well, app indexing can help users find relevant contents that are present deep inside your app, direct from the search engine results page. This however, is not only available for users who have already installed your app, but even prospective users who have not yet installed your app. In a way, you not only engage better with your existing users but also increase the number of times your app gets installed by reaching new target prospects.
How Google’s App Indexing Works?
Suppose you have an app with incredible cooking recipes ideal for both beginners and for those who love to cook. Someone wants to learn how to make vegetable soup and so, when he/she searches the Internet for instructions, Google might find one of your app contents to be relevant for the search result. The search engine presents a deep link that can take your app user directly to the content present within the app. If the user does not have the app installed, then he/she can find an install button embedded along with the result on the SERP. The target can install it and gain access to the relevant information.
This is how it works and how you can take advantage of your newly developed app. Instead of waiting for someone to browse through the Play Store or the App Store, who may then check out and then decide whether your app is as relevant as its promise, app indexing uses deep links to give users a relevant experience.
Setting Up App Indexing On Android and iOS
Following are some of the basic steps you need to remember when enabling app indexing on Android and iOS –
For an Android App
Intent filters help Google to identify specific content present within your app, which are relevant enough to be brought on the SERP. Start by creating an intent filter for every deep link format that will launch the content of your app. You would need to create two intent filters if you have to support two type of formats like http://example.com and example://
Below are the elements that an intent filter should have:
The <action> tag – This tag is used to specify the <href=”#ACTION_VIEW” target=”_blank” data-mce-href=”http://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW”>ACTION_VIEW intent action so that the filter is easy to reach from Google Search engine.
The <data> tag – There should be a <data> tag for every URI format when an activity is accepted. At least, the minimum attribute that a <data> tag must include is android:scheme. There are other multiple attributes that you can add, in order to refine the URI type, which when accepted might seem similar but which differ from each other based on the name of the path.
The <category> tag – The <category> tag is used to define intent activities like DEFAULT and BROWSABLE.
BROWSABLE helps to execute an intent from the web browser. With the BROWSABLE, Google would not be able to find the path to an app. Instead, only the web mobile browser would respond to the URL.
DEFAULT on the other hand, helps an Android app to respond to any click made from a referral website. The intent that is used from the Google search results, includes your app’s identity. This points explicitly to the app as a recipient.
- Adding Code For Handling Intent Filters
When the intent filters are added to the AndroidManifest.xml, the app needs to read the data that is then passed down to your activity. You can retrieve the action and the data, associated with the incoming talent by calling the getAction( ) and the getData( ) methods.
The methods can be done any time, during the activity of the lifetime. However, it is generally done during the early callbacks like onCreate( ) and onNewIntent.
- Restriction of Access To Certain Content
You might want to prevent Google to index certain parts within your app. You can indicate Google which deep links to avoid indexing by including the noindex.xml file in the Android app. Then, put this file as a reference in the application section of the application’s AndroidManifest.xml file.
To Create a noindex.xml file
You can do this by creating an XML file (res/xml/noindex.xml) and then putting in the XML resource directory of the application.
To Reference a noindex.xml file
After adding the noindex.xml file, you can use it to reference in the application section of your app’s AndroidManifest.xml file.
In order to get your app indexed consistently, make sure the noindex.xml file is included in almost every version of your app that is published in the Google Play Store.
For an iOS App
- Declaration of Support For the Custom URL Schemes
In order to declare support for a custom URL scheme, update the Info.plist. There is also the need to make a declaration of support for a customized scheme in order to support app indexing.
- Handling of Incoming URLs That Make Use of Custom Schemes
Once you are done with your declaration of the custom schemes, which your apps can handle in the Info.plist, you need to implement the exact methods that can handle the incoming URLs of the schemes.
The final stage is to add back bar support for the search deep links, for which you can refer to Google’s App Indexing tutorial to learn more.
Some Technical Requirements To Get Started With –
- Can be developed on apps having a minsdkVersion of not higher than 17.
- Available on searches that support the Chrome for Android 4.1+ and Google app 2.8+ versions.
- Available for ‘signed in’ users.
- Developed in iOS 8 with a SDK base.
- Available on searches that support the Chrome for iOS and Google app 5.3+ version.
- Available for ‘signed in’ users.
Hi friends, This is Debarup Mukherjee, a Digital Marketing Specialist, SEO Consultant & Blogger. I have over 7 years experience in Digital Marketing. I love to write on technology and SEO. I have built many blogs, one of them is Techno World News
, specially for Technology & Internet. Hope everyone like and enjoy this blog and get valuable information which you can share with your friends. You can ask me anything on my Twitter
Latest posts by Debarup Mukherjee (see all)