SlideShare a Scribd company logo
1 of 50
Download to read offline
AJAXin a responsive publishing world
CRAWLABILITY
google.me/+EricWu
@eywu
linkedin.com/in/ericywu
github.com/eywu
AJAXis like violence
if it doesn't solve
your problems,
you’re not using
enough of it.
16ms
10kb
100ms
SPEED,
PERFORMANCE,
HUMAN PERCEPTION
PAGES CRAWLED PER DAY
80% INCREASE
20,000
80,000
May 2013 – Aug 2013
80% INCREASE
ORGANIC SEARCH SESSIONS
600,000
1,200,000
May 2013 – Aug 2013
Mar 2004:“Googlebot/Test” External JS
Mar 2006: Googlebot Uses Onsite Live Chat
June 2010: Caffeine (Full Rollout)
Nov 2010: Instant Preview
May 2014: GWT Fetch & Render
May 2012: Matt PSA. Don’t Block JS & CSS
Oct 2009:AJAX Crawlability _escaped_fragment_
Nov 2007: Spider’sView on Web 2.0
May 2013: MattVideo. Googlebot & AJAX
SCROLL
http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html
THINK BASIC
PAGINATION
NAVIGATE / PAGINATE
NAVIGATE / PAGINATE
<a href="/page/2/">Load More</a>
LOAD MORE LINK
NAVIGATE / PAGINATE
<a href="/page/2/">Load More</a>
LOAD MORE LINK
NAVIGATE / PAGINATE
REL=NEXT / PREV
<link href="/page/10/" rel="prev" />
<link href="/page/11/" rel="canonical" />
<link href="/page/12/" rel="next" />
POINTER URLS*
example.com/?last-post=42
example.com/?time=1401424133
CONTINUOUS CONTENT
PUSHSTATE OR SHEBANG #!
http://caniuse.com/#search=history
history.pushState(
{},
titleOfPage,
newURL
);
history.replaceState();
AJAX GALLERIES
CONTINUOUS CONTENT
1. PUSHSTATE
2. VIEW-SOURCE
NEXT SLIDE LINKS
3. REL=NEXT/ PREV
DEFERED IMAGE LOADING
I WISH CRAWLERS SUPPORTED
REL=CANONICAL HTTP HEADERS FOR IMAGES
80% DECREASE
IMAGE SEARCH SESSIONS
400,000
800,000
Nov 2012 – Mar 2013
LAZY LOADING
•  1x1 “BLANKS”
•  SKELETON SCREENS
•  LOW RESOLUTIONZ	

Z	

