Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,041 views

Published on

From the SMX West Conference in San Jose, California, March 1-3, 2016. SESSION: What You Need To Know About Google App Indexing. PRESENTATION: How to Get Your Apps Indexed and Ranking ASAP - Given by Cindy Krum, @suzzicks - MobileMoxie, CEO. #SMX #31A

Published in: Mobile

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

  1. 1. #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
  2. 2. #SMX #31A @Suzzicks App Discovery & App Content Discovery Have Both Been Historically Problematic for Google Indexing
  3. 3. #SMX #31A @Suzzicks What is App Indexing?
  4. 4. #SMX #31A @Suzzicks Deep App Links Go to Apps
  5. 5. #SMX #31A @Suzzicks App Links Go to App Stores
  6. 6. #SMX #31A @Suzzicks App Packs ≠ Deep Links But Deep Links are a Small Ranking Factor for App Pack Results.
  7. 7. #SMX #31A @Suzzicks iOS App-Installed User Experience App Deep Link Corresponding Web Link
  8. 8. #SMX #31A @Suzzicks iOS App-NOT Installed User Experience No App Store Landing Page Corresponding Web Link
  9. 9. #SMX #31A @Suzzicks Android App-Installed User Experience App Deep Link Corresponding Web Link
  10. 10. #SMX #31A @Suzzicks Android App-NOT Installed User Experience No Google Play Landing Page Corresponding Web Link
  11. 11. #SMX #31A @Suzzicks So What are the Benefits of App Indexing?
  12. 12. #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?
  13. 13. #SMX #31A @Suzzicks Apps Are A Big Deal 60% of this Time is in Communication & Media Apps
  14. 14. #SMX #31A @Suzzicks A Few Apps Get a Bulk of the Visitors
  15. 15. #SMX #31A @Suzzicks Things to Think About Before You Start: 1.Website Parity 2.Public vs. Private 3.Indexing Method
  16. 16. #SMX #31A @Suzzicks Things to Think About Before You Start: 1.Website Parity 2.Public vs. Private 3.Indexing Method
  17. 17. #SMX #31A @Suzzicks Party Time?
  18. 18. #SMX #31A @Suzzicks
  19. 19. #SMX #31A @Suzzicks It All Starts with Parity Between App & Website Home Category Category Sub - Category End-Level Category TOS Home Category Category Sub - Category End-Level Category TOS Web Url App Screen
  20. 20. #SMX #31A @Suzzicks It All Starts with Parity Between App & Website Home Category Category Sub - Category End-Level Category TOS Home Category Category Sub - Category End-Level Category TOS Web Url App Screen
  21. 21. #SMX #31A @Suzzicks It All Starts with Parity Between App & Website Web Url App Uri
  22. 22. #SMX #31A @Suzzicks It All Starts with Parity Between App & Website Web Url App Uri
  23. 23. #SMX #31A @Suzzicks Parity vs. Non-Parity Content Web Url App Uri Web Content Missing from the App
  24. 24. #SMX #31A @Suzzicks Things to Think About Before You Start: 1.Website Parity 2.Public vs. Private 3.Indexing Method 23
  25. 25. #SMX #31A @Suzzicks 2 Kinds of Deep Links
  26. 26. #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
  27. 27. #SMX #31A @Suzzicks Private Index Pages: • Shopping Cart • Personal Dashboard • History • Personal Favorites PRIVATE Private vs. Public Indexing Web: App:
  28. 28. #SMX #31A @Suzzicks Things to Think About Before You Start: 1.Website Parity 2.Public vs. Private 3.Indexing Method
  29. 29. #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.
  30. 30. #SMX #31A @Suzzicks Understanding iOS App Developer-Speak Xcode: 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
  31. 31. #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)
  32. 32. #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
  33. 33. #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!
  34. 34. #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
  35. 35. #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
  36. 36. #SMX #31A @Suzzicks Adding in-App Markup for Deep Link Optimization
  37. 37. #SMX #31A @Suzzicks • You can include Deep App Links as Rel=“Alternate” in your XML sitemap too Deep Links in Sitemaps
  38. 38. #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!
  39. 39. #SMX #31A @Suzzicks Set Up Universal Links, App Indexing SDK & Add Site Association File to the Web Server App Indexing Elements by OS App Indexing API OR Do Nothing CocoaPods = = + + +
  40. 40. #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 Server https://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/app indexing/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 *NoWeb Components Required -Will Probably Work When Google Begins Indexing Non-Parity Content
  41. 41. #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
  42. 42. #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 Association File to the Web Server = = + + +CocoaPods
  43. 43. #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 Association File to the Web Server = = + + +CocoaPods
  44. 44. #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
  45. 45. #SMX #31A @Suzzicks Visual for iOS App Indexing Website & Server App Code Files CocaoPodsWebsite Markup: Schema, OGTags,Twitter Cards & AppLinks.org Apple-app-site-indexing file on HTTPSWeb Server at http:///apple-app-site- association Google App Indexing 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)
  46. 46. #SMX #31A @Suzzicks SUMMARY: App Indexing for Android vs. iOS Android iOS Step 1: CreateWeb Parity withYour App & Add Web Markup Step 2: Set up Deep Links inYour 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 OptimizeWeb Markup* Step 4: Submit Deep Links for Pre-LaunchCrawling 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, OGTags, Schema.org & AppLinks.org markup.
  47. 47. #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
  48. 48. #SMX #31A @Suzzicks Deep Link Ranking Factors Positive Ranking Factors Installation Status App Indexing API (Android) Good Technical Implementation Website/SEO Signals Positive Engagement (Soon) Negative Ranking Factors Content Mis-Match Technical Errors Interstitials Installation Status (Esp for iOS) Negative Engagement (Soon) + -
  49. 49. #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
  50. 50. #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
  51. 51. #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’
  52. 52. #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’s http://developer.android.com/guide/topics/ui/acces sibility/apps.html 5. Check out Google’s Accessibity Checklist http://developer.android.com/training/accessibility /testing.html
  53. 53. #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.
  54. 54. #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
  55. 55. #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
  56. 56. #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
  57. 57. #SMX #31A @Suzzicks bit.ly/universal-links-tool
  58. 58. #SMX #31A @Suzzicks SEE YOU AT THE NEXT #SMX THANK YOU! 2 Months Free Deep Link Validator Tool Access Promo Code: SMXWEST16

×