SecurityBSides London - Jedi mind tricks for building application security programs
Mobile Jedi Mind Tricks: Master the Multi-Screen Universe
-
Upload
mobilemoxie -
Category
Mobile
-
view
159 -
download
2
Transcript of Mobile Jedi Mind Tricks: Master the Multi-Screen Universe
Emily Grossman | MobileMoxie@goutaste #SearchLove
Mobile Jedi Mind Tricks:Master The Multi-Screen
Universe
A Crash Course in Mobile SEO
for 2016
Emily Grossman | MobileMoxie@goutaste #SearchLove
THOSE WERE THE DROIDS WE WERE LOOKING FOR
Emily Grossman | MobileMoxie
Myth #1:You Don’t Need Mobile SEO To Be
Successful Online
@goutaste #SearchLove
Emily Grossman | MobileMoxie
FACT:Mobile Searches Make Up Over Half of Google Queries
@goutaste
"For the first time, we’re getting more searches on mobile devices than on desktop” – Amit Singhal
Emily Grossman | MobileMoxie
Myth #2:People Don’t Buy On Mobile
@goutaste #SearchLove
Emily Grossman | MobileMoxie
FACT:30% of all online shopping purchases now happen on mobile phones
@goutaste
Emily Grossman | MobileMoxie
Myth #3:People Only Use Mobile When They’re
Not Home
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste
Emily Grossman | MobileMoxie
A NEW MOBILE-FRIENDLY HOPE
@goutaste
EPISODE X:A New
[Mobile-Friendly] Hope
Emily Grossman | MobileMoxie
Mobile Friendliness
@goutaste
Jedi Tip #1: You have only begun to discover your power.
#SearchLove
Emily Grossman | MobileMoxie
May 2016 Update Increases Effect of Mobile Friendly Ranking Signal
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Testing for “Mobile-Friendly”ness
@goutaste #SearchLove
Emily Grossman | MobileMoxie
bit.ly/mobilefriendlytest
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Mobile-Friendliness is Binary
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Blocked CSS & JavaScript = No Mobile Friendly Tag
@goutaste #SearchLove
App Interstitial = No Mobile Friendly Tag
Emily Grossman | MobileMoxie
App Install Interstitials VS. App Install Banners
Mobile Friendly!NOT Mobile Friendly!
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Jedi Tip #2:Many of the truths that we cling to depend on our point of view
Emily Grossman | MobileMoxie
Fetch & Render for UI/ UX
@goutaste #SearchLove
Emily Grossman | MobileMoxie
You probably
can’t read this Text.
It says this page has
no Viewport specified.
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Broken ViewPorts
@goutaste
Be careful with CSS & Google Forms!
(Reset Form width to 100%)
<iframe src="YOURFORMHERE" width="100%" height="800" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe>
Emily Grossman | MobileMoxie@goutaste
Jedi Tip #3: “Traveling through hyperspace ain't like dusting crops, boy!”
#SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie
Improving Page Speed with ImagesSprites File Size Responsive
Images.orgImage Server
Quality: 85%Width: 300px
Quality: 70%Width: 150px
Quality: 326 PPIWidth: 200px
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste
“Punch it, Chewie”
#SearchLove
Emily Grossman | MobileMoxie
AMP: Accelerated Mobile Pages Project
• Framework for speed
@goutaste
Emily Grossman | MobileMoxie
AMP: Accelerated Mobile Pages Project
• Framework for speed• Built for static content
@goutaste
Emily Grossman | MobileMoxie
AMP: Accelerated Mobile Pages Project
• Framework for speed• Built for static content• At the moment, primarily used by
major publishers like:
@goutaste
Emily Grossman | MobileMoxie
Start With Your Blog
@goutaste
Easy to implement on Wordpress
Lowest “Domain Authority” in the carousel was 67/100
@yoastbit.ly/AMP-wordpress-yoast
bit.ly/AMP-wordpress-SEL
@fighto
Emily Grossman | MobileMoxie
THE APPS STRIKE BACK
@goutaste
EPISODE XI:Apps Strike Back
Emily Grossman | MobileMoxie@goutaste
I feel a great disturbance in the rankings…
#SearchLove
Emily Grossman | MobileMoxie
How Rankings in 2015 Changed
https://moz.com/blog/brands-that-won-and-lost-google-2015
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Increased Visibility for Both App Stores
@goutaste
Desktop
#SearchLove
Emily Grossman | MobileMoxie
App Single Apps Universal App Pack
Google Ranking Whole Apps
@goutaste #SearchLove
Emily Grossman | MobileMoxie
App Pack Optimization
App Title
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Rankings Differ Between
Android & iOS
App Pack on Android But Not iOS!
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Know Your Competitors Per
Device, OS & Location
Test on Multiple Devices Or Use A Local-Mobile Search Simulator
@goutaste #SearchLove
bit.ly/mobile-search-simulator
Emily Grossman | MobileMoxie@goutaste
Google Ranking App Screens (Deep Links)
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Emily Grossman | MobileMoxie
How Rankings in 2015 Changed
These Guys Have Apps
https://moz.com/blog/brands-that-won-and-lost-google-2015
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Android iOS1: Create Web Parity with Your App
2: Set up HTTP Deep Links in Your App Manifest,Exclude Deep Links with noindex.XML
Set up Universal Links in App & Server,Exclude by Not Supporting for All Deep Links
3: Optimize Deep Links in the App with API Markup Optimize Web Markup* Add Cocoa Pods & App Indexing SDK Pod to App
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
5: Go Live & Verify Proper Indexing & Behavior from SERPS
*Doh! Google can’t actually extract Title &Description info from iOS apps, so all keyword relevance comes from meta data on corresponding web pages.
@goutaste
Google App Indexingbit.ly/g-app-indexing
#SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie
Android iOS1: Create Web Parity with Your App
2: Set up HTTP Deep Links in Your App Manifest,Exclude Deep Links with noindex.XML
Set up Universal Links in App & Server,Exclude by Not Supporting for All Deep Links
3: Optimize Deep Links in the App with API Markup Optimize Web Markup* Add Cocoa Pods & App Indexing SDK Pod to App
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
5: Go Live & Verify Proper Indexing & Behavior from SERPS
*Doh! Google can’t actually extract Title &Description info from iOS apps, so all keyword relevance comes from meta data on corresponding web pages.
@goutaste
Google App Indexingbit.ly/g-app-indexing
#SearchLove
Emily Grossman | MobileMoxie
Google App Indexing Easier To Implement On Android
@goutaste
Android HTTP deep links can be set up in the app
iOS HTTP deep links require server-side set-up and TLS/ SSL support
{ "applinks": { "apps": [], "details": { »ABC0123.com.domain.App": { "paths":[
”/folder/subfolder/”,”/folder2/subfolder2/*”,
] } } }}
Intent filtersApple-App-Site-Association File
#SearchLove
Emily Grossman | MobileMoxie
Android iOS1: Create Web Parity with Your App
2: Set up HTTP Deep Links in Your App Manifest,Exclude Deep Links with noindex.XML
Set up Universal Links in App & Server,Exclude by Not Supporting for All Deep Links
3: Optimize Deep Links in the App with API Markup Optimize Web Markup* Add Cocoa Pods & App Indexing SDK Pod to App
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
5: Go Live & Verify Proper Indexing & Behavior from SERPS
*Doh! Google can’t actually extract Title &Description info from iOS apps, so all keyword relevance comes from meta data on corresponding web pages.
@goutaste
Google App Indexingbit.ly/g-app-indexing
#SearchLove
...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
Android App Indexing API
@goutaste Emily Grossman | MobileMoxie #SearchLove
Emily Grossman | MobileMoxie
...@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
Android App Indexing API
“Can Haz Engagement Data?”-Google
@goutaste
Emily Grossman | MobileMoxie
...@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
Android App Indexing API
“Can Haz Engagement Data?”-Google
+ ExtraRankings
Boost
@goutaste
Emily Grossman | MobileMoxie
Android iOS1: Create Web Parity with Your App
2: Set up HTTP Deep Links in Your App Manifest,Exclude Deep Links with noindex.XML
Set up Universal Links in App & Server,Exclude by Not Supporting for All Deep Links
3: Optimize Deep Links in the App with API Markup Optimize Web Markup* Add Cocoa Pods & App Indexing SDK Pod to App
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
5: Go Live & Verify Proper Indexing & Behavior from SERPS
*Doh! Google can’t actually extract Title &Description info from iOS apps, so all keyword relevance comes from meta data on corresponding web pages.
@goutaste
Google App Indexingbit.ly/g-app-indexing
#SearchLove
Emily Grossman | MobileMoxie
bit.ly/g-app-indexing
@goutaste #SearchLove
Emily Grossman | MobileMoxie
bit.ly/g-app-indexing
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
NOT what we were looking for…
Emily Grossman | MobileMoxie
Deep Link Ranking Factors in GooglePositive Ranking Factors
• Installation Status• Good Technical
Implementation• Website SEO Signals• App Indexing API (Android)• Positive Engagement
Negative Ranking Factors
• Installation Status (Esp for iOS)• Technical Errors• Website SEO Signals• Content Mis-Match• Interstitials on Web• Negative Engagement (Soon?)
@goutaste
Emily Grossman | MobileMoxie
Deep Link Ranking Factors in GooglePositive Ranking Factors
• Installation Status• Good Technical
Implementation• Website SEO Signals• App Indexing API (Android)• Positive Engagement
Negative Ranking Factors
• Installation Status (Esp for iOS)• Technical Errors• Website SEO Signals• Content Mis-Match• Interstitials on Web• Negative Engagement (Soon?)
@goutaste
App Streaming
@goutaste #SearchLove
Read More About App Streaming & Connection Speed
http://searchengineland.com/android-marshmallow-seo-series-sponsored-google-now-cards-23-234719
@Suzzicks
More thoughts on App Streaming and connection speed:bit.ly/mobileconnectionspeed
EPISODE XII: Emerging Search Platforms Awaken
Emily Grossman | MobileMoxie@goutaste
Jedi Tip #4: “The Dark Side of the Force is the pathway to many abilities some consider to be… Unnatural.”
#SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie
An Open Google Now API?
@goutaste #SearchLove
Emily Grossman | MobileMoxie
How Would it Rank Competitors?
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Apps Should Focus on Good Engagement To Win At Google Now
@goutaste #SearchLove
Emily Grossman | MobileMoxie
AAAHHHRRRRG
@goutaste #SearchLove
Emily Grossman | MobileMoxie
AAAHHHRRRRG
@goutaste
(Voice Search)
#SearchLove
Emily Grossman | MobileMoxie
Voice Search
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie
App Actions
@goutaste
Mark up app deep links so users can send commands to your app
Triggered via Google App (text or voice)
Use SYSTEM actions EX call, send, watch, play…
Or CUSTOM voice actions (BETA) EX scan my receipt on Walmart
#SearchLove
Emily Grossman | MobileMoxie@goutaste
“How do people call my business?”
“What can people DO with my brand?”
“How would they command my business to do something?”
There is no try…
#SearchLove
Emily Grossman | MobileMoxie
Google Now On Tap
@goutaste
Optimized!
#SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Jedi Tip #5:“Your focus determines your reality.”
Emily Grossman | MobileMoxie
Google is Amassing a Personal Index
Photos from Google Photos
Contacts in Google Contacts
Search History from Chrome
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Specific Emails from Gmail (Scraping Text)
Aggregated Data From Google Apps
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Combining Personal Data With Public Feeds For A Richer
Interface
@goutaste #SearchLove
Emily Grossman | MobileMoxie
Use Machine Learning
Image Recognition
@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Emily Grossman | MobileMoxie@goutaste #SearchLove
Jedi Tip #6: “Let the wookie win”
Emily Grossman | MobileMoxie
iOS 9 Local Searches
@goutaste
https://mapsconnect.apple.com
#SearchLove
Emily Grossman | MobileMoxie
Spy on Apple Maps
Attribution To Learn What to
Optimize
@goutaste
gspa21.ls.apple.com/html/attribution.html
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Spotlight Search Email Optimization
Put most important keywords in the subject line
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Spotlight Search Email Optimization
Put most important keywords in the subject line
Earlier in the subject line is better
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Spotlight Search Email Optimization
Put most important keywords in the subject line
Earlier in the subject line is better
Apple prefers recent emails to older emails
Remember: Mobile devices can only pull what is stored on the device (less than on a computer)
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Deep Links Indexed for
Spotlight Searches
=iOS Re-
Engagement
#SearchLove
Emily Grossman | MobileMoxie
Indexing Mobile App Content in Apple Search
@goutaste
CoreSpotlight NSUserActivity Web Markup
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Twitter Cards AppLinks Smart App Banners
Web Markup
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Web Markup – Visual PresentationSCHEMA & OG TAGS
More info here: https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/WebContent.html
#SearchLove
Emily Grossman | MobileMoxie@goutaste
Emily Grossman | MobileMoxie@goutaste
Emily Grossman@goutaste
www.mobilemoxie.com2 Months Free Code:
SEARCHISLOVEfacebook.com/mobilemoxie@mobilemoxie
Thank You!
Emily Grossman | MobileMoxie
All Star Wars images are property of Disney unless otherwise noted.
@goutaste #SearchLove