Growing a Native iOS or Android App Business with Traditional Web SEO

There has never been a simpler, more powerful platform for software engineers to build and deploy applications. Native iOS and Android have fostered an incredible community of tutorials, sample code and development environments like Xcode and Android studio. Combine these developer resources with the ease of deploying software to an application store that reaches billions of people around the globe, and you’ve got a recipe for a compelling software platform.

But because of its accessibility and power, native apps have proliferated and completely saturated the application stores to the point where it’s practically impossible to be discovered. Looking at the launch screen of the Apple App Store, you’ll see about 10 apps on display. Many of these are apps that have been live for years and are being featured repeatedly. Meanwhile, there are 15,000 new applications launching in the Apple App Store each week.

As an app developer myself, I was always envious of SEO (search engine optimization) that websites benefitted from. As a web developer, you could build a specific landing page filled with content, targeting a niche set of keywords that were being searched on Google or Bing, then start appearing near the top of the search results. This landing page could be tangentially related to your web app and you could build thousands of them to suck up as much niche search traffic as possible. All of these would reside on your web app and be different but productive channels of acquiring new users for your business.

This is very much a representation of the app discovery model that exists today:

App Discovery

Native apps could never leverage this tactic because there’s no way to index that content and drive app installs without building a website of your own. Google launched App Indexing a few years ago, but it requires you to build a website and their entire search index is still based on traditional website rankings. So, repeatedly, we’ve seen developers who tried to use their App Indexing product but found that their content never appeared in search. This meant the only way it’d work is to actually build a website and grow it, then use that traffic to drive app installs.

The days of struggling with growth are over. I’m excited to unveil a new tool on the Branch platform that will help you grow your mobile app business. Web SEO and content marketing for native apps is finally here. What is it? It’s a complex system that works to ensure your app has a web presence benefiting from modern day SEO tactics, without you having to build a web page.

Here’s the model of what’s possible with our new app SEO platform:

Content Discovery

First, I need to explain a bit about how Branch works. When you use Branch, we start hosting your links on our servers. We give you a custom subdomain like yourapp.app.link. When a user clicks on your Branch links, we redirect them to the best place: your app or the App Store page. The system works as follows:

    1. Branch dynamic deep links are created with all relevant content metadata for all your app “pages” through standard Branch usage (sharing is a good feature to get started with)
    2. Branch will automatically create a sitemap file with all of your relevant content hosted on your Branch domain (yourapp.app.link/sitemap.xml)
    3. A search robot (like Googlebot) will crawl the sitemap and find your Branch links
    4. Branch sends back an AMP-enabled page with the content for indexing, so you get the boost that Google is giving AMP-enabled pages now
    5. App page content starts appearing in search results without you needing to build a site

With this system, you can enable the following user app discovery flow, where a new user finds your app entirely based on the pages within.

App Pages

How can you get started? It’s very simple, so let me walk you through the basic, high-level steps.

Step 1: Add the Branch SDK

You can drop the Branch library into your app in under a couple minutes. We support all major platforms and full instructions can be found on this page.

Step 2: Setup Deep Link Routing

Branch works by calling a deep link routing function every time the app opens up. This routing function is where you put your logic to open to the correct page in your app depending on what is passed through to you via the params dictionary. The general logic should be: if params contains a recognizable key (like product_id or image_id), launch the appropriate page to display the value present for that key. If there’s no recognizable key, that means the user didn’t click a link and they should be sent to the home page or the previous page they were browsing.

Step 3: Add Branch Link Sharing

This step is critical for Branch to correctly index your content to list on search portals with our hosted links. The sample code on how to do it is present in this section of the docs. The high-level concept is that you create a “Branch Universal Object” that contains all of the properties of your content: a title, a description and an image url. This is how Branch knows what to display to the search robot.

Note, that is Branch doesn’t actually receive the data from the Branch Universal Object until you take an action on the object. We recommend that you outfit your app to use our share sheet, which will create a Branch link whenever a user goes to share. However, if you’re not interested in sharing and want to populate the index as fast as possible, you can just register a view every time a user loads the page of that item. The code to register a view is quite simple.

Step 4: Enable App Indexing on the Branch Dashboard

Now that you’re creating Branch deep links, we can effectively start indexing your content for search providers. The last step is to opt in to this service we provide. Simply head to the Link Settings on the Branch dashboard and scroll to Third Party Integrations. Check the box that says “Automatic sitemap generation” as shown below:

Automatic Sitemap

Now that you’ve enabled it, check back in a day or so to see the results. You can observe what Google has crawled from your links by heading to the Branch Summary Page and scrolling down the bottom. Here’s an example of what you’d observe:

Google App Indexing Status

Check out this and more awesome features on our homepage. Get started today!