SEO AJAX Crawlability in a Responsive Publisher World
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

SEO AJAX Crawlability in a Responsive Publisher World

on

  • 2,569 views

With the emergence of heavy javascript / AJAX heavy frameworks and the growing popularity of things like AngularJS, Ember, Backbone.js, CanJS, and even JQuery; making sites and single page apps ...

With the emergence of heavy javascript / AJAX heavy frameworks and the growing popularity of things like AngularJS, Ember, Backbone.js, CanJS, and even JQuery; making sites and single page apps crawlable to search engines are becoming increasingly difficult. It doesn't have to be.

This presentation takes a look at some of the largest and trending publishers and some of the AJAX features they employ.

Statistics

Views

Total Views
2,569
Views on SlideShare
1,333
Embed Views
1,236

Actions

Likes
15
Downloads
14
Comments
1

13 Embeds 1,236

http://www.bruceclay.com 1108
https://twitter.com 46
http://feedly.com 34
http://www.slideee.com 17
https://www.linkedin.com 9
http://activ-agence.com 7
http://blog.bruceclay.com 5
http://www.newsblur.com 3
http://translate.googleusercontent.com 2
http://newsblur.com 2
http://reader.aol.com 1
http://www.xseo.com.au 1
https://translate.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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

SEO AJAX Crawlability in a Responsive Publisher World Presentation Transcript

  • 1. AJAXin a responsive publishing world CRAWLABILITY
  • 2. google.me/+EricWu @eywu linkedin.com/in/ericywu github.com/eywu
  • 3. AJAXis like violence if it doesn't solve your problems, you’re not using enough of it.
  • 4. 16ms 10kb 100ms SPEED, PERFORMANCE, HUMAN PERCEPTION
  • 5. PAGES CRAWLED PER DAY 80% INCREASE 20,000 80,000 May 2013 – Aug 2013
  • 6. 80% INCREASE ORGANIC SEARCH SESSIONS 600,000 1,200,000 May 2013 – Aug 2013
  • 7. 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
  • 8. SCROLL
  • 9. http://googlewebmastercentral.blogspot.com/2014/02/infinite-scroll-search-friendly.html THINK BASIC PAGINATION NAVIGATE / PAGINATE
  • 10. NAVIGATE / PAGINATE <a href="/page/2/">Load More</a> LOAD MORE LINK
  • 11. NAVIGATE / PAGINATE <a href="/page/2/">Load More</a> LOAD MORE LINK
  • 12. NAVIGATE / PAGINATE REL=NEXT / PREV <link href="/page/10/" rel="prev" /> <link href="/page/11/" rel="canonical" /> <link href="/page/12/" rel="next" />
  • 13. POINTER URLS* example.com/?last-post=42 example.com/?time=1401424133
  • 14. CONTINUOUS CONTENT
  • 15. PUSHSTATE OR SHEBANG #! http://caniuse.com/#search=history history.pushState( {}, titleOfPage, newURL ); history.replaceState();
  • 16. AJAX GALLERIES
  • 17. CONTINUOUS CONTENT 1. PUSHSTATE 2. VIEW-SOURCE NEXT SLIDE LINKS 3. REL=NEXT/ PREV
  • 18. DEFERED IMAGE LOADING I WISH CRAWLERS SUPPORTED REL=CANONICAL HTTP HEADERS FOR IMAGES
  • 19. 80% DECREASE IMAGE SEARCH SESSIONS 400,000 800,000 Nov 2012 – Mar 2013
  • 20. LAZY LOADING •  1x1 “BLANKS” •  SKELETON SCREENS •  LOW RESOLUTIONZ Z Z
  • 21. RESPONSIVE IMAGES •  <PICTURE> •  SRCSET •  POLYFILL •  UA DETECTION
  • 22. NOSCRIPT <img data-src='<480:small.jpg, <960:medium.jpg, >960:large.jpg' /> <noscript> <img src='full.jpg' /> </noscript>
  • 23. CRAWLABLE PARTIALS
  • 24. 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
  • 25. CRAWLABLE PARTIALS JS ENABLED REDIRECTShttp://rock.rapgenius.com/Pharrell-williams- happy-lyrics#note-1884632
  • 26. 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
  • 27. 4X PAGES CRAWLED PER DAY QUADRUPALED 75,000 300,000 May 2013 – Aug 2013
  • 28. +1MILLION ORGANIC SEARCH SESSIONS 2,000,000 4,000,000 May 2013 – Aug 2013
  • 29. Technical SEO Community HelpDeskHangouts.com SearchSignals.com bit.ly/ajax-crawlability
  • 30. APPENDIX
  • 31. ARCHITECTURE PRERENDER SERVERSIDEVS
  • 32. PRERENDER
  • 33. PRERENDER
  • 34. PRERENDER SEO.js CONSPROS • SINGLE VIEW TEMPLATE • SINGLE ROUTING • REVERSE PROXY CACHING • _ESCAPED_FRAGMENT_ • INTERPOLATED SOURCE
  • 35. SERVER SIDE
  • 36. SERVER SIDE
  • 37. SERVER SIDE
  • 38. SERVER SIDE
  • 39. SERVER SIDE
  • 40. SERVER SIDE
  • 41. SERVER SIDE RENDER CONSPROS • CLEAN URLS* • ALL REQUESTS ARE EQUAL • TRUE DYNAMIC RESPONSE • 2 ROUTERS • 2 VIEW TEMPLATES*
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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