Z
RESPONSIVE IMAGES
•  <PICTURE>
•  SRCSET
•  POLYFILL
•  UA DETECTION
NOSCRIPT
<img data-src='<480:small.jpg,
<960:medium.jpg,
>960:large.jpg' />
<noscript>
<img src='full.jpg' />
</noscript>
CRAWLABLE PARTIALS
CRAWLABLE PARTIALS
LYRIC SEARCH LINKS TOhttp://rock.rapgenius.com/1884632/Pharrell-williams-
happy/
It-might-seem-crazy-what-im-bout-to-say-sunshine-shes-
here-you-can-take-a-break
CRAWLABLE PARTIALS
JS ENABLED REDIRECTShttp://rock.rapgenius.com/Pharrell-williams-
happy-lyrics#note-1884632
CRAWLABLE PARTIALS
JS DISABLED RENDERShttp://rock.rapgenius.com/1884632/Pharrell-williams-
happy/It-might-seem-crazy-what-im-bout-to-say-sunshine-
shes-here-you-can-take-a-break
4X
PAGES CRAWLED PER DAY
QUADRUPALED
75,000
300,000
May 2013 – Aug 2013
+1MILLION
ORGANIC SEARCH SESSIONS
2,000,000
4,000,000
May 2013 – Aug 2013
Technical SEO Community
HelpDeskHangouts.com
SearchSignals.com
bit.ly/ajax-crawlability
APPENDIX
ARCHITECTURE
PRERENDER SERVERSIDEVS
PRERENDER
PRERENDER
PRERENDER
SEO.js
CONSPROS
• SINGLE VIEW TEMPLATE
• SINGLE ROUTING
• REVERSE PROXY CACHING
• _ESCAPED_FRAGMENT_
• INTERPOLATED SOURCE
SERVER SIDE
SERVER SIDE
SERVER SIDE
SERVER SIDE
SERVER SIDE
SERVER SIDE
SERVER SIDE RENDER
CONSPROS
• CLEAN URLS*
• ALL REQUESTS ARE EQUAL
• TRUE DYNAMIC RESPONSE
• 2 ROUTERS
• 2 VIEW TEMPLATES*
Quote conflated from my favorite ruby XML parser » http://nokogiri.org/
Speed, Performance, and Human Perception » https://www.youtube.com/watch?v=7ubJzEi3HuA
SERoundtable Timeline Links »
http://www.seroundtable.com/google-javascript-webmaster-tools-18602.html
Googlebot/Test External JS » http://www.seroundtable.com/archives/000236.html
Googlebot Uses Onsite Live Chat » http://www.seroundtable.com/archives/003492.html
Spider’sView on Web 2.0 »
http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html
AJAX Crawlability Proposal »
http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html
Caffine Rollout »
http://googlewebmastercentral.blogspot.com/2010/06/our-new-search-index-caffeine.html
Instant Previews »
http://googleblog.blogspot.com/2010/11/beyond-instant-results-instant-previews.html
http://googlewebmastercentral.blogspot.com/2010/11/instant-previews.html
http://googlewebmastercentral.blogspot.com/2011/11/get-post-and-safely-surfacing-more-of.html
https://sites.google.com/site/webmasterhelpforum/en/faq-instant-previews
Matt Cutts PSA: Don’t Block JS & CSS »
http://www.seroundtable.com/googlebot-javascript-css-14930.html
MattVideo: How Does Googlebot handle content loaded via AJAX? »
https://www.youtube.com/watch?v=_6mtiwQ3nvw
REFERENCES
GWT Fetch & Render »
http://googlewebmastercentral.blogspot.com/2014/05/rendering-pages-with-fetch-as-google.html
Google Blog: Infinite Scroll Recommendations & Example »
http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html
LA Times Reimagined by Code and Theory »
http://www.codeandtheory.com/things-we-make/the-los-angeles-times-reimagined
Google Blog: Specify your canonical »
http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
Google Blog: Pagination with rel=“next” and rel=“prev” »
http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
Google Blog:Video about Pagination »
http://googlewebmastercentral.blogspot.com/2012/03/video-about-pagination-with-relnext-
and.html
One Page Wonder: Coverage on QZ »
http://www.foliomag.com/2013/one-page-wonder-infinite-scroll
The Next Web Redesign Coverage »
http://www.niemanlab.org/2012/10/the-next-web-redesigns-to-be-more-app-like/
The Next Web Press Release »
http://thenextweb.pr.co/
010a893a11df2bb61d981b2b0607c1b6784a5ab07b5ab100790b2bb3168a35f8
REFERENCES
USA Today Redesign »
http://blog.f-i.com/usatoday-com-redesigning-one-of-americas-most-popular-news-site/
http://designenvy.aiga.org/usa-today-website-redesign-fantasy-interactive/
http://www.businessinsider.com/usa-todays-homepage-redesigns-2012-9
Gawker 1Year Later Success »
http://thenextweb.com/insider/2012/02/02/remember-that-gawker-redesign-a-years-worth-of-
data-says-it-worked/
http://www.businessinsider.com/nick-denton-loses-bet-that-the-gawker-redesign-wouldnt-hurt-
traffic-2011-10
http://www.businessinsider.com/gawker-media-traffic-numbers-2011-4
Gawker Failed Coverage »
http://www.catchmyfame.com/2013/05/02/how-gawker-sabotaged-their-own-network-with-a-
horrible-new-layout/
http://www.theatlantic.com/technology/archive/2011/04/gawkers-traffic-numbers-are-worse-than-
anyone-anticipated/237594/
http://www.webmonkey.com/2011/02/gawker-learns-the-hard-way-why-hash-bang-urls-are-evil/
Paul Irish to Matt CuttsVideo » https://www.youtube.com/watch?v=yiAF9VdvRPw
Google Developer Documentation on AJAX Crawlability »
https://developers.google.com/webmasters/ajax-crawling/
Browser Compatibility Chart » http://caniuse.com/#search=history
Breaking The Web With Hash Bangs »
http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs
REFERENCES
Vox Cards: Legalization of Marijuana »
http://www.vox.com/cards/marijuana-legalization/learn-more-about-marijuana-legalization
Bing’s Duane Forrester says still no rel=canonical in http headers »
https://twitter.com/DuaneForrester/status/459387860358295552
Google Blog:A Faster Image Search »
http://googlewebmastercentral.blogspot.com/2013/01/faster-image-search.html
Google Says It’s Better for Webmasters »
http://www.seroundtable.com/google-image-search-design-16259.html
Ilya Grigork discussion around <plaintext> injection »
https://plus.google.com/+IlyaGrigorik/posts/S6j45VxNESB
Vox Workflow for Creating SVG Images »
http://product.voxmedia.com/2013/11/25/5426880/polygon-feature-design-svg-animations-for-fun-
and-profit
One Solution to Responsive Images »
http://www.smashingmagazine.com/2014/02/03/one-solution-to-responsive-images/
Truly Responsive Images » http://davidwalsh.name/responsive-design
AngularJS NYC Meetup: Server-side Template Rendering by HBO »
http://youtu.be/iB7hfvqyZpg?t=58m20s
REFERENCES
Vox Cards: Legalization of Marijuana »
http://www.vox.com/cards/marijuana-legalization/learn-more-about-marijuana-legalization
Bing’s Duane Forrester says still no rel=canonical in http headers »
https://twitter.com/DuaneForrester/status/459387860358295552
Google Blog:A Faster Image Search »
http://googlewebmastercentral.blogspot.com/2013/01/faster-image-search.html
Google Says It’s Better for Webmasters »
http://www.seroundtable.com/google-image-search-design-16259.html
Ilya Grigork discussion around <plaintext> injection »
https://plus.google.com/+IlyaGrigorik/posts/S6j45VxNESB
Vox Workflow for Creating SVG Images »
http://product.voxmedia.com/2013/11/25/5426880/polygon-feature-design-svg-animations-for-fun-
and-profit
One Solution to Responsive Images »
http://www.smashingmagazine.com/2014/02/03/one-solution-to-responsive-images/
Truly Responsive Images » http://davidwalsh.name/responsive-design
Serious Angular SEO » http://www.ng-newsletter.com/posts/serious-angular-seo.html
AngularJS NYC Meetup: Server-side Template Rendering by HBO »
http://youtu.be/iB7hfvqyZpg?t=58m20s
REFERENCES
Josh Kadis Quartz onVIP WordpressVideo »
http://vip.wordpress.com/2013/09/26/josh-kadis-qz-wordpress/
https://docs.google.com/file/d/0B2Z4K6ynFLg5TVdvWVV1aTRmYUU/edit?pli=1
AirBNB: Our First Node.js App »
http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product/
AirBNB: Rendr (Backbone in the Browser and Node) »
http://nerds.airbnb.com/weve-open-sourced-rendr-run-your-backbonejs-a/
StackOverflow: PushState, Backbone, and Node »
http://stackoverflow.com/questions/7098130/reusing-backbone-views-routes-on-the-server-when-
using-backbone-js-pushstate-for
Google: How do I create an HTML Snapshot (HIJAX) »
https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot
REFERENCES

More Related Content

What's hot

Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019Bastian Grimm
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorDan Taylor
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersDistilled
 
Overview of how to do SEO
Overview of how to do SEOOverview of how to do SEO
Overview of how to do SEOChris Finne
 
SEO for developers (session 1)
SEO for developers (session 1)SEO for developers (session 1)
SEO for developers (session 1)RankAbove
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
 
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-PractiseTechnical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-PractiseErudite
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks Holger Bartel
 
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Hamlet Batista
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Bastian Grimm
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Bastian Grimm
 
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGTechnical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGBastian Grimm
 
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!Jonathon Colman
 
SMX East - SEO Tools Panel
SMX East - SEO Tools PanelSMX East - SEO Tools Panel
SMX East - SEO Tools PanelAbby Hamilton
 
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxWhat's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxAhrefs
 
Website Optimization -SEO - Step By Step
Website Optimization -SEO - Step By StepWebsite Optimization -SEO - Step By Step
Website Optimization -SEO - Step By StepMia Lee
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018Bastian Grimm
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScriptHamlet Batista
 

What's hot (20)

Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019Advanced data-driven technical SEO - SMX London 2019
Advanced data-driven technical SEO - SMX London 2019
 
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan TaylorOptimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
Optimization 2020 | Using Edge SEO For Technical Issues ft. Dan Taylor
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 
Overview of how to do SEO
Overview of how to do SEOOverview of how to do SEO
Overview of how to do SEO
 
SEO for developers (session 1)
SEO for developers (session 1)SEO for developers (session 1)
SEO for developers (session 1)
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standards
 
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-PractiseTechnical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
Technical SEO - An Introduction to Core Aspects of Technical SEO Best-Practise
 
SEARCH Y - Bastian Grimm - Migrations Best Practices
SEARCH Y - Bastian Grimm -  Migrations Best PracticesSEARCH Y - Bastian Grimm -  Migrations Best Practices
SEARCH Y - Bastian Grimm - Migrations Best Practices
 
HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks HK CodeConf 2015 - Your WebPerf Sucks
HK CodeConf 2015 - Your WebPerf Sucks
 
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?
 
Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019Migration Best Practices - SMX West 2019
Migration Best Practices - SMX West 2019
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGTechnical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
 
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!
SEO Audit Checklist and Worksheet - over 90 SEO checkpoints!
 
SMX East - SEO Tools Panel
SMX East - SEO Tools PanelSMX East - SEO Tools Panel
SMX East - SEO Tools Panel
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick StoxWhat's Next for Page Experience - SMX Next 2021 - Patrick Stox
What's Next for Page Experience - SMX Next 2021 - Patrick Stox
 
Website Optimization -SEO - Step By Step
Website Optimization -SEO - Step By StepWebsite Optimization -SEO - Step By Step
Website Optimization -SEO - Step By Step
 
OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018OK Google, Whats next? - OMT Wiesbaden 2018
OK Google, Whats next? - OMT Wiesbaden 2018
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScript
 

Similar to AJAX in a responsive publishing world: Technical SEO strategies

Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Onely
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Walter Ebert
 
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013Gustaf Nilsson Kotte
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010Ignacio Coloma
 
Optimising AJAX Applications for Organic Search
Optimising AJAX Applications for Organic SearchOptimising AJAX Applications for Organic Search
Optimising AJAX Applications for Organic SearchJudith Lewis
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentJonas Päckos
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOOnely
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Patrick Meenan
 
Christian heilmann an-open-web-for-all
Christian heilmann   an-open-web-for-allChristian heilmann   an-open-web-for-all
Christian heilmann an-open-web-for-allHow to Web
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOSara Moccand-Sayegh
 
Web development today
Web development todayWeb development today
Web development todayJaydev Gajera
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
Javascript revolution front end to back end
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back endCaesar Chi
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st CenturyMateusz Kwasniewski
 
Lazy load Website Assets
Lazy load Website AssetsLazy load Website Assets
Lazy load Website AssetsChris Love
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursSerge Esteves
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secretsrtretola
 

