Introducing a Firebase App Indexing Validator

Currently, organic traffic is a huge source of traffic on websites, and as the mobile industry grows, apps are hoping to imitate this success. App Indexing will likely become a very valuable source of traffic for developers. In fact, mobile web recently passed desktop as the platform with the most search volume. Although most of those searches currently link to mobile web results, App Indexing has started to allow developers to link to their app from search, where users are more engaged. As a mobile deep linking company, we’ve had a lot of partners ask us about the benefits of app indexing, and if it’s worth the effort to implement.

In short, App Indexing is essentially the mechanism by which your app’s content and activity is indexed by Google search. When Google scrapes links or content associated with your app, it gets indexed. When you content is indexed, it has the ability to show up on relevant search results pages, right alongside your current web traffic.

Although it’s similar to Spotlight Search in that it’s still an unproven channel, you can trust that Google’s Firebase will be spending a lot of time to improve this channel. Not only will it improve the mobile experience for end users, for app developers it can:

  • Promote discoverability
  • Enable specific content searchability and discovery
  • Influence site and app ratings

Because of these benefits, one of Branch’s goals is to make App Indexing as easy and beneficial as possible for developers. Throughout the past few months we’ve launched a few guides and tools along these lines. First, we created a step-by-step guide to integrating App Indexing for innovative developers who wanted to test App Indexing in its early stages. Once App Indexing became a common request of developers on the Branch platform, we created automatic App Content Sitemaps for anyone using Branch to deep link to app content, allowing you to see the number of links in your sitemap and the number of times it was scrapped by Google. Now, as we’ve started to see a few installs coming from App Indexing, we’ve created an App Indexing validator to make the process of testing your Firebase App Indexing setup as easy as possible.

Branch’s New App Indexing Validator

Similar to the Universal Links validator, the Firebase App Indexing validator allows you to determine if and how you’re currently being indexed. By simply entering your URL and App Store ID, it can provide information on how you can improve your App Indexing setup to have a more visible presence in the mobile ecosystem.

Branch's App Indexing Validator

This tool will help you check to see if your app and site are indexable by Google, and if your site is scrapable by Google bots. In future versions, we’ll also check your sitemap for App Links.

How Does the Firebase App Indexing Validator Work?

When you enter your URL and package name or App Store ID, we’ll test that:

  1. Your site’s headers contain the correct tags for App Indexing (these are the ‘alternate’ tags that refer to deep app links). We’ll test for both iOS and Android and provide relevant results based on the platform you use.
  1. Your robots.txt exists, and that it permits scraping by Google bots — allowing you to be indexed by Google. It checks that:
    1. Your robots.txt file exists.
    2. Your user-agent permissions include Google bots.
    3. The ‘allow’ and ‘disallow’ statements in your robots.txt file give permissions to Google bots. These determine what sites are prevented or promoted tGoogle to scrape. You’ll want to make sure you don’t disallow any of the important content you’re trying to index.
  1. Your assetlinks.json is enabled for App Links. This checks:
    1. That your assetlinks.json file is hosted at “/.well-known/assetlinks.json” and that we can retrieve it.
    2. The package name entered is valid and exists in assetlinks.json.
    3. That there are no server-side and client-side errors when we try to access your assetlinks.
    4. That your file’s ‘content type’ header is valid
    5. That your file is valid JSON
    6. That your relation declaration validates correctly*
    7. That there’s a namespace for an Android app (this is a required line for Android)*
    8. or the SHA256 fingerprints of your app’s signing certificate*

If you want more guidance on how to set up Android app links with Branch, here’s a great guide.

App Indexing in the Future

Although we understand that App Indexing is still relatively unproven and limited in it’s functionality, we see its immense potential as a user acquisition channel. As a result, we’d like to equip all developers with the tools necessary to index their app and start driving new installs. As the standards for App Indexing change, we’ll continue to update this tool with the most up-to-date information. We’ve build this tool to be open-sourced, and welcome any suggestions App Indexing Validator repo.

*For more information on App Indexing setup requirements by Google see here.