Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SearchLove Boston 2013_Will Critchlow_Technical SEO


Published on

Published in: Technology, Design
  • Follow the link, new dating source: ♥♥♥ ♥♥♥
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❤❤❤ ❤❤❤
    Are you sure you want to  Yes  No
    Your message goes here

SearchLove Boston 2013_Will Critchlow_Technical SEO

  1. Modern Technical SEOWILL CRITCHLOW
  2. Best practice says youshould remove allparameters from your URLs
  3. That kind of“recommendation” doesn’tget things done
  4. Jeff Bezos insists onrecommendations written in prose
  5. Read Steve Yegge’s accidental reply-all
  6. Presenting to Jeff is agauntlet that tends tosend people back to thecave to lick their wounds-- Steve Yegge
  7. Imagine you’ve done all that– now be prepared to beasked “WHY?”
  8. Site speed
  9. You know why you care about speed
  10. You need to care about the detailsYou’ve probably all used tools like Google PageSpeed Insights
  11. A high score indicates little room forimprovement, while a lower score indicates moreroom for improvement. The PageSpeed Scoredoes not measure the time it takes for a page toload.-- GoogleWait, what?
  12. Why?Checking boxes doesn’tdelight users
  13. Diagnose when sites are actually slowDifference between “Has a CDN” vs. “CDN speeds site up”
  14. How?
  15. Gather more site speed data in GAAddthisline
  16. Understand waterfall reportsWe’re working on our own site speed. This is from DistilledU
  17. But what does it mean??All the credit goes to Waterfalls 101 from Web Performance Today
  18. Loads of rows?Combine assets(CSS, JS, images)All the credit goes to Waterfalls 101 from Web Performance Today
  19. Seeing lots ofORANGE bars?Try “keep-alive” toavoid dropping TCPconnectionsAll the credit goes to Waterfalls 101 from Web Performance Today
  20. Big GREEN bars?Shorten them with server-sideimprovements and CDNsUse analytics to tell you which – segment geographically
  21. Big BLUE bars?Shorten them by optimizing assetsShrink images, minify CSS / JS
  22. Before and afterNote: blue bars look bigger because of combined assets but total blue is less
  24. Robots.txt
  25. Why?It’s amazing how often thisgets screwed up
  26. Spot-quiz from DistilledUWith this robots.txt, what areas of thesite can googlebot crawl?
  27. Spot-quiz from DistilledUAnswer: everything but the /secret/ directory – Robots.txt rules do not inheritWith this robots.txt, what areas of thesite can googlebot crawl?
  28. Set alerts for changes to Robots.txtI use Server Density [disclaimer: we’re investors] – see how here
  30. Mobile and Internationalhave similar technicalchallenges
  31. site or more?
  32. Sets ofinternationalsites groupwith
  33. Sets of mobilesites groupwith alternatem.t.www.ALTERNATE
  34. rel=alternate
  35. Why?Declare a canonical pageand a mobile version
  36. Do a searchlike this onthe mobile
  37. When youclickthrough, youend up onthe mobileversion
  38. It’s hard to tell, but there’s noredirectThis link actually goes to the m.version specified with arel=alternateBut the title, URL, description allcome from the desktop version
  39. Who links whilemobile?Desktop pages accrue all the authority
  40. Check all of this with Chrome mobileemulationSettings  Developer Tools  cog (bottom right)  Overrides
  41. “Vary” header
  42. Why?Change your page based onuser-agent without worryingabout cloakingRESS – REsponsive with Server Side
  43. HTTP headercurl -I
  44. HTTP headercurl -I
  45. Modern meta information
  46. Why?Control how your pageslook when shared
  47. Do better than this kind of shareActually, I checked and WSJ does have og: tags – specifying that image so maybe it’sdeliberate branding
  48. Twitter cardsAllow control of thetweet versus thebasic:
  49. Twitter cardsAllow control of thetweet versus thebasic:
  50. Implement Twitter CardsGet a competitive advantage and sort this out now (stats from BuiltWith)
  52. JavaScript
  53. Why?The days of “googlebotcan’t execute JS so I don’tneed to understand it” aregone
  54. Anything beyond verybasic customizationof analytics coderesults in you writingcustom JavaScriptThis is a screenshot of the DistilledU module on customizing GA
  55. Sidenote: not all Google Analyticshas to be JavaScript-basedWe were toying with pushing Googlebot visits to GA via a server-side callYou can also use a GET request by constructing URLs like this:*=
  56. Get to grips with jQuerySo much easier than just JavaScript
  57. For example, Optimizely tests arebuilt from jQueryThis is a live test on the Distilled website
  58. Luckily, learning is easierthan ever
  59. DebuggingChrome ships with some powerful debugging toolsCTRL+SHIFT+J
  60. But alert() and console.log() areyour friends
  61. Right-click  Inspect ElementHighlight active DIVs and test changes immediately
  62. You can even edit pages here tomock things upObviously there are more useful things to do with this super power
  63. AJAX and PushState
  64. These buttons switch stories
  65. URLchangedwithoutthe pagereloading
  66. Contentchangedvia AJAX
  67. It can be hard for JS and server towork togetherNode.js on the server?
  68. Why?You’re going to recommendit or encounter it in a siteaudit
  69. And, incidentally, youshould – it’s great toseparate content frompresentation
  70. How do you audit AJAX?
  71. URLs load contentSpot-check with a browser + disabled js. Test with a crawler
  72. Links are HTML linksCTRL+U is view source in Chrome on Windows – learn your shortcuts
  73. …and the href is the same as thePushStateCTRL+U is view source in Chrome on Windows – learn your shortcuts
  74. For an idea of thecomplexity…
  75. Here’s an example of a beautiful siteFast CoEXIST
  76. Thatredirects toa mobilesite
  77. That loadscontent viaAJAXEmptyHTML
  78. Infinite Scroll
  79. This is what a mashablepage looks like when youload it
  80. When you keep scrolling moreloads under your mouse
  81. When you keep scrolling moreloads under your mouse
  82. Why?You’re going to encounter itin a site audit
  83. How do you audit infinitescroll?
  84. Can you get to all these links withoutscroll-loading?Make sure there is a (traditionally) crawlable navigation (Tips here)
  85. Can you see all the importantcontent without the scroll-loading?Or at least check that it’s getting indexed
  86. The state ofJavaScript indexation
  87. We know that FB comments can beindexedSee, for example this page whose JS comments are indexed
  88. Is it worth it though?
  89. TechCrunch admits thatusing Facebook commentsdrove away most of theircommenters-- techdirt [original TC article]We have seen a few mis-steps from FB on the comment front
  90. When Matt said this in 2011Original tweet
  91. This gives Google …the ability toread comments in AJAX orJavaScript, such as Facebookcomments or Disqus comments-- SearchEngineLand [emphasis mine]Much of the coverage was similar to this
  92. Disqus is growing fast by the waySites using Disqus vs. FB comments – data from BuiltWith
  93. Disqus comments can be indexedDisqus via API in source code indexed
  94. But the JS version can’tHas anyone seen it work anywhere?Disqus via JavaScript not indexed
  95. We have seen aggressive crawlingof things that look like URLs<a href="#" onclick="redirect(this);return false;" redir-to="$$$start$$$www/ratedpeople/com???find???trade???greater-london???little-ilford" rel=nofollow f="Brenda"l="Manor"></a>function redirect(elem) {url = $(elem).attr(redir-to).replace(///g,.).replace(/???/g,/).replace($$$start$$$,http://)document.location.href = url;}Worth reading the original announcement from Google – especially GET vs POST
  96. It doesn’t look like arbitraryJavaScript execution
  97. I would always specify thatall content and all links canbe found without JavaScript
  98. When you’re specifyingsomething, you can be as prescriptiveas you like
  99. When you are auditing, you should bemore cautious of the cost of changes
  100. If an audit shows contentbeing pulled in via JSbut it’s getting indexedI’d leave well enough alone
  101. If links are only accessiblevia JS, I would suggestfixing that even if pages arebeing discovered
  102. Go write technical recommendationslike you’re presenting to this guy
  103. Thanks.Any questions?WILL
  104. Image credits: