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.

Indexing on Fire: Google Firebase Native & Web App Indexing - MozCon 2016

1,647 views

Published on

Learn about how App Indexing, PWA websites and Firebase work, and the huge potential impact the future of SEO and mobile development.

Published in: Mobile

Indexing on Fire: Google Firebase Native & Web App Indexing - MozCon 2016

  1. 1. MobileMoxie @Suzzicks Indexing on Fire: Google Firebase Native and Web App Indexing
  2. 2. In the Beginning there Was Nothing
  3. 3. Google Didn’t Even Try to Crawl Apps or JavaScript
  4. 4. Historically, Crawlers Have Been Locked Out of Some Mobile Content
  5. 5. To Rank, Content Must be Crawled & Indexed
  6. 6. Google Got Better & Better at Crawling JS & Eventually Android Apps
  7. 7. Web App & Native Apps Indexing Are Similar in Nature
  8. 8. Web App & Native Apps Indexing Are Similar in Nature XML Sitemap JASON-LD
  9. 9. Crawling Mapping Docs & Ingesting Feeds through APIs is Faster & Easier for Google than Crawling Websites
  10. 10. Now Google Can Index this Stuff, But Crawling is Still a Bit Primitive
  11. 11. Now Google Can Index this Stuff, But Crawling is Still a Bit Primitive (Especially for iOS)
  12. 12. Native App VS WEP APP INDEXING
  13. 13. PWA Relationship to other Web Apps Single Page App (SPA) Web App HTML5 App Dynamic Website JavaScript Web App
  14. 14. PWA Relationship to AJAX
  15. 15. PWA Relationship to AJAX
  16. 16. They Use LOTS of JavaScript to Pull that Off
  17. 17. Responsive Design Requires Even More JavaScript 1024px + 1023-768px 767-320px
  18. 18. JavaScript & Other Elements Increase File Size of Webpages 2010 2012 2014 2016
  19. 19. Mobile-Friendly is Gone but will it Soon be Replaced with ‘Slow’?
  20. 20. Mobile-Friendly is Gone but will it Soon be Replaced with ‘Slow’?
  21. 21. Google Wants to Crawl JavaScript …. A Lot Apparently!
  22. 22. Progressive Web Apps are Fast: Server ServiceWorker
  23. 23. PWA ServiceWorkers Seem Very Similar to the AMP JavaScript Runtime PWA ServiceWorker AMP JS Runtime =
  24. 24. PWA ServiceWorkers Seem Very Similar to the AMP JavaScript Runtime PWA ServiceWorker AMP JS Runtime =
  25. 25. HTTPS Mobile Friendly Website Service Worker Web App Manifest Progressive Web App =+
  26. 26. Web App Manifest
  27. 27. Web App Manifest App Titles App Icons App Shell
  28. 28. Web App Manifest <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="manifest" href="/manifest.json"/> <meta name="robots" content="follow, index" /> <link rel="canonical" href="https://website.com/" /> <meta name="description" content="This is a great website/> <meta name="keywords" content=“keyword, keyword, keyword, keyword, keyword" /> </head>
  29. 29. Web App Manifest <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="manifest" href="/manifest.json"/> <meta name="robots" content="follow, index" /> <link rel="canonical" href="https://website.com/" /> <meta name="description" content="This is a great website/> <meta name="keywords" content=“keyword, keyword, keyword, keyword, keyword" /> </head>
  30. 30. App Shell Development Browser Stand Alone Full Screen HTTPS ONLY
  31. 31. Push Notifications
  32. 32. App Install Banners Registered Service Worker on website Web App Manifest Includes: ❑Home Screen App Icon - 144x144 png ❑Short_Name - w/ Home Screen Icon ❑Name - Shell Banner Top ❑Start_Url Visited 2x+ w/ 5min+ Between Visits
  33. 33. Loading the Website Twice Triggers an ‘Add to Home Screen’ Dialogue PWA Icon is Customizable & Looks Just Like a Native App Icon
  34. 34. While Loading, it Shows a Customizable Splash Screen PWA’s Can Open Outside of a Browser Window in it’s Own Window
  35. 35. Local Phone Cache = App Shell + Viewed Content Works Offline PWA ServiceWorker
  36. 36. WAPO.com/PWA/ Demo (Chris Nguyen)
  37. 37. `
  38. 38. -Alex Russell
  39. 39. Progressive Web Apps (PWA’s) Is Basically Native App Online Choices About Address Bar No Install Required Enables Home Screen Icon Offline Content Works Web Works on All Devices – Most Browsers Enables Push Messaging & Deep Linking Custom Splash Screen Adapts to Slow Connections Fast Because of Service Workers
  40. 40. Users Apparently Love PWAs 3x More Time Spent on Site 70% Higher Conversion Rate (For those who Add to Home Screen) 40% Higher Engagement Rate 3x Less Data Necessary to Render the Website
  41. 41. To Get a Progressive Web App Indexed, You Must Work Harder
  42. 42. Indexing Web Apps (Even Non-PWA Dynamic Sites) HTML Snapshots XML Sitemaps Fetch & RenderHTML5 PushState
  43. 43. Most PWA’s Have Ignored SEO
  44. 44. Most PWA’s Have Ignored SEO
  45. 45. Most PWA’s Have Ignored SEO Duplicate Title Tags Duplicate Description Tags Un-optimized URLs
  46. 46. Don’t Let Fancy Dev Kill Your SEO!
  47. 47. Resources to Make Your Site a PWA: 1. App Manifest Wizard: https://brucelawson.github.io/manifest/ 2. App Manifest Validator: https://manifest- validator.appspot.com/ 3. Service Worker Toolbox: https://github.com/GoogleChrome/sw-toolbox 4. Service Worker Instructions: http://deanhume.com/home/blogpost/getting-started-with- the-service-worker-toolbox/10134
  48. 48. Native App VS NATIVE APP INDEXING
  49. 49. Native App VS NATIVE APP INDEXING
  50. 50. App Screens are Indexed Like Web Pages Indexing Entry Points in an AppNative App & = Web Page or URLApp Screen or URI
  51. 51. Fast & Works Offline Low Reach & High Commitment & Acquisition Cost High Reach & Low Commitment & Acquisition Cost Slow & Does Not Work Offline Native App
  52. 52. Mobile Web Reach is 2.5x App Reach (Based on Unique Visitors Per Month) Apps Mobile Web 8.9 3.3
  53. 53. Mobile Web Reach is 2.5x App Reach (Based on Unique Visitors Per Month) Apps Mobile Web 8.9 3.3
  54. 54. US Time Spent in App VS Web Mobile Web 14% Apps 86% Top 3 Apps 80% Facebook YouTube Facebook Messenger
  55. 55. US Time Spent in App VS Web Mobile Web 14% Apps 86% A Couple Other Apps 20% Top 3 Apps 80% Facebook YouTube Facebook Messenger
  56. 56. US Time Spent in App VS Web Mobile Web 14% Apps 86% A Couple Other Apps 20% Top 3 Apps 80%66% of All Digital Purchases Happen Here Facebook YouTube Facebook Messenger
  57. 57. US Time Spent in App VS Web Mobile Web 14% Apps 86% A Couple Other Apps 20% Top 3 Apps 80%66% of All Digital Purchases Happen Here Facebook YouTube Facebook Messenger
  58. 58. How Do You Index Apps? Universal Links Digital Asset Links HTTP/HTTPS App Scheme Apple-App- Site- Association File HTTP/HTTPS App Scheme Asset Links File
  59. 59. Association Files are Hosted on the Corresponding Website iOS Apps REQUIRED /Apple-App-Site-Association/ Android Apps OPTIONAL /AssetLinks.JSON/ Hosted at: https://website.com/.well-known OR https://website.com/ OR http://website.com/.well-know/ (Android Only) OR http://website.com/ (Android Only)
  60. 60. App Indexing Has Benefits App Install Buttons in SERPS & Auto Complete
  61. 61. Association Files are Hosted on the Corresponding Website iOS Apps REQUIRED /Apple-App-Site-Association/ Android Apps OPTIONAL /AssetLinks.JSON/ Hosted at: https://website.com/.well-known OR https://website.com/ OR http://website.com/.well-known/ (Android Only) OR http://website.com/ (Android Only)
  62. 62. Apple-App-Site-Association File "applinks": { "apps": [], "details": [ { "appID": “SAMPLE- APP.com.host.location", “pathprefix”: ["/blog/*] "paths": [ "/news/story/", "/news/video/2015/*"] }, { "appID": “DIFFERENT- APP.com.host.location", "paths": [ "*" ] } ] "relation": ["delegate_permission/common.handle_all_url s"], "target": { "namespace": "web", "site": "https://host.sampleapp.com" },{ "relation": ["delegate_permission/common.handle_all_url s"], "target": { "namespace": "android_app", "package_name": “com.host.sampleapp", "sha256_cert_fingerprints": ["10:39:38:EE:45:37:E5:9E:8E:E7:92:F6:54:50 :4F:B8:34:6F:C6:B3:46:D0:BB:C4:41:5F:C3:39: FC:FC:8E:C1"] } Asset Links File
  63. 63. Apple-App-Site-Association File "applinks": { "apps": [], "details": [ { "appID": “SAMPLE- APP.com.host.location", “pathprefix”: ["/blog/*] "paths": [ "/news/story/", "/news/video/2015/*"] }, { "appID": “DIFFERENT- APP.com.host.location", "paths": [ "*" ] } ] "relation": ["delegate_permission/common.handle_all_url s"], "target": { "namespace": "web", "site": "https://host.sampleapp.com" },{ "relation": ["delegate_permission/common.handle_all_url s"], "target": { "namespace": "android_app", "package_name": “com.host.sampleapp", "sha256_cert_fingerprints": ["10:39:38:EE:45:37:E5:9E:8E:E7:92:F6:54:50 :4F:B8:34:6F:C6:B3:46:D0:BB:C4:41:5F:C3:39: FC:FC:8E:C1"] } Asset Links File Must be Exactly the Same as Resolving Web URL (Canonical – no 301 Redirects!)
  64. 64. Native App VS CURRENT PROBLEMS WITH APP INDEXING
  65. 65. The ‘Three Platform’ Problem 3x Team Politics 3x Time 3x Money
  66. 66. Silos of Communication on a Team DEV SEO QA DBA
  67. 67. Team Team Team
  68. 68. Language & Vocab Language & Vocab Language & Vocab
  69. 69. Native App VS FIREBASE APP INDEXING
  70. 70. Google Believes Firebase is the Answer
  71. 71. Most SEO’s Don’t Really Get It!
  72. 72. It Gives Entry-points & End- points in Apps + =
  73. 73. PWA Website Android Instant Apps AMP Web Pages Crawling is Hard! Google indexes these using lists of entry locations that are either generated from Rel=Alternate Tags + Sitemaps, Site Association Files or API Submissions. Native App Indexing
  74. 74. Firebase Cloud Hosting = Content API Directly in Google
  75. 75. Firebase Cloud Hosting = Content API Directly in Google
  76. 76. Firebase Generates Dynamic Links Websites that Enable Everything Dynamic Links Android App iOS App PWA Website Centralized Capability Based on Dynamic Links Website: • Linking • Advertising • Messaging • Tracking & Attribution • Remote Config PS: This appears to be just an outgrowth of the old gog.le link shorter which also did Dynamic Linking
  77. 77. Expert Speculation
  78. 78. Google’s Webmaster Interaction & Potential Rankings Boosts App Indexing w/Web Parity Mobile Friendly Universal/Dynamic App Links App Indexing API Firebase Integration HTTPS *Expert Speculation
  79. 79. Android /iOS App Progressive Web App Firebase App + Rankings Boost Firebase Dynamic Linking Expands the Potential Reach of Any One App iOS, Android or Web *Expert Speculation
  80. 80. Google Database Hosting Better Indexing of All Apps *Expert Speculation Dynamic Links are Key EX:http://app_code. app.goo.gl/[google- unique-identifier]
  81. 81. Google Database Hosting Better Indexing of All Apps iOS & Android Instant Apps *Expert Speculation Dynamic Links are Key EX:http://app_code. app.goo.gl/[google- unique-identifier]
  82. 82. Google Database Hosting Better Indexing of All Apps iOS & Android Instant Apps *Expert Speculation Dynamic Links are Key EX:http://app_code. app.goo.gl/[google- unique-identifier]
  83. 83. Google Database Hosting Better Indexing of All Apps iOS & Android Instant Apps No Need for App Stores *Expert Speculation Dynamic Links are Key EX:http://app_code. app.goo.gl/[google- unique-identifier]
  84. 84. HTTPS Rankings Boost PWA with GWS Caching in Firebase App Indexing & Dynamic Links Non-Parity App Indexing App Packs & No Need for App Stores Better Monitizing of Android & iOS Why Google Needs You to Use Firebase *Expert Speculation Non-Parity App Indexing
  85. 85. HTTPS Rankings Boost AMP w/GWS & PWA w/ GWS in Firebase App Indexing & Dynamic Links Non-Parity App Indexing App Packs & No Need for App Stores Better Monitizing of Android & iOS Why Google Needs You to Use Firebase *Expert Speculation Non-Parity App Indexing
  86. 86. HTTPS Rankings Boost AMP w/GWS & PWA w/ GWS in Firebase App Indexing & Dynamic Links (GWS - Firebase) Non-Parity App Indexing App Packs & No Need for App Stores Better Monitizing of Android & iOS Why Google Needs You to Use Firebase *Expert Speculation Non-Parity App Indexing
  87. 87. HTTPS Rankings Boost AMP w/GWS & PWA w/ GWS in Firebase App Indexing & Dynamic Links (GWS - Firebase) Non-Parity App Indexing App Packs & No Need for App Stores Better Monitizing of Android & iOS Why Google Needs You to Use Firebase *Expert Speculation Non-Parity App Indexing (GWS – Firebase)
  88. 88. Why Google Needs You to Use Firebase HTTPS Rankings Boost AMP w/GWS & PWA w/ GWS in Firebase App Indexing & Dynamic Links (GWS - Firebase) Non-Parity App Indexing (GWS – Firebase) App Packs & No Need for App Stores Better Monitizing of Android & iOS *Expert Speculation
  89. 89. HTTPS Rankings Boost AMP w/GWS & PWA w/ GWS in Firebase App Indexing & Dynamic Links (GWS - Firebase) Non-Parity App Indexing (GWS – Firebase) App Packs & No Need for App Stores Better Monetizing of Android & iOS Why Google Needs You to Use Firebase *Expert Speculation “Will PWA’s Get App Pack Rankings?”
  90. 90. Google’s Webmaster Communication Native & Instant Apps AMP & HTTPS PWA & Web *Expert Speculation Mariya Moeva Gary Illyes John Mueller
  91. 91. Firebase is Still a bit Unknown & Scary
  92. 92. Native App VS FIREBASE APP INDEXING
  93. 93. “…Google may have some work ahead of it convincing developers to depend even more on its technologies. In February, Facebook shut down its mobile back-end as a service, Parse, leaving many developers scrambling.”
  94. 94. Or…Could Google Just Take Your Info and Turn it Against You?
  95. 95. Unclear Value Prop Shared Cloud Database Shared Reporting & Mgmt Shared Messaging & Ads
  96. 96. Difficult to Setup Web Android iOS HTTP/HTTPS Links HTTP/HTTPS Links (Dynamic Links) HTTP/HTTPS Links (Universal Links) Add App Manifest & ServiceWorker Add Dependencies to the Build Gradel & Setup Fingerprint Certificates Add Firebase Podfiles to the Manifest Add to Firebase Project Add to Firebase Project Add to Firebase Project
  97. 97. Bad Documentation Web Android iOS * Documentation almost always assumes that you are doing only one thing at a time.
  98. 98. So Should You Use it?
  99. 99. So Should You Use it? …Maybe.
  100. 100. Firebase Makes All Indexing More Valuable
  101. 101. Firebase Unifies Digital Marketing & Measurement Acquisition Backend/Hosting SEO/Dynamic Links PPC/AdMob Engagement Messaging Remote Config Custom Audiences Measurement GA-Like Unified Analytics Export/API to Big Data Processing Options
  102. 102. 2nd Biggest App Indexing Benefit = Tracking
  103. 103. Firebase Cloud Hosting
  104. 104. Remote-Config User-Focused Remote Config Benefits of Cloud Hosting
  105. 105. Cross-Device Attribution Better Ad Management Real-Time Database Easy Link Sharing Unified Push Messaging Unified Tracking & Analytics Remote Config
  106. 106. CINDY KRUM MobileMoxie @Suzzicks

×