How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

58
#SMX #31A @Suzzicks How to Get Your Apps Indexed & Ranking ASAP! What You Need To Know About Google App Indexing Cindy Krum, CEO, MobileMoxie SMX West 2016

Transcript of How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

Page 1: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @SuzzicksHow to Get Your Apps Indexed & Ranking ASAP!

What You Need To Know About Google App IndexingCindy Krum, CEO, MobileMoxieSMX West 2016

Page 2: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

App Discovery & App Content Discovery Have Both Been Historically Problematic for Google Indexing

Page 3: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

What is App Indexing?

Page 4: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Deep App Links Go to Apps

Page 5: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

App Links Go to App Stores

App Packs Store Listing App SingleYouTube Daily Mail/Mail

OnlineYelp

Page 6: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

App Packs ≠ Deep Links

But Deep Links are a Small Ranking Factor for App Pack Results.

Page 7: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

iOS App-Installed User Experience

App Deep Link Corresponding Web Link

Page 8: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

XiOS App-NOT Installed User Experience

No App Store Landing Page Corresponding Web Link

Page 9: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Android App-Installed User ExperienceApp Deep Link Corresponding Web Link

Page 10: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Android App-NOT Installed User ExperienceNo Google Play Landing PageCorresponding Web Link

X

Page 11: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

So What are the Benefits of App Indexing?

Page 12: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

• Main Benefits

• App Discovery – More Opportunities• Deep App Content Discovery – New Possibility• Marketing & Sharing in Non-Search Context (Email, Social, etc)• Web/App Rankings – Algorithmic Boost – Single or Double

• Potential Future Benefits• Inclusion in for App Streaming (Later)• Hedge Against Potential Future Non – Parity App Rankings