Similar to AJAX in a responsive publishing world: Technical SEO strategies (20)

Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13
 
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
 
Developing web applications in 2010
Developing web applications in 2010Developing web applications in 2010
Developing web applications in 2010
 
Optimising AJAX Applications for Organic Search
Optimising AJAX Applications for Organic SearchOptimising AJAX Applications for Organic Search
Optimising AJAX Applications for Organic Search
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and Development
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
 
An open web for all
An open web for allAn open web for all
An open web for all
 
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
 
Christian heilmann an-open-web-for-all
Christian heilmann   an-open-web-for-allChristian heilmann   an-open-web-for-all
Christian heilmann an-open-web-for-all
 
Myths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEOMyths & true stories about JavaScript for SEO
Myths & true stories about JavaScript for SEO
 
Web development today
Web development todayWeb development today
Web development today
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
Javascript revolution front end to back end
Javascript revolution front end to back endJavascript revolution front end to back end
Javascript revolution front end to back end
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century
 
Lazy load Website Assets
Lazy load Website AssetsLazy load Website Assets
Lazy load Website Assets
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs
 
jQuery Ecosystem
jQuery EcosystemjQuery Ecosystem
jQuery Ecosystem
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secrets
 

More from Eric Wu

eTail 2019 SEO Audits: SEO Pruning for eCommerce
eTail 2019 SEO Audits: SEO Pruning for eCommerceeTail 2019 SEO Audits: SEO Pruning for eCommerce
eTail 2019 SEO Audits: SEO Pruning for eCommerceEric Wu
 
Using SEO and Machine Learning to Improve the Customer Journey
Using SEO and Machine Learning to Improve the Customer JourneyUsing SEO and Machine Learning to Improve the Customer Journey
Using SEO and Machine Learning to Improve the Customer JourneyEric Wu
 
2018 eTail West: Mobile SEO Site Audits
2018 eTail West: Mobile SEO Site Audits2018 eTail West: Mobile SEO Site Audits
2018 eTail West: Mobile SEO Site AuditsEric Wu
 
2018 eTail West: Mobile SEO
2018 eTail West: Mobile SEO2018 eTail West: Mobile SEO
2018 eTail West: Mobile SEOEric Wu
 
eTail West 2017: SEO Audits
eTail West 2017: SEO AuditseTail West 2017: SEO Audits
eTail West 2017: SEO AuditsEric Wu
 
SEO and JS: New Challenges
SEO and JS: New ChallengesSEO and JS: New Challenges
SEO and JS: New ChallengesEric Wu
 
SEO for Startups: 2013 MuckerLabs Talk
SEO for Startups: 2013 MuckerLabs TalkSEO for Startups: 2013 MuckerLabs Talk
SEO for Startups: 2013 MuckerLabs TalkEric Wu
 

More from Eric Wu (7)

eTail 2019 SEO Audits: SEO Pruning for eCommerce
eTail 2019 SEO Audits: SEO Pruning for eCommerceeTail 2019 SEO Audits: SEO Pruning for eCommerce
eTail 2019 SEO Audits: SEO Pruning for eCommerce
 
Using SEO and Machine Learning to Improve the Customer Journey
Using SEO and Machine Learning to Improve the Customer JourneyUsing SEO and Machine Learning to Improve the Customer Journey
Using SEO and Machine Learning to Improve the Customer Journey
 
2018 eTail West: Mobile SEO Site Audits
2018 eTail West: Mobile SEO Site Audits2018 eTail West: Mobile SEO Site Audits
2018 eTail West: Mobile SEO Site Audits
 
2018 eTail West: Mobile SEO
2018 eTail West: Mobile SEO2018 eTail West: Mobile SEO
2018 eTail West: Mobile SEO
 
eTail West 2017: SEO Audits
eTail West 2017: SEO AuditseTail West 2017: SEO Audits
eTail West 2017: SEO Audits
 
SEO and JS: New Challenges
SEO and JS: New ChallengesSEO and JS: New Challenges
SEO and JS: New Challenges
 
SEO for Startups: 2013 MuckerLabs Talk
SEO for Startups: 2013 MuckerLabs TalkSEO for Startups: 2013 MuckerLabs Talk
SEO for Startups: 2013 MuckerLabs Talk
 

Recently uploaded

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

