how to setup app indexation

36
How to Setup App Indexation

Upload: justin-briggs

Post on 14-Jul-2015

2.337 views

Category:

Mobile


1 download

TRANSCRIPT

Page 1: How to Setup App Indexation

How to Setup App Indexation

Page 2: How to Setup App Indexation

Justin Briggs

Founder, Briggsby [email protected]

@JustinRBriggs

Taking on new clients

Page 3: How to Setup App Indexation

Search is fundamentally shifting

Page 4: How to Setup App Indexation

Search as an Interface

Visits to app, not websites

Takes action on your behalf

Hands free UI (wearables)

Solutions, not web pages

Search examples: http://blog.tackmobile.com/article/android-wear-gui-elements/

Page 5: How to Setup App Indexation

Creating Indexable Apps

Page 6: How to Setup App Indexation

App Deep Links

android-app://{package_id}/{scheme}/{host_path}

Ø  package_id - app ID in Play store Ø  scheme - http or custom scheme Ø  host_path - specific content within app

Page 7: How to Setup App Indexation

Intent Filter: AndroidManifest.xml

Defines the structure of your app URIs

<activity android:name="com.example.android.GizmosActivity" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_title_viewgizmos"> <action android:name="android.intent.action.VIEW" /> <!-- Accepts URIs that begin with "http://example.com/gizmos” --> <data android:scheme="http" android:host="example.com" android:pathPrefix="/gizmos" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> </activity>

Page 8: How to Setup App Indexation

Testing Deep Links

Will launch app deep link

Page 9: How to Setup App Indexation

Verify site with Google Play Developer Console &

Webmaster Tools

Page 10: How to Setup App Indexation

Connect in Google Play Console

Verify the app’s website

Page 11: How to Setup App Indexation

Annotate site for app URI discovery via crawl

Page 12: How to Setup App Indexation

Three Ways to Expose App URI

<html> <head> ... <link rel="alternate" href="android-app://com.example.android/http/example.com/gizmos" /> ... </head> <body> … </body>

Rel=“alternate”

ViewAction

XML Sitemap

Page 13: How to Setup App Indexation

Three Ways to Expose App URI

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "@id": "http://example.com/gizmos", "potentialAction": { "@type": "ViewAction", "target": "android-app://com.example.android/http/example.com/gizmos" } } </script>

Rel=“alternate”

ViewAction

XML Sitemap

Page 14: How to Setup App Indexation

Three Ways to Expose App URI

<?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <url> <loc>http://example.com/gizmos</loc> <xhtml:link rel="alternate" href="android-app://com.example.android/example/gizmos" /> </url> ... </urlset>

Rel=“alternate”

ViewAction

XML Sitemap

Page 15: How to Setup App Indexation

Very similar to a mobile separate-site setup

Page 16: How to Setup App Indexation

Launch App From Search

App launch can be default behavior…

Clicking this launches the app!

Page 17: How to Setup App Indexation

Manage indexing with robots noindex in app

Page 18: How to Setup App Indexation

Indexing Control for Apps

<?xml version="1.0" encoding="utf-8"?> <search-engine xmlns:android="http://schemas.android.com/apk/res/android"> <noindex uri="http://example.com/gizmos/hidden_uri"/> <noindex uriPrefix="http://example.com/gizmos/hidden_prefix"/> <noindex uri="gizmos://hidden_path"/> <noindex uriPrefix="gizmos://hidden_prefix"/> </search-engine>

App Resource Directory

Android Manifest

Page 19: How to Setup App Indexation

Indexing Control for Apps

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.Gizmos"> <application> <activity android:name="com.example.android.GizmosActivity" android:label="@string/title_gizmos" > <intent-filter android:label="@string/filter_title_viewgizmos"> <action android:name="android.intent.action.VIEW"/> ... </activity> <meta-data android:name="search-engine" android:resource="@xml/noindex"/> </application> <uses-permission android:name="android.permission.INTERNET"/> </manifest>

App Resource Directory

Android Manifest

Page 20: How to Setup App Indexation

Push to Google with App Indexing API

Page 21: How to Setup App Indexation

Autocomplete App Suggestions

Page 22: How to Setup App Indexation

Search as an interface with app actions

Page 23: How to Setup App Indexation

Building an Action Graph

App Indexing Knowledge Graph App Actions + =

Page 24: How to Setup App Indexation

Leverage Schema.org Actions

<script type="application/ld+json"> { "@context": "http://schema.org", "@type": "MusicGroup", "name": "Weezer", "potentialAction": { "@type": "ListenAction", "target": "android-app://com.spotify.music/http/we.../listen" } } </script>

Page 25: How to Setup App Indexation

App Actions in Search

Page 26: How to Setup App Indexation

What about iOS?

Page 27: How to Setup App Indexation

Close to Release?

iOS app indexing in the wild

Validates in testing tool

Page 28: How to Setup App Indexation

Bing App Linking

Page 29: How to Setup App Indexation

Launch Windows Apps From Bing

Image: http://www.bing.com/webmaster/help/app-linking-09399b4b

Page 30: How to Setup App Indexation

Bing App Linking

1.  Copy Windows (Phone) Store URL 2.  Go to Bing Webmaster Tools to

configured App Linking 3.  In Configure My Site > Connected Pages

paste URL

4.  Verify

Schema Markup

Enable Deep Linking

Register App

Link Site to App

Page 31: How to Setup App Indexation

Bing App Linking <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "operation": { "@type": "ViewAction", "actionHandler": [ { "@type": "WindowsActionHandler", "applicationId": "4db19603-c4e0-4112-895e-46981d785682", "packageFamilyName": "Contoso.Contoso_54hhd3ev8bvz9", "arguments": "cityId=1&restaurantId=5609", "minVersion": "2.2.0.12" },{ "@type": "WindowsPhoneActionHandler", "applicationId": "08f1f665-222d-422c-9f99-bc3e0dd34433", "minVersion": "2.2.0.11", "arguments": "cityId=1&restaurantId=5609" } ] } } </script>

Schema Markup

Enable Deep Linking

Register App

Link Site to App

Page 32: How to Setup App Indexation

Bing App Linking

You can create deep links from web search results to your app by interpreting launch arguments. Different for Windows Runtime vs. Silverlight Windows.

Schema Markup

Enable Deep Linking

Register App

Link Site to App

Page 33: How to Setup App Indexation

Bing App Linking

Use Bing App Linking Test Tool (.exe)

Schema Markup

Enable Deep Linking

Register App

Link Site to App

Page 34: How to Setup App Indexation

App Indexing Resources

Everything You Need to Know About Mobile App Search: http://moz.com/blog/mobile-app-search Google Developers: App Indexing: https://developers.google.com/app-indexing/ App Indexing Code Lab: http://search-codelabs.appspot.com/codelabs/app-indexing Bing App Linking: http://www.bing.com/dev/en-us/applink

Page 35: How to Setup App Indexation

People to Follow

Lawrence Chang, Google: https://twitter.com/lawrence_chang Jarek Wilkiewicz, Google: https://twitter.com/wjarek Shawn Simister, Google: https://twitter.com/narphorium

Page 36: How to Setup App Indexation

Thanks!

[email protected]