(https://developers.google.com/app-indexing/app-only)

So What are the Benefits of App Indexing?

Page 13: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Apps Are A Big Deal

60% of this Time is in Communication & Media Apps

Page 14: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

A Few Apps Get a Bulk of the Visitors

Page 15: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Things to Think About Before You Start:

1.Website Parity2.Public vs. Private3.Indexing Method

Page 16: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Things to Think About Before You Start:

1.Website Parity2.Public vs. Private3.Indexing Method

Page 17: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Party Time?

Page 18: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Page 19: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

It All Starts with Parity Between App & Website

Home

Category

Category

Sub -Categor

yEnd-Level

Category

TOS

Home

Category

Category

Sub -Categor

yEnd-Level

Category

TOS

Web Url App Screen

Page 20: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

It All Starts with Parity Between App & Website

Home

Category

Category

Sub -Categor

yEnd-Level

Category

TOS

Home

Category

Category

Sub -Categor

yEnd-Level

Category

TOS

Web Url App Screen

Page 21: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

It All Starts with Parity Between App & WebsiteWeb Url App

Uri

Page 22: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

It All Starts with Parity Between App & WebsiteWeb Url App

Uri

Page 23: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Parity vs. Non-Parity ContentWeb Url

App Uri

Web Content Missing from the App

Page 24: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks24

Things to Think About Before You Start:

1.Website Parity2.Public vs. Private3.Indexing Method

Page 25: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

2 Kinds of Deep Links

Page 26: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

2 Kinds of Deep Links

Publicly Indexable:Static Navigational Deep Links

Corresponds to Primary Navigation or Publicly Indexable User Flow

Submitted via the Google API

Privately Indexable:User-Determined, Non-Navigational Links Privately Indexed Screens,

Only Indexed Once Accessed by the Logged in User– Google’s Private Index on Android– Google’s Private Index on iOS

Chrome– Apple’s Index in Mobile Safari via

NSUserActivity

Page 27: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Private Index Pages:• Shopping Cart• Personal

Dashboard• History• Personal

FavoritesPRIVATE

Private vs. Public IndexingWeb: App:

Page 28: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Things to Think About Before You Start:

1.Website Parity2.Public vs. Private3.Indexing Method

Page 29: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Understanding Android App Developer-Speak

Intent: A bundle of technical information describing a desired activity in an app. These can be explicit, for behavior within the app, or implicit, for broader interaction with other apps like phone books, browsers or chat/SMS clients.

Intent Filter: How app components advertise their capabilities to interact with various intents.

Activity: Represents a single screen in the app.

Fragment: A portion of an Activity in the user interface. These are often used to accommodate and re-configure app presentation for different screen sizes and orientations.

Page 30: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Understanding iOS App Developer-SpeakXcode: Xcode is the Apple software interface where you type your app code, compile it and execute (run) it.

Plist: Flexiable XML files where you can store information about your application.

Method: Represent the actions that an object knows how to perform. They're the logical counterpart to properties, which represent an object's data

CocoaPods: Centralized dependency manager, libraries and ecosystem for Xcode projects. The dependencies for your projects are specified in a single text file called a Podfile

CoreSpotlight & NSUserActivity: Allows Apple (but not Google) indexing of key app screens based on the app navigation and specific instances within app screens based on actual use of the app

Google App Indexing SDK: Translates information from CoreSpotlight (and possibly NSUserActivity) into Indexable information that can accommodate Googles App Indexing API

Page 31: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

How Do You Set Up Deep Links?

Markup to Link Web Urls w/ App URIs in HTML or in XML Sitemaps

Google App Indexing API (HTTP Urls, Android M Urls & Universal Links)

Page 32: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

How Do You Set Up Deep Links?

Markup to Link Web Urls w/ App URIs in HTML or in XML Sitemaps

Google App Indexing API (HTTP Urls, Android M Urls & Universal Links)

Easiest for

SEO’s

Page 33: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

How Do You Set Up Deep Links?

Markup to Link Web Urls w/ App URIs in HTML or in XML Sitemaps

Google App Indexing API (HTTP Urls, Android M Urls & Universal Links) Easiest for

App Developers!

Page 34: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

How Do You Set Up Deep Links?

Markup to Link Web Urls w/ App URIs in HTML or in XML Sitemaps

Google App Indexing API (HTTP Urls, Android M Urls & Universal Links)

Easiest for

SEO’s

Page 35: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Deep Linking Markup Connects App Screens w/ Web Pages Website:

<link rel="alternate" href="android-app://com.gizmos.android/http/gizmos.com/example" /><link rel="alternate" href="ios-app://123456/http/gizmos/example" />

App: Enable App Deep Link schemes in your app - ideally with HTTP Schemes in Android, and Universal Links in iOS.

JADON-LD Libraries like http://mobiledeeplinking.org/ can be used to make this process easier with pattern matching, wild cards and regular expressions

http://www.domain.org/product/123 domain://product/123

Page 36: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Adding in-App Markup for Deep Link Optimization

Page 37: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

• You can include Deep App Links as Rel=“Alternate” in your XML sitemap too

Deep Links in Sitemaps

Page 38: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

How Do You Set Up Deep Links?

Markup to Link Web Urls w/ App URIs in HTML or in XML Sitemaps

Google App Indexing API (HTTP Urls, Android M Urls & Universal Links) Easiest for

App Developers!

Page 39: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Set Up Universal Links, App Indexing SDK & Add Site AssociationFile to the Web Server

App Indexing Elements by OS

App Indexing API

OR

Do Nothing

CocoaPods

=

=

+

+ +

Page 40: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Using the Android App Deep Linking API

Update the App Code to include Google Play Services Upload App Association file to HTTPS Web Serverhttps://domain[:optional_port]/.well-known/assetlinks.json

Define Indexable Activities in the App– View/Search/Watch/Like/Listen/Reserve, Etc.

(https://developers.google.com/android/reference/com/google/android/gms/appindexing/Action)

Modify App Activities with proper API Annotation – Each Activity Includes:– Title & Description– Web Url, Multiple Web Urls or ‘Null’

Verify in Search Console – If Live, Also Check https://history.google.com/history/ from a Device that Used the App

*No Web Components Required - Will Probably Work When Google Begins Indexing Non-Parity Content

Page 41: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Noindex.XML for Blocking App Indexing on Certain Screens

• Blocks certain aspects of the app from Google indexing

• Save it here: res/xml/noindex.xml• Reference it from the AndroidManifest.xml with

this: <meta-data android:name="search-engine" android:resource="@xml/noindex"/>

• The XML looks like this:

Open For Indexing

Private – Indexable to the Private Index

Noindex– Blocked from all Indexing

Page 42: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

App Indexing Elements by OS

App Indexing API

OR

Just Don’t Block Crawlers

Set Up Universal Links, App Indexing SDK & Add Site AssociationFile to the Web Server

=

=

+

+ +CocoaPods

Page 43: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

App Indexing Elements by OS

App Indexing API

OR

Just Don’t Block Crawlers

Set Up Universal Links, App Indexing SDK & Add Site AssociationFile to the Web Server

=

=

+

+ +CocoaPods

Page 44: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Setting Up iOS App Indexing with the SDK

Setup Universal Links – App Code: List domains that will get deep links from your app in the

proper Xcode entitlement (com.apple.developer.associated-domains)

– Website: Create apple-app-site-association file for each domain that gets deep links from your app & upload to your HTTPS webserver http:///apple-app-site-association

App Code– Setup CocaoPods – Call the RegisterApp method in the FinishedLaunching method

like this: AppIndexing.SharedInstance.RegisterApp ("YOUR_ITUNES_ID");– Add Google’s App Indexing SDK

All Google is Crawling is the App Site Association File, so Keyword Relevance for Deep App Links is Based on Keywords in the Web Content

Page 45: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Visual for iOS App Indexing

Website & Server App Code FilesCocaoPodsWebsite Markup:

Schema, OG Tags, Twitter Cards & AppLinks.org

Apple-app-site-indexing file on HTTPS Web Server at http:///apple-app-site-association

Google AppIndexing SDK

RegisterApp with Google in the FinishedLaunching method

List web domains that get deep links from your app in the Xcode entitlement (com.apple.developer.associated-domains)

Page 46: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

SUMMARY: App Indexing for Android vs. iOSAndroid iOS

Step 1:

Create Web Parity with Your App & Add Web Markup

Step 2:

Set up Deep Links in Your App Manifest

Set up Universal Links. Add Cocao Pods & the App Indexing SDK Pod

Step 3:

Optimize Deep Links in the App with API Markup

Optimize Web Markup*

Step 4:

Submit Deep Links for Pre-Launch Crawling in Google Search Console &

Fix Errors

Say a meaningful prayer to the god of your choice and/or grab a doughnut

Step 5:

Go Live & Verify Proper Indexing & Behavior from SERPS*Doh! Google can’t actually crawl or extract information from iOS apps, so all keyword relevance

comes from the markup on the corresponding web pages. This includes page meta data, Twitter Cards, OG Tags, Schema.org & AppLinks.org markup.

Page 47: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

NEW: Android M Deep Link Indexing (Not the OS)

• Ambiguous & Announced to Developers but Not Explained to Webmasters Yet• Seems Like Just Android• Seems Useful for iOS too…

• Uses an HTTP or HTTPS link scheme

• Declare the Website-App Association by hosting a Digital Asset Links (App Association) file assetlinks.json

• Use the autoVerify attribute in the manifest to associate the App URI’s with the Web URLs for Google

Page 48: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Deep Link Ranking Factors

Positive Ranking FactorsInstallation StatusApp Indexing API (Android)Good Technical ImplementationWebsite/SEO SignalsPositive Engagement (Soon)

Negative Ranking FactorsContent Mis-MatchTechnical ErrorsInterstitialsInstallation Status (Esp for iOS)Negative Engagement (Soon)

+ -

Page 49: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

What Breaks Deep Links?

• Blocking GoogleBot on Your Website

• Forgetting to Deep Link Pages on an mDot subdomain, Mobile Subdirectory & other Subdomains

• Android Users Signed into the Wrong Account

• Apple Products and Policies• Bad Custom Url Schemes

Page 50: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Improving Deep Links for Better Integration with Google Now on Tap (The Assistant)

Deep Links Can Surface in Now on Tap for Android Phones Running Marshmallow

Page 51: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Driving Contextual Results from Now on Tap

Providing Global App Context• Enhances Results & Cross-App

Behavior by Adding Actions Like Play, Email, Photo to the Search Result

• Update the App to Include Schema.org Markup in JASON-LD

• Some of this Can Happen Naturally if the App is Considered ‘Accessible’

Page 52: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Android App Accessibility

1. Fill in the android:contentDescription attribute. Pay particular attention to ImageButton, ImageView and CheckBox

2. Accompany all audio prompts with visual prompts

3. Enable navigation gestures and directional controlling for input fields & user interface elements

4. Integrate with Android Accessibility API’shttp://developer.android.com/guide/topics/ui/accessibility/apps.html

5. Check out Google’s Accessibity Checklisthttp://developer.android.com/training/accessibility/testing.html

Page 53: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Now on Tap Ranking Signals• Ranking signals appear to

be heavily weighted in favor of social signals – Notice that Lance Ulanoff is out ranking me, even on my own Twitter page.

• Also notice, Now on Tap has not indexed my Twitter account, Google+ Account or Images to my name.

Page 54: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Deep Link to Previously-Viewed ‘Calafia Café’ Screen in the Zagat App

Android App Indexing APINow on Tap Can also Surface Privately Indexed Content that is Not Available for Public Indexing

Page 55: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

Further Reading for a Deeper Understanding of Deep Linking

@Goutaste

http://searchengineland.com/app-indexing-new-frontier-seo-apple-search-ios-app-indexing-223880

http://searchengineland.com/app-indexing-new-frontier-seo-google-search-deep-linking-226517

Page 56: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

http://searchengineland.com/android-marshmallow-seo-series-sponsored-google-now-cards-23-234719

http://searchengineland.com/android-marshmallow-seo-series-googles-private-index-screen-crawling-234711 @Suzzicks

Further Reading for a Deeper Understanding of Android Marshmallow & Now on Tap

Page 57: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @Suzzicks

bit.ly/universal-links-tool

Page 58: How to Get Your Apps Indexed and Ranking ASAP By Cindy Krum

#SMX #31A   @SuzzicksSEE YOU AT THE NEXT #SMX

THANK YOU!

2 Months Free Deep Link Validator Tool AccessPromo Code: SMXWEST16