AJAX in a responsive publishing world: Technical SEO strategies

  • 1. AJAXin a responsive publishing world CRAWLABILITY
  • 3.
  • 4. AJAXis like violence if it doesn't solve your problems, you’re not using enough of it.
  • 6.
  • 7. PAGES CRAWLED PER DAY 80% INCREASE 20,000 80,000 May 2013 – Aug 2013
  • 8. 80% INCREASE ORGANIC SEARCH SESSIONS 600,000 1,200,000 May 2013 – Aug 2013
  • 9. Mar 2004:“Googlebot/Test” External JS Mar 2006: Googlebot Uses Onsite Live Chat June 2010: Caffeine (Full Rollout) Nov 2010: Instant Preview May 2014: GWT Fetch & Render May 2012: Matt PSA. Don’t Block JS & CSS Oct 2009:AJAX Crawlability _escaped_fragment_ Nov 2007: Spider’sView on Web 2.0 May 2013: MattVideo. Googlebot & AJAX
  • 12. NAVIGATE / PAGINATE <a href="/page/2/">Load More</a> LOAD MORE LINK
  • 13. NAVIGATE / PAGINATE <a href="/page/2/">Load More</a> LOAD MORE LINK
  • 14. NAVIGATE / PAGINATE REL=NEXT / PREV <link href="/page/10/" rel="prev" /> <link href="/page/11/" rel="canonical" /> <link href="/page/12/" rel="next" />
  • 17. PUSHSTATE OR SHEBANG #! http://caniuse.com/#search=history history.pushState( {}, titleOfPage, newURL ); history.replaceState();
  • 20. DEFERED IMAGE LOADING I WISH CRAWLERS SUPPORTED REL=CANONICAL HTTP HEADERS FOR IMAGES
  • 21. 80% DECREASE IMAGE SEARCH SESSIONS 400,000 800,000 Nov 2012 – Mar 2013
  • 22. LAZY LOADING •  1x1 “BLANKS” •  SKELETON SCREENS •  LOW RESOLUTIONZ Z Z
  • 23. RESPONSIVE IMAGES •  <PICTURE> •  SRCSET •  POLYFILL •  UA DETECTION
  • 26.
  • 27. CRAWLABLE PARTIALS LYRIC SEARCH LINKS TOhttp://rock.rapgenius.com/1884632/Pharrell-williams- happy/ It-might-seem-crazy-what-im-bout-to-say-sunshine-shes- here-you-can-take-a-break
  • 28. CRAWLABLE PARTIALS JS ENABLED REDIRECTShttp://rock.rapgenius.com/Pharrell-williams- happy-lyrics#note-1884632
  • 29. CRAWLABLE PARTIALS JS DISABLED RENDERShttp://rock.rapgenius.com/1884632/Pharrell-williams- happy/It-might-seem-crazy-what-im-bout-to-say-sunshine- shes-here-you-can-take-a-break
  • 30. 4X PAGES CRAWLED PER DAY QUADRUPALED 75,000 300,000 May 2013 – Aug 2013
  • 37. PRERENDER SEO.js CONSPROS • SINGLE VIEW TEMPLATE • SINGLE ROUTING • REVERSE PROXY CACHING • _ESCAPED_FRAGMENT_ • INTERPOLATED SOURCE
  • 44. SERVER SIDE RENDER CONSPROS • CLEAN URLS* • ALL REQUESTS ARE EQUAL • TRUE DYNAMIC RESPONSE • 2 ROUTERS • 2 VIEW TEMPLATES*
  • 45. Quote conflated from my favorite ruby XML parser » http://nokogiri.org/ Speed, Performance, and Human Perception » https://www.youtube.com/watch?v=7ubJzEi3HuA SERoundtable Timeline Links » http://www.seroundtable.com/google-javascript-webmaster-tools-18602.html Googlebot/Test External JS » http://www.seroundtable.com/archives/000236.html Googlebot Uses Onsite Live Chat » http://www.seroundtable.com/archives/003492.html Spider’sView on Web 2.0 » http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html AJAX Crawlability Proposal » http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html Caffine Rollout » http://googlewebmastercentral.blogspot.com/2010/06/our-new-search-index-caffeine.html Instant Previews » http://googleblog.blogspot.com/2010/11/beyond-instant-results-instant-previews.html http://googlewebmastercentral.blogspot.com/2010/11/instant-previews.html http://googlewebmastercentral.blogspot.com/2011/11/get-post-and-safely-surfacing-more-of.html https://sites.google.com/site/webmasterhelpforum/en/faq-instant-previews Matt Cutts PSA: Don’t Block JS & CSS » http://www.seroundtable.com/googlebot-javascript-css-14930.html MattVideo: How Does Googlebot handle content loaded via AJAX? » https://www.youtube.com/watch?v=_6mtiwQ3nvw REFERENCES
  • 46. GWT Fetch & Render » http://googlewebmastercentral.blogspot.com/2014/05/rendering-pages-with-fetch-as-google.html Google Blog: Infinite Scroll Recommendations & Example » http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html LA Times Reimagined by Code and Theory » http://www.codeandtheory.com/things-we-make/the-los-angeles-times-reimagined Google Blog: Specify your canonical » http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html Google Blog: Pagination with rel=“next” and rel=“prev” » http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html Google Blog:Video about Pagination » http://googlewebmastercentral.blogspot.com/2012/03/video-about-pagination-with-relnext- and.html One Page Wonder: Coverage on QZ » http://www.foliomag.com/2013/one-page-wonder-infinite-scroll The Next Web Redesign Coverage » http://www.niemanlab.org/2012/10/the-next-web-redesigns-to-be-more-app-like/ The Next Web Press Release » http://thenextweb.pr.co/ 010a893a11df2bb61d981b2b0607c1b6784a5ab07b5ab100790b2bb3168a35f8 REFERENCES
  • 47. USA Today Redesign » http://blog.f-i.com/usatoday-com-redesigning-one-of-americas-most-popular-news-site/ http://designenvy.aiga.org/usa-today-website-redesign-fantasy-interactive/ http://www.businessinsider.com/usa-todays-homepage-redesigns-2012-9 Gawker 1Year Later Success » http://thenextweb.com/insider/2012/02/02/remember-that-gawker-redesign-a-years-worth-of- data-says-it-worked/ http://www.businessinsider.com/nick-denton-loses-bet-that-the-gawker-redesign-wouldnt-hurt- traffic-2011-10 http://www.businessinsider.com/gawker-media-traffic-numbers-2011-4 Gawker Failed Coverage » http://www.catchmyfame.com/2013/05/02/how-gawker-sabotaged-their-own-network-with-a- horrible-new-layout/ http://www.theatlantic.com/technology/archive/2011/04/gawkers-traffic-numbers-are-worse-than- anyone-anticipated/237594/ http://www.webmonkey.com/2011/02/gawker-learns-the-hard-way-why-hash-bang-urls-are-evil/ Paul Irish to Matt CuttsVideo » https://www.youtube.com/watch?v=yiAF9VdvRPw Google Developer Documentation on AJAX Crawlability » https://developers.google.com/webmasters/ajax-crawling/ Browser Compatibility Chart » http://caniuse.com/#search=history Breaking The Web With Hash Bangs » http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs REFERENCES
  • 48. Vox Cards: Legalization of Marijuana » http://www.vox.com/cards/marijuana-legalization/learn-more-about-marijuana-legalization Bing’s Duane Forrester says still no rel=canonical in http headers » https://twitter.com/DuaneForrester/status/459387860358295552 Google Blog:A Faster Image Search » http://googlewebmastercentral.blogspot.com/2013/01/faster-image-search.html Google Says It’s Better for Webmasters » http://www.seroundtable.com/google-image-search-design-16259.html Ilya Grigork discussion around <plaintext> injection » https://plus.google.com/+IlyaGrigorik/posts/S6j45VxNESB Vox Workflow for Creating SVG Images » http://product.voxmedia.com/2013/11/25/5426880/polygon-feature-design-svg-animations-for-fun- and-profit One Solution to Responsive Images » http://www.smashingmagazine.com/2014/02/03/one-solution-to-responsive-images/ Truly Responsive Images » http://davidwalsh.name/responsive-design AngularJS NYC Meetup: Server-side Template Rendering by HBO » http://youtu.be/iB7hfvqyZpg?t=58m20s REFERENCES
  • 49. Vox Cards: Legalization of Marijuana » http://www.vox.com/cards/marijuana-legalization/learn-more-about-marijuana-legalization Bing’s Duane Forrester says still no rel=canonical in http headers » https://twitter.com/DuaneForrester/status/459387860358295552 Google Blog:A Faster Image Search » http://googlewebmastercentral.blogspot.com/2013/01/faster-image-search.html Google Says It’s Better for Webmasters » http://www.seroundtable.com/google-image-search-design-16259.html Ilya Grigork discussion around <plaintext> injection » https://plus.google.com/+IlyaGrigorik/posts/S6j45VxNESB Vox Workflow for Creating SVG Images » http://product.voxmedia.com/2013/11/25/5426880/polygon-feature-design-svg-animations-for-fun- and-profit One Solution to Responsive Images » http://www.smashingmagazine.com/2014/02/03/one-solution-to-responsive-images/ Truly Responsive Images » http://davidwalsh.name/responsive-design Serious Angular SEO » http://www.ng-newsletter.com/posts/serious-angular-seo.html AngularJS NYC Meetup: Server-side Template Rendering by HBO » http://youtu.be/iB7hfvqyZpg?t=58m20s REFERENCES
  • 50. Josh Kadis Quartz onVIP WordpressVideo » http://vip.wordpress.com/2013/09/26/josh-kadis-qz-wordpress/ https://docs.google.com/file/d/0B2Z4K6ynFLg5TVdvWVV1aTRmYUU/edit?pli=1 AirBNB: Our First Node.js App » http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product/ AirBNB: Rendr (Backbone in the Browser and Node) » http://nerds.airbnb.com/weve-open-sourced-rendr-run-your-backbonejs-a/ StackOverflow: PushState, Backbone, and Node » http://stackoverflow.com/questions/7098130/reusing-backbone-views-routes-on-the-server-when- using-backbone-js-pushstate-for Google: How do I create an HTML Snapshot (HIJAX) » https://developers.google.com/webmasters/ajax-crawling/docs/html-snapshot REFERENCES

