From the moment that Google mentioned the words ‘indexed apps’ and ‘ranking’ in the same sentence in February, it was clear that 2015 was going to be the year of the app (once mobilegeddon had passed, of course).
And it’s not just the traditional SEO industry that’s benefitting from the new focus on apps and content: new app deep linking methods from Facebook, Twitter and other third-party tools are making it easier to integrate your app content with your other digital marketing efforts.
Deep linking methods and tools: an intro
For the purposes of this guide we have focussed on app deep linking methods that have some sort of web element. All of these methods have their own markup and configuration, so it’s worth investigating all of the ones you require before implementing them.
We have provided links throughout the post to more information on implementation, rather than trying to cover all the different methods in one post.
- Google App Indexing (more information below): Get app content indexed in search results. Users can either view the content on the app if they have it installed, or install it if not.
- Facebook App Links (more information below): Allow users to access content that was shared from your app, using an app alternative to web content, or app-only content.
- Twitter App Cards: Create Twitter Cards to deep link to app content or allow users to install the app from a tweet.
- Bing App Linking: Show your app and its content in Windows 8.1 Smart Search and Windows Phone search.
- Deeplink.me: Build URLs for app content and link them from social media or external sites.
- Branch Metrics: Allow users to share deep linked app content, access app content from ads, see app content before they install, see personalized welcome screens and ‘text’ themselves the app from a desktop device.
Google App Indexing
Google’s App Indexing only works for Google mobile search. If the URL in the search results has a corresponding app version (and the user has the app installed on their device), Google will direct the user to the app page, instead of the web page.
If a deep-linked app is not installed on the user’s device, then Google will prompt them to install the app.
Google will eventually crawl app-only content independently from the web version, so at some point you won’t need to provide a corresponding page on the website to show up in Google’s search results. But at the moment you do.
Use the App Indexing API (Android apps only) to send just the page title and description and prevent Google having to crawl the whole page with web annotations.
App indexing as a Google ranking factor?
While no business should rush into the costly and demanding process of building an app just for a perceived SEO advantage, Google say that app indexing does affect mobile search rankings:
“For both Android and iOS users, App Indexing will influence ranking, whether or not the user has your app installed. This means that if your app is indexed, Google will use the content within your app as a signal in ranking, not just your web content.”
There is also an additional ranking boost available if you use the App Indexing API (only available for Android apps). Google’s Mariya Moeva has said this is because Google is able to collect additional engagement data (such as usage times and visited pages) to help determine how useful the app is to users.
Android and iOS implementation
Android apps can respond to regular HTTP requests and use them to deep link into apps. HTTP scheme is also a requirement for iOS apps, as Google’s Mariya Moeva mentioned in a recent Google Webmaster Hangout about App Indexing. Using HTTP scheme, you don’t need to markup your site — just set the app to respond to HTTP requests.
More information on setting up app deep linking for Android and iOS 9 is available at the Google Developers site:
- Google Developers: deep linking support for Android
- Google Developers: deep linking support for iOS 9
Common Issues
Not using direct content links, or different content on app/website
Make sure your content is the same on your app and your website, and only include direct content links in your deep linking (don’t link to ads or any other page type). App content can be shorter than the web version as Google can recognize it’s the same, but the more the app content tallies with the web content, the easier it is to get the content validated.
First Click Free
As with website content, make sure a user lands on the content they were searching for without having to go through a paywall, pop-ups or commercials.
Robots.txt file
Backend APIs need to be ‘unlocked’ in your Robots.txt file so Google can crawl the content in your app and check that the content is the same on the app page and web page.
Using native ARM code
Keep deep links that execute native ARM code out of your annotations, otherwise app deep linking might not work on all platforms.
Excluding URLs with noindex.xml
Use a noindex.xml file to specify URIs that you want to exclude from app deep links, in the same way as you would noindex URLs with a robots noindex tag.
However, you can only exclude using an exact URI (example: uri=”https://recipe-app.com/recipes/hidden_uri”).
Or just a beginning phrase (example: uriPrefix=”recipe-app://hidden_prefix”).
These restrictions mean the noindex.xml file is not as powerful as robots.txt and is harder to use with complicated setups.
MULTI-LANGUAGE CONTENT
Google currently supports two set-ups for content served in multiple languages:
- The website should have a unique URL for every language and there is one corresponding app deep link for each of these URLs.
- The website has unique URLs for each language but there is only one corresponding deep link: the app uses the system language to display the content in the user’s language.
Side note: a reminder about app interstitials…
While it’s tempting to promote your app as hard as possible now that there are SEO benefits relating to app indexing, bear in mind that using app install interstitials that get in the way of your web content can also have a negative effect on the search performance of your site as a whole (which could outweigh the ranking benefits of using app indexing in the first place).
Sites that hide too much content with app interstitials are no longer be considered mobile-friendly, which presumably means those sites will no longer have the mobile friendly tag in search results or the mobile-friendly ranking boost.
The mobile-friendly testing tool and the Search Console Mobile Usability report were updated in September to indicate whether a site is hiding too much content with an app install interstitial on the transition from a search result, so it’s worth double-checking that there are no issues on your site as soon as possible.
Managing app deep linking with Search Console, Google News Publisher Center and DeepCrawl
Search Console:
There are two ways to use Search Console to help monitor your app’s performance:
- Test whether Google can see your app and view the API response (title, description, API URL, etc) using the Fetch as Google for Apps tool. You can either test an APK version that has been published on Google Play or upload an unpublished APK version.
- Verify your Android app in Search Console and Google Play to compare and validate (not to discover) your app and its content. As of September 2015, you can compare how many people clicked on the search result links with the number who clicked on the search result ‘install app’ button. Verification and data for iOS is not yet available in Search Console.
Google News Publisher Center:
If your site is included in Google News, add your apps in the Google News Publisher Center in the Mobile Apps section to help Google News direct users to your app content.
DeepCrawl:
Use DeepCrawl’s Custom Extraction feature to find and analyze just the URLs that have app deep linking markup applied.
To use the feature, set up a crawl as normal and enter the relevant regexes in the Custom Extraction > Extraction Regex field under Advanced Settings:
alternate-android-app:href\s?=\s?['"](android-app://.*?)['"]
alternate-ios-app:href\s?=\s?['"](ios-app://.*?)['"]
You will then be able to analyze just the URLs that include the markup under the Extraction tab in your report:
More information on Google app deep linking:
- Google Developers Guide to App Indexing
- English Google App-Indexing office-hours hangout
- Webmaster Central Blog: Indexing apps just like websites (2013) and App Indexing updates (2014)
- Laurence Moroney’s interview with Jennifer Lin (Google App Indexing team)
- Stone Temple Consulting: Your Mobile App Questions Answered With Google’s Mariya Moeva
Facebook App Links
When someone shares content from within an app that has Facebook App Links applied, anyone clicking on that link will be able to access that content through the app. This can be done using an app alternative to existing web content, or app-only content, and works either from ‘web to app’ or ‘app to app’. The feature works with Android, iOS and Windows phones.
If the user clicking on the link does not have the app installed, they will be directed to the app store for their device or a web version of the same page if it’s available.
Implementation:
- For web content with an app alternative: add the required metadata to your page’s <head> tag.
- For app-only content: use Facebook’s App Links Hosting API to host your App Links.
Managing App Links with Facebook Insights and DeepCrawl
Facebook Insights:
Set up App Links analytics using Bolt SDK on iOS or Android. Once this is working, you’ll be able to view traffic and usage information in Facebook Insights.
DeepCrawl:
Use DeepCrawl’s Custom Extraction feature to find URLs that include Facebook App Links meta data and analyze how they behave.
To use the feature, set up a crawl as normal and enter the relevant regexes in the Custom Extraction > Extraction Regex field under Advanced Settings:
ANDROID URL: property="al:android:package" content="(.*?)" \/>$
ANDROID APP URL: property="al:android:url" content="(.*?)" \/>$
ANDROID APP NAME: property="al:android:app_name” content="(.*?)" \/>$
IOS URL: property="al:ios:url" content="(.*?)" \/>$
IOS APP STORE ID: property="al:ios:app_store_id" content="(.*?)" \/>$
IOS APP NAME: property="al:ios:app_name” content="(.*?)" \/>$
WINDOWS URL: property="al:windows_phone:url” content="(.*?)" \/>$
WINDOWS APP NAME: property="al:windows_phone:app_name” content="(.*?)" \/>$
WEB URL: property="al:web:url” content="(.*?)" \/>$
You will then be able to analyze just the URLs that include the markup under the Extraction tab in your report:
Further reading on Facebook App Links
Want More Like This?
We hope that you’ve found this post useful in learning more about app indexing.
You can read more about this topic in a Google Webmaster Hangout that covered app indexing.
Additionally, if you’re interested in keeping up with Google’s latest updates and best practice recommendations then why not loop yourself in to our emails?