Published on March 9, 2016
Emily Grossman speaks about App Indexing & Mobile SEO:Winning at the New Frontier at Friends of Search 2016. This deck covers:
- Google Ranking for Whole Apps and App Screens
- Google App Saturation
- Google App Indexing
- Associating an App with a Website
App Indexing & Mobile SEO - Friends of Search 2016
1. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 1#FriendsofSearch2016
Emily Grossman
MobileMoxie
App Indexing & Mobile SEO:
Winning At The New Frontier
10. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 10#FriendsofSearch2016
App Saturation In Logged-In Search
11. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 11#FriendsofSearch2016
5 App Deep Link Results
2 Web Page “Blue Link” Results
(Both are “mobile-friendly”)
Logged-In Branded
Local Search Result
Page 1:
13. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 13
App Saturation After App Streaming is Public?
#FriendsofSearch2016
14. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 14
How to Rank Apps in Google Search
#FriendsofSearch2016
15. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 15
App Pack Optimization
App Title
#FriendsofSearch2016
16. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 16
Rankings Differ
Between
Android and iOS
Test on Multiple
Devices Or Use A
Local-Mobile
Search Simulator
App Pack on Android But Not iOS!
#FriendsofSearch2016
17. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 17#FriendsofSearch2016
bit.ly/mobile-search-simulator
18. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 18
Google App Indexing
Support HTTP URLsSupport HTTP URLs
bit.ly/g-app-indexing
#FriendsofSearch2016
1. Prepare App
2. Associate App with Website
3. Control Indexing
1. Prepare App
2. Associate App with Website
3. Control Indexing
19. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 19
1 Prepare App
#FriendsofSearch2016
Support HTTP URLs
20. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 20
2 Associate App with Website
Add your app as a new property to Search Console using the syntax
android-app://{package-name}/
#FriendsofSearch2016
Support HTTP URLs
21. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 21
Create noindex.XML file:
Reference it in the
AndroidManifest.xml
file:
3 Control Indexing
#FriendsofSearch2016
Support HTTP URLs
22. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 22
1 Prepare App
• Modify your application
delegate
• Adopt an entitlement in
Xcode that lists each domain
associated with your app
READ:
http://bit.ly/ios9universallinks
http://bit.ly/UIApplicationDelegat
e-Reference
WATCH:
http://bit.ly/appleuniversallinks
#FriendsofSearch2016
Support HTTP URLs
23. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 23
{
"applinks": {
"apps": [],
"details": {
»ABC0123.com.domain.App": {
"paths":[ "*" ]
}
}
}
}
Associate App with Website
• Create an apple-app-site-
association file for each
associated domain with the content
your app supports and host it at the
root level.
NOTE: The association file must be
hosted on a domain that supports
HTTPS/TLS, even if the HTTP deep links
are not themselves served via HTTPS.
2
#FriendsofSearch2016
Support HTTP URLs
24. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 24
{
"applinks": {
"apps": [],
"details": {
»ABC0123.com.domain.App": {
"paths":[
”/folder/subfolder/”,
”/folder2/subfolder2/*”,
]
}
}
}
}
Control Indexing
• Modify apple-app-site-
association file to specify only
the content that is parallel between
the app and the website.
3
#FriendsofSearch2016
Support HTTP URLs
25. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 25
Google App Indexing
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Via Android App Indexing API Via GoogleAppIndexing SDK
bit.ly/g-app-indexing
#FriendsofSearch2016
26. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 26
...
public class MainActivity extends Activity {
private GoogleApiClient mClient;
private Uri mUrl;
private String mTitle;
private String mDescription;
@Override
protected void onCreate(Bundle savedInstanceState) {
mClient = new
GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
mUrl = "http://examplepetstore.com/dogs/standard-poodle";
mTitle = "Standard Poodle";
mDescription = "The Standard Poodle stands at least 18 inches at the
withers";
}
...
Full code sample here: bit.ly/appindexingAPIcode
#FriendsofSearch2016
Enable App To Send Feed of Deep Links
27. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 27
...
@Override
public void onStart() {
super.onStart();
mClient.connect();
AppIndex.AppIndexApi.start(mClient, getAction());
}
@Override
public void onStop() {
AppIndex.AppIndexApi.end(mClient, getAction());
mClient.disconnect();
super.onStop();
}...
Full code sample here: bit.ly/appindexingAPIcode
#FriendsofSearch2016
Enable App To Send Feed of Deep Links
28. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 28
...
@Override
public void onStart() {
super.onStart();
mClient.connect();
AppIndex.AppIndexApi.start(mClient, getAction());
}
@Override
public void onStop() {
AppIndex.AppIndexApi.end(mClient, getAction());
mClient.disconnect();
super.onStop();
}...
Full code sample here: bit.ly/appindexingAPIcode
#FriendsofSearch2016
Enable App To Send Feed of Deep Links
+ Extra
Rankings
Boost
29. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 29
1. Use most up-to-date version of CocoaPods
2. Add ‘GoogleAppIndexing’ pod to Podfile
3. Save and Install Pod
4. Import GoogleAppIndexing
1. Register app
pod 'GoogleAppIndexing'
pod install
#import <GoogleAppIndexing/GoogleAppIndexing.h>
[[GSDAppIndexing sharedInstance] registerApp:your iTunes ID];
#FriendsofSearch2016
Enable App To Send Feed of Deep Links
30. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 30
Google App Indexing
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Test
Implementation
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Test
Implementation
http://bit.ly/test-android-indexing http://bit.ly/test-iOS-indexing
bit.ly/g-app-indexing
#FriendsofSearch2016
31. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 31
Google App Indexing
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Test
Implementation
Optimize
Support HTTP URLs
Enable Your App To
Send a Feed of Deep
Links
Test
Implementation
Optimize
bit.ly/g-app-indexing
#FriendsofSearch2016
38. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 38
Unblock CSS & Javascript
Remove App Interstitials (App
Banners are OK)
Check Mobile UX (Meta
Viewport, Tap Targets, Font Size)
bit.ly/mobilefriendlytest
#FriendsofSearch2016
39. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 39
Unblock CSS & Javascript
Remove App Interstitials (App
Banners are OK)
Check Mobile UX (Meta
Viewport, Tap Targets, Font Size)
Improve PageSpeed
bit.ly/mobilefriendlytest
#FriendsofSearch2016
40. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 40
How to Go Beyond Mobile-Friendly &
Beyond Google!
#FriendsofSearch2016
41. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 41#FriendsofSearch2016
Knowledge Graph is EXTRA Important for Mobile
42. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 42
Optimize GMB for Google Now & Now on Tap
Optimized!
#FriendsofSearch2016
43. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 43#FriendsofSearch2016
Appear in Spotlight and Safari Results
Leverage Apple Search & Apple Maps
https://mapsconnect.apple.com
44. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 44#FriendsofSearch2016
Leverage Apple Search Contacts
Spotlight Search
ranks on-device
contacts by
searching name,
phone number
and even notes!
47. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 47#FriendsofSearch2016
Summary & Action Items
Apps are NEW and TOUGHER
competition for SEOs
App results change based on
OS and install status
App Streaming threatens to
increase app presence in
SERPs
Optimize your apps to take
advantage of rankings boosts
Optimize your website to fit
Google’s mobile standards
Explore opportunities to
increase visibility outside of
traditional mobile search
48. Emily Grossman (@Goutaste), MobileMoxie App SEO Expert 48
You don’t have mobile customers and
desktop customers.
You just have customers.
Source: “Connecting the Dots: Measuring Your Micro-Moments Strategy” September 2015 - ThinkwithGoogle.com
#FriendsofSearch2016
But the truth is that that we’re actually seeing is more of a convergence. Websites are getting built-out with more app-like features, and apps are getting some of the benefits that websites have enjoyed. While we as digital marketers are aware of this distinction, it’s becoming harder and harder for users to determine whether or not they are about to enter an app or a website.
See, right now, deep link results are heavily contingent on app install status, which means if the app is installed, Google is far more likely to show it in search results.
That means that if you’ve only been testing your rankings in incognito or relying on reporting tools that test as incognito, you may actually already be competing against app deep links and just not know it.
When we test search results as logged-in users with some common apps installed, we can see that for some queries — even local BRANDED queries — app results dominate. And this shouldn’t be entirely surprising, since last year Google said already 25% of searches on Android devices were returning deep links, but it could start to pick up even more speed...
Google recently announced a new technology called App Streaming that may allow searchers to use uninstalled apps on their devices. The technology works like this: Google runs an Android app on a virtual machine running Android in the cloud, and users can “stream” that app from the Android device in the cloud, just like they might stream music or video. Right now this technology is in a limited beta, but if it goes public — it could prove to be extremely powerful.
Public App Streaming has the potential to do two things – allow app content to rank even when apps are not installed AND introduce hundreds of new competitors into the search results – brands that we’ve never had to compete with before because they’ve never been allowed in Google. So really this opens the door to a whole other realm of possibilities, and the potential for a much greater app saturation than just 25%.
If you decide to use our tool, you can set your location, select the phones you want to test, and we’ll show you the results including any app packs.
Now the second half of making sure your app can rank in search results is setting up app indexing – which is how google can start to rank the content inside your app. The steps for this process are a little different for Android and iOS apps, but they have similar requirements. Right now to do app indexing you have to have 1-1 parallel content on your app and your website, and your app needs to support HTTP URLs.
On Android, setting up HTTP URLs is fairly simple. Have your Android developer set up Intent Filters for HTTP scheme URLs and you’re mostly done!
On iOS setting up HTTP URLs is a little more tricky. It requires setting up Universal Links which is a system that Apple came up with that will allow your web URLs to open the same content in your app when that app is installed. To set this up, you have have your developer modify your application delegate and adopt what’s called an “entitlement” in Xcode that lists the web domains associated with your app.
Then you have to upload a JSON formatted file called an “apple-app-site-association file” to your server that specifies all the content you want linked to your web URLs.
Like a sitemap, the asterisk is a wild card that means everything in the folder is can be used. If you don’t want everything in the folder to be associated with your web content, then only specify the folders that you do.
Now that you have HTTP deep links set up, you’ll want to make sure that Google knows about those deep links.
In Android, Google’s preferred way for you to do this is by making API calls in your app. There’s a lot of documentation about this online, so I won’t get into this too much, but the key thing to note here is that you’ll be providing Google your deep links AND a title and description from within your app – not the website! So if you are working on implementing App Indexing, you as an SEO will have to be making title and description decisions before the app is published.
In iOS, Google doesn’t give you that much control. You simply import the GoogleAppIndexing Pod in your iOS App, and then pat yourself on the back. Since we’re not providing any unique titles and descriptions here, we can only assume that the titles and descriptions Google will use for iOS app content is being pulled form the website.
The next step in this process is to test your deep links. FYI there are a LOT of resources to test on the Android side, and almost no resources to test on the iOS side.
For Android, Google is providing a lot of great reporting in Google Search Console that you can use to see how your deep links perform. In iOS… well Google keeps saying that is coming soon, but I wouldn’t hold your breath.
https://developers.google.com/app-indexing/android/referrer
Once you’ve identified which URLs aren’t mobile-friendly, you can put them into Google’s Mobile Friendly testing tool to see what Google says is preventing them from giving your webpage the mobile friendly tag.
Google also cares about UX. Just because you have a “responsive” architecture doesn’t mean that your mobile site is easy for fingers to use. If you’re not increasing your font size when your screen size scales down, you might get some notes in this tool about your font size being to small.
And finally, Google prefers webpages that load quickly – particularly on mobile – so make sure you aren’t bogging down the most important pages on your mobile website with huge images or tons of custom fonts that take a long time to load. Remember, your audience is often on 3 or 4G – not WIFI – so they will really feel the pain!
Outside of apps and websites and Google organic search, there are some other ways you can get ahead on mobile.
If you’re really sneaky, you can also target iOS users by getting them to download a contact card with your business’ optimized information. When that user spotlight searches their phone, you will likely come up as a top result – before any websites or apps!
Finally, when all else fails, there’s always PPC. Mobile PPC is getting more and more compelling, taking up more and more space on users’ devices.
Sometimes these sponsored results – as much as I hate to admit it -- are even really great experiences. Here for example, I can search for a product and within the sponsored result, I can narrow down my specifications and even see that the item is available in a store near me. So if you’re in e-commerce and struggling to out-rank amazon in organic, this may be your ticket to the top.