Editor's Notes

  1. Me on the Web
  2. Places I’ve worked & their sites
  3. More and more publishers are using AJAX for everything. citations: Quote conflated from my favorite ruby XML parser » http://nokogiri.org/
  4. Why more AJAX? Speed: Smaller the Better. 10k Challenge Performance: Under 100 ms is the avg. threshold of human reaction time Human Perception: 16ms == 60 FPS for silky smooth movement citations: Speed, Performance, and Human Perception » https://www.youtube.com/watch?v=7ubJzEi3HuA
  5. Chances are you’re using at least jQuery on your sites, and if you have or are thinking about having a Single Page App (SPA) or an AJAX heavy site, you might be using backbone, angular, or ember in the near future.
  6. I’ve sped up my site, what does that mean for SEO? SPIN spent March – May speeding up the sites + other “basic” SEO improvements (wasn’t just speed) Over next 3 months saw increase # of pages crawled per day 80%
  7. WHY? Not entirely sure, but there are a number of factors … we assume they’re due to secondary search signals. Increased # of PV/V results in additional social shares which lead to additional links. Decreased % of bounces results in fewer search refinements Brand equity increases over time which results in higher CTR and branded searches.
  8. What’s the problem? While Googlebot can technically crawl javascript, it doesn’t get everything all the time. Running a headless browser at webscale is nuts when you consider the events, callbacks, and triggers Citations: SERoundtable Timeline Links » http://www.seroundtable.com/google-javascript-webmaster-tools-18602.html Googlebot/Test External JS » http://www.seroundtable.com/archives/000236.html Googlebot Uses Onsite Live Chat » http://www.seroundtable.com/archives/003492.html Spider’s View on Web 2.0 » http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html AJAX Crawlability Proposal » http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html Caffine Rollout » http://googlewebmastercentral.blogspot.com/2010/06/our-new-search-index-caffeine.html Instant Previews » http://googleblog.blogspot.com/2010/11/beyond-instant-results-instant-previews.html http://googlewebmastercentral.blogspot.com/2010/11/instant-previews.html http://googlewebmastercentral.blogspot.com/2011/11/get-post-and-safely-surfacing-more-of.html https://sites.google.com/site/webmasterhelpforum/en/faq-instant-previews Matt Cutts PSA: Don’t Block JS & CSS » http://www.seroundtable.com/googlebot-javascript-css-14930.html Matt Video: How Does Googlebot handle content loaded via AJAX? » https://www.youtube.com/watch?v=_6mtiwQ3nvw GWT Fetch & Render » http://googlewebmastercentral.blogspot.com/2014/05/rendering-pages-with-fetch-as-google.html
  9. One of these most common AJAX thing in publishing. The basic example is navigational / pagination.
  10. For responsive sites, the infinite scroll on a mobile experience is really a great time saver and a great user experience. Think default WordPress Blog Check out the Google Example http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html Citations: Google Blog: Infinite Scroll Recommendations & Example » http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html
  11. At minimum have a crawlable link to the next page. The load more button doesn’t need to be constantly present. Think Old Skool Facebook.
  12. LA Times does a nice job of linking deeper Citations: LA Times Reimagined by Code and Theory » http://www.codeandtheory.com/things-we-make/the-los-angeles-times-reimagined
  13. For the crawlable pages and for series pages like navigational pages, use rel=next/prev + canonical to consolidate. See Maile’s great video on the topic Citations: Google Blog: Specify your canonical » http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html Google Blog: Pagination with rel=“next” and rel=“prev” » http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html Google Blog: Video about Pagination » http://googlewebmastercentral.blogspot.com/2012/03/video-about-pagination-with-relnext-and.html
  14. Pointer URLs are a recommended best practices from both a re-crawlability and user experience stand point … But, they can actually require a good amount of technical overhead to do correctly. Additionally, currently it doesn’t seem to have a tremendous negative impact on crawl discoverability. So in practice, I wouldn’t use these for publishing sites, at least for the navigational pages since most users aren’t really sharing pagination pages too often However, I’d imagine it’s different in the eCommerce world.
  15. The more interesting infinite scroll experiences that are immerging are on Quartz, Mashable, Gawker, LA Times, VOX, USA Today, TheNextWeb The idea that “Every page is a homepage” Gawker was a “big failure” but made out in the end. Same with USA Today, TheNextWeb, and I’d imagine the LA Times will be a similar story. Citations: One Page Wonder: Coverage on QZ » http://www.foliomag.com/2013/one-page-wonder-infinite-scroll The Next Web Redesign Coverage » http://www.niemanlab.org/2012/10/the-next-web-redesigns-to-be-more-app-like/ The Next Web Press Release » http://thenextweb.pr.co/010a893a11df2bb61d981b2b0607c1b6784a5ab07b5ab100790b2bb3168a35f8 USA Today Redesign » http://blog.f-i.com/usatoday-com-redesigning-one-of-americas-most-popular-news-site/ http://designenvy.aiga.org/usa-today-website-redesign-fantasy-interactive/ http://www.businessinsider.com/usa-todays-homepage-redesigns-2012-9 Gawker 1 Year Later Success » http://thenextweb.com/insider/2012/02/02/remember-that-gawker-redesign-a-years-worth-of-data-says-it-worked/ http://www.businessinsider.com/nick-denton-loses-bet-that-the-gawker-redesign-wouldnt-hurt-traffic-2011-10 http://www.businessinsider.com/gawker-media-traffic-numbers-2011-4 Gawker Failed Coverage » http://www.catchmyfame.com/2013/05/02/how-gawker-sabotaged-their-own-network-with-a-horrible-new-layout/ http://www.theatlantic.com/technology/archive/2011/04/gawkers-traffic-numbers-are-worse-than-anyone-anticipated/237594/ http://www.webmonkey.com/2011/02/gawker-learns-the-hard-way-why-hash-bang-urls-are-evil/
  16. How do you do it right? Personal preference _escaped_fragment_ : Don’t tend to see lots of hash values in SERPs It’s ugly & confusing Don’t like serving something different to just Googlebot (this can be a slippery slope) History.pushState FTW! (Paul Irish to Matt Cutts » https://www.youtube.com/watch?v=yiAF9VdvRPw) Like a stack of index cards, pushState adds more cards on top. ReplaceState swaps it out. Graceful degradation … don’t AJAX. Reminder: For continuous content, you really don’t want to use rel=next/prev unless they’re truly in a series you want to consolidate together Citations: Paul Irish to Matt Cutts Video » https://www.youtube.com/watch?v=yiAF9VdvRPw Google Developer Documentation on AJAX Crawlability » https://developers.google.com/webmasters/ajax-crawling/ Browser Compatibility Chart » http://caniuse.com/#search=history Breaking The Web With Hash Bangs » http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs
  17. Moar AJAX! SpinMedia saw increase in PV/V, Reduced Bounce Rate, and Flat Time on Site (we’re faster … more PV/V)
  18. Galleries are pretty much the same as Continuous Content This is where you’ll use rel=next/prev for each slide You can even transition into the next gallery just like Continuous Content The next button should be the link to the next slide The prev button to the previous slide Can load the whole JS bundle onto the page ahead of time or pull via JSON Citations: Vox Cards: Legalization of Marijuana » http://www.vox.com/cards/marijuana-legalization/learn-more-about-marijuana-legalization
  19. 2 types: Lazy Loading Responsive Images Both great for mobile I Wish Googlebot and Bingbot would support rel=canonical in http headers for images. But they don’t. Bingbot doesn’t even support the http header (Trust we tried really hard to make this work) Citations: Bing’s Duane Forrester says still no rel=canonical in http headers » https://twitter.com/DuaneForrester/status/459387860358295552
  20. Reminder: We not making this optimization for Google Image search traffic. Google’s Jan 2013 Image Page Redesign that’s “better for the UX” We do it for the better UX which leads to secondary search signals. Because sadly, there’s no good crawlability option to date. Although UX from Image Search Sessions improved, the overall net was worse. PageViews / Session Citations: Google Blog: A Faster Image Search » http://googlewebmastercentral.blogspot.com/2013/01/faster-image-search.html Google Says It’s Better for Webmasters » http://www.seroundtable.com/google-image-search-design-16259.html
  21. When lazy loading there are many options. 1x1s (should set image size) Skeleton Screens are a cool “human perception” experience Don’t sweat the navigational / aggregate pages. Make sure images are fully crawlable on the article / story / gallery page
  22. This is still a mess. There is no good standard. <picture> and srcset seem to be the way of the future, but it’s still limited. Srcset Javascript Browser detection CSS Queries for Double Density SVG solutions (but this isn’t quite practical at this time): Vox Workflow Creative Solution: Inject <plaintext> Citations: Ilya Grigork discussion around <plaintext> injection » https://plus.google.com/+IlyaGrigorik/posts/S6j45VxNESB Vox Workflow for Creating SVG Images » http://product.voxmedia.com/2013/11/25/5426880/polygon-feature-design-svg-animations-for-fun-and-profit
  23. The most scalable quick solution for now is NOSCRIPT Caution: <noscript> has traditionally been a spammy place … but it’s probably still worth the risk. Just like display:none and -9999px Libraries to take advantage of the data-src attributes. Citations: One Solution to Responsive Images » http://www.smashingmagazine.com/2014/02/03/one-solution-to-responsive-images/ Truly Responsive Images » http://davidwalsh.name/responsive-design
  24. An interesting concept … I’m not sure I’d fully go this route, but worth looking at.
  25. They’ve had problems with SEO … “affiliate” links and incentives Looking at their HTML, it doesn’t appear as though they spent a large amount of time on on-site SEO. However, they do well and have an interesting user experience.
  26. Search for some lyrics
  27. Get a cool focused, and targeted UX. Used to be done with referrer sniffing before “Not Provided”
  28. Javascript Redirects …. Something I wouldn’t recommend or do on my own sites … it’s too close to what blackhats use. However, I couldn’t say I’d have another solution to achieve their UX.
  29. If you’re not the implementer, chances are you’ll have to convince your engineering team of what the right possible solutions might be. Make friends with your engineering team, and know what you’re talking about before requesting it. 2 camps Pre-render or Server Side Render Neither is right or wrong, just different. Pick what works for your technology. I’ll cover the most popular implementations right now, but with tech anything goes. Make it what you want.
  30. Pros: Single MVC / MVW Single Routing Logic Cons: Cron / Cache Expiration Headache Render Could be Different Potentially Serving Something different for Googlebot _escaped_fragment_ Caveat: I’ve never used any of these services listed … proceed with caution. Citations: AngularJS NYC Meetup: Server-side Template Rendering by HBO » http://youtu.be/iB7hfvqyZpg?t=58m20s
  31. QZ Architecture Citations: Josh Kadis Quartz on VIP Wordpress Video » http://vip.wordpress.com/2013/09/26/josh-kadis-qz-wordpress/ https://docs.google.com/file/d/0B2Z4K6ynFLg5TVdvWVV1aTRmYUU/edit?pli=1
  32. Clean URLs aren’t necessarily specific to Server Side Rendering, you can have them with pre-rendering … but it’s not common with pre-rendering solutions. No more secondary caching headache. Expires on data update or by standard tested practices. QZ is the main example where there’s 2 templates for the view. The proposed alternate solution is to consolidate to 1 template.