SEO, Site Speed, and Battlestar Galactica

A presentation at SearchFest 2012 in February 2012 in Portland, OR, USA by Jonathon Colman

Slide 1

Slide 1

Battlestar Galactica logo, brandmarks, imagery, characters, concepts, derivatives all © SyFy, a division of NBCUniversal. Learn more at http://www.syfy.com/battlestar/ Background image found via galactica.wikia.com/wiki/Main_Page

Slide 2

Slide 2

SEMpdx SearchFest 2012 – Advanced On-Site SEO SEO, Site Performance, BATTLESTAR GALACTICA Jonathon Colman Twitter @jcolman In-House SEO for REI www.REI.com Background image found via matttoomb.files.wordpress.com/2011/05/galactica_overview.jpg

Slide 3

Slide 3

SEMpdx SearchFest 2012 – Advanced On-Site SEO Download: http://slidesha.re/BSG-SEO Jonathon Colman Twitter @jcolman In-House SEO for REI www.REI.com Background image found via matttoomb.files.wordpress.com/2011/05/galactica_overview.jpg

Slide 4

Slide 4

NE SEMpdx SearchFest 2012 – Advanced On-Site SEO W :D SC R’ TO EC IR Download: http://slidesha.re/BSG-SEO ! UT Jonathon Colman Twitter @jcolman In-House SEO for REI www.REI.com Background image found via matttoomb.files.wordpress.com/2011/05/galactica_overview.jpg

Slide 5

Slide 5

Slide 6

Slide 6

Background image found via gamespot.com/forums/topic/29005504/february-releases—crazly-packed-56k-oh-no-?page=5

Slide 7

Slide 7

SEO and Sandworms: Marketing on Arrakis Background image found via walldesk.net/wallpaper/wallpapers-games-emperor-battle-for-dune.asp?f=5779

Slide 8

Slide 8

Where are my keywords? Life on the Island of (not provided) Background image found via girlgonegeekblog.com/2012/04/confessions-of-a-lost-late-bloomer/

Slide 9

Slide 9

The Walking Dead: After the PandApocalypse Background image found via best-background-tv-desktop-wallpapers.blogspot.com/2011/08/walking-dead-tv-series-wallpapers.html

Slide 10

Slide 10

Background image found via gamespot.com/forums/topic/29005504/february-releases—crazly-packed-56k-oh-no-?page=5

Slide 11

Slide 11

BSG and SEO are a lot alike… Background image found via s1024.photobucket.com/albums/y301/haven75/Battlestar%20Galactica/?action=view&current=seal_1024.jpg

Slide 12

Slide 12

Both focus on the activity of search… Background image found via spunkyjoes.wordpress.com/2011/05/12/frak-me-its-the-end-of-battlestar-galactica/

Slide 13

Slide 13

Both involve fighting with robots… Background image found via daddyhobby.com/forum/showthread.php?t=51935

Slide 14

Slide 14

Both have duplicate content… Background image found via forcesofgeek.com/2011/10/10-questions-to-see-if-youre-cylon.html

Slide 15

Slide 15

No, really – a LOT of duplicate content… Background image found via gavinrothery.com/my-blog/2011/10/21/starbuck-and-starbuck-in-starbucks-drinking-starbucks.html

Slide 16

Slide 16

It takes a genius to figure either one out! Background image found via suvudu.com/tag/gaius-baltar

Slide 17

Slide 17

OMG, it’s Ron Moore! Some guy. The creator of BSG lives in Portland(ia)! Background image found via comicsbulletin.com/main/reviews/portlandia-202-one-moore-episode

Slide 18

Slide 18

Psssst… that’s YOU! Both center on a hero… Background image found via tv.yahoo.com/battlestar-galactica/show/36672/photos/1

Slide 19

Slide 19

Aided by technologists and engineers… Background images found via imdb.com/media/rm3141241344/ch0008115 and tomcroom.com/?tag=battlestar-galactica

Slide 20

Slide 20

Who are held accountable by Leadership Background image found via thinkhero.com/2009/08/10/admiral-bill-adama-joins-the-green-hornet/

Slide 21

Slide 21

“SOMETIMES YOU GOTTA ROLL A HARD SIX.” Making the case for site performance optimizations

Slide 22

Slide 22

1% Google uses speed as an organic search ranking factor for the top 1% of competitive queries. Sources: Google, Matt Cutts [via Search Engine Land]

Slide 23

Slide 23

Good luck telling that to Admiral Cain… Speed isn’t a tactic for SEO… it’s a strategy for customers. Background image found via sitcomsonline.com/photopost/showphoto.php/photo/207020/size/big

Slide 24

Slide 24

2 Customers expect your web site to load in 2 seconds or less. Source: Forrester/Akamai [via GetElastic]

Slide 25

Slide 25

3 40% of customers will abandon any site that takes longer than 3 seconds to load. Source: Forrester/Akamai [via GetElastic]

Slide 26

Slide 26

7 The average Fortune 500 company web site takes 7 seconds to load. Source: Andrew Davies, Web Performance: A Whistlestop Tour…

Slide 27

Slide 27

7% For every 1 second of load time, conversion drops by 7%. Source: Strangeloop

Slide 28

Slide 28

16% For every 1 second of load time, user satisfaction drops by 16%. Source: Strangeloop

Slide 29

Slide 29

33% 33% of users surveyed expect a mobile site to load just as fast as or even faster than a desktop site. Source: KISSmetrics

Slide 30

Slide 30

50% A faster site reduces the costs of infrastructure and releases by 50% or more. Source: Shopzilla [via O’Reilly]

Slide 31

Slide 31

80% 80% of load time is dependent on front-end issues. Note: this can be up to 97% for mobile. Sources: Andrew Davies, Web Performance: A Whistlestop Tour… and Steve Souders, the Performance Golden Rule

Slide 32

Slide 32

“When [web sites] are fast, you feel good. What that comes down to is that you feel in control.” “That feeling… translates to happiness.” THIS IS NOT REALLY MATT Matt Mullenweg Co-founder of Wordpress Source: Improving Performance in Mature Web Apps Image found via pastemagazine.com/blogs/ctrl-v/2008/08/does-a-mccainpalin-ticket-tighroslin-battlestar-ti.html

Slide 33

Slide 33

Site speed helps you during times of crisis Background image found via denofgeek.com/television/294099/battlestar_galactica_season_1_episode_1_review_33.html

Slide 34

Slide 34

It helps you conduct tests with less cost Background image found via screened.com/tigh-me-up-tigh-me-down/18-70970/

Slide 35

Slide 35

It helps you make decisions using data Background image found via ebay.com/itm/LAURA-BATTLESTAR-GALACTICA-BSG-COLONIAL-FLEET-PRESIDENTIAL-ELECTION-BALLOT-PROP-/350518762669#ht_1974wt_795

Slide 36

Slide 36

And deliver content quickly to customers Background image found via ign.com/boards/threads/battlestar-galactica-blood-and-chrome.207851179/

Slide 37

Slide 37

“ACTION STATIONS! SPIN UP THE FTL DRIVES!” Optimizing for site performance

Slide 38

Slide 38

Study and learn from the best Sources: Yahoo, Google, Steve Souders

Slide 39

Slide 39

Free tools can help you get started now Sources: Yahoo! YSlow, Firebug, Google Page Speed, Google Analytics, WebPageTest and Pingdom

Slide 40

Slide 40

The Basics: 10 quick wins for site speed Background image found via scifivoyage.blogspot.com/2010/06/nubsg-miniseries-part-1.html

Slide 41

Slide 41

  1. Use gzip HTTP compression CLIENT REQUEST: SERVER RESPONSE: Accept-Encoding: gzip, deflate Content-Encoding: gzip RATIONALE: Decreases page load time by compressing the request, minimizing the amount of data transferred. Source: http://developer.yahoo.com/performance/rules.html#gzip Background image found via scriptphd.com/science-fiction-posts/2011/02/18/review-the-science-of-battlestar-galactica/

Slide 42

Slide 42

  1. Set a far-future Expires header EXAMPLE HEADER: Expires: Tue, 16 May 2023 22:00:00 GMT RATIONALE: Helps with re-loads of static page objects and components by caching them. Use across all content types. Source: http://developer.yahoo.com/performance/rules.html#expires Background image found via blog.screenweek.it/2009/11/si-definisce-il-cast-di-shattered-protagonista-e-callum-keith-rennie-57414.php

Slide 43

Slide 43

  1. Use the asynchronous GA code ON-PAGE CODE EXAMPLE: <script type=”text/javascript”> var _gaq = _gaq || []; _gaq.push([‘_setAccount’, ‘UA-XXXXX-X’]); _gaq.push([‘_trackPageview’]); (function() { var ga = document.createElement(‘script’); ga.type = ‘text/javascript’; ga.async = true; ga.src = (‘https:’ == document.location.protocol ? ‘https://ssl’ : ‘http://www’) + ‘.google-analytics.com/ga.js’; var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(ga, s); })(); </script> RATIONALE: This has been available since December 2009. Use it! It can go just before the closing </head> element. Source: http://code.google.com/apis/analytics/docs/tracking/asyncTracking.html Background image found via theloveumake.com/2008/03/31/huffpost-interview-w-lucy-lawless-she-cant-remember-anything-about-what-happens-in-season-4-bsg/

Slide 44

Slide 44

  1. Don’t dupe JS, remove unused CSS ON-PAGE CODE EXAMPLE:
<script type=”text/javascript” src=”dualla.js”></script> … <script type=”text/javascript” src=”dualla.js”></script>

RATIONALE: Creates unnecessary HTTP requests and wasteful JS execution. As team size/code complexity increases, so do duplicates and unused code! Refactor or remove code you’re not actively using. Source: http://developer.yahoo.com/performance/rules.html#js_dupes and http://code.google.com/speed/page-speed/docs/payload.html#RemoveUnusedCSS Background image found via battlestarfanclub.com/profiles/blogs/battlestar-galactica-fanclub

Slide 45

Slide 45

  1. <link> your CSS, avoid @import ON-PAGE CODE EXAMPLE:
<link rel=”stylesheet” href=”galactica.css”> <link rel=”stylesheet” href=”pegasus.css”> RATIONALE: Allows for parallel downloading and avoids additional delays. Source: http://code.google.com/speed/page-speed/docs/rtt.html#AvoidCssImport Background image found via fanforum.com/f256/cylon-discussion-12-because-we-each-have-our-favourite-toasters-62944521/

Slide 46

Slide 46

  1. Specify a character set ON-PAGE CODE EXAMPLE:
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8”> RATIONALE: Helps the browser begin parsing HTML and executing scripts immediately. If used in HTTP header, both must match. Source: http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyCharsetEarly Background image found via lotna.org.uk/wall/wall.htm

Slide 47

Slide 47

  1. Use a small, cached favicon.ico ON-PAGE CODE EXAMPLE:
<link rel=”icon” type=”image/png” href=“cylon-icon.png” /> RATIONALE: Even if you don’t use favico, the browser still requests it! Keep the file size under 1k and avoid the needless 404 error. Source: http://developer.yahoo.com/performance/rules.html#favicon Background image found via fanpop.com/spots/caprica/images/10885671/title/daniel-graystone-wallpaper

Slide 48

Slide 48

  1. Avoid empty <img>s HTML: JAVASCRIPT:
<img src=”“> var img = new Image(); img.src = “”; RATIONALE: Forces another HTTP request, which slows down your page load. May be fixed in HTML5, depending on browser(s). Source: http://developer.yahoo.com/performance/rules.html#emptysrc Background image found via fanpop.com/spots/grace-park/images/908395/title/battlestar-galactica-boomer-wallpaper

Slide 49

Slide 49

  1. Compress images, use dimensions ON-PAGE CODE EXAMPLE: <img src=“dradis.jpg” width=“360” height=”120” /> RATIONALE: Formatting images and specifying width/height reduce page load time by minimizing data sent from the server to the browser and speeding up rendering time. Remember that PNG is almost always better than GIF! Source: http://code.google.com/speed/page-speed/docs/payload.html#CompressImages

Slide 50

Slide 50

  1. Avoid redirects WTF?! RATIONALE: Cuts down on wait time for users by avoiding an entire request-response cycle and the latency that goes with it. Source: http://code.google.com/speed/page-speed/docs/rtt.html#AvoidRedirects Background image found via fanforum.com/f256/dean-stockwell-john-cavil-appreciation-thread-2-because-hes-mean-sob-62925212/index2.html

Slide 51

Slide 51

Intermediate level: CSS sprites for images Background image found via my.opera.com/alexs/albums/showpic.dml?album=382080&picture=6108656

Slide 52

Slide 52

CSS sprites reduce HTTP requests CSS PROPERTIES USED: background-image: url(img/DRADIS-icons.png); background-position: 0 0; RATIONALE: Reducing total HTTP requests greatly improves site performance. Combining common images into “sprites” reduces requests, latency, overhead, and total page file size. Source: http://code.google.com/speed/page-speed/docs/rtt.html#SpriteImages

Slide 53

Slide 53

Best practices for CSS sprites Combine images into sprites when: § Images load together § Images have similar color palettes § Images are PNGs and/or GIFs § Images are both small and cacheable Do not use for large JPGs/photos. Source: http://code.google.com/speed/page-speed/docs/rtt.html#SpriteImages

Slide 54

Slide 54

Here’s a site-wide sprite on REI.com Implementing these CSS sprites saved us nearly a whole second of avg. page load time. Source: http://www.rei.com/img/sprite_rei1.png

Slide 55

Slide 55

Here’s a complex Google example Source: http://www.google.com/doodles/jim-hensons-75th-birthday

Slide 56

Slide 56

This sprite is a 60-frame animation! Source: http://www.google.com/logos/2011/henson11-hp-6ea.png

Slide 57

Slide 57

“WE’VE JUMPED WAY BEYOND THE RED LINE.” Advanced examples of performance optimization

Slide 58

Slide 58

StackExchange moves to a CDN, crowd-sources performance tests Source: Jeff Atwood’s Coding Horror blog

Slide 59

Slide 59

Etsy.com uses BitTorrent to replicate its search index across servers Source: Etsy Code As Craft blog

Slide 60

Slide 60

“THE UPGRADES WILL TRIPLE THE FLEET’S JUMP CAPACITY.” SEO results from REI’s site performance optimizations

Slide 61

Slide 61

-50% A decrease in the time it took for Google to crawl an average page.

Slide 62

Slide 62

+100% A increase in the amount of total pages Google crawled per day.

Slide 63

Slide 63

-1.5 We saved customers seconds per page view. Multiplied by all page views…

Slide 64

Slide 64

We saved customers 22 Background image found via galacticasitrep.blogspot.com/2009_03_01_archive.html years of time.

Slide 65

Slide 65

Time they’ll spend Background image found via galactica.wikia.com/wiki/Earth outside vs. online

Slide 66

Slide 66

“LIGHTEN UP – IT’S ONLY THE END OF THE WORLD.” In conclusion…

Slide 67

Slide 67

The Final Five Background image found via galactica.wikia.com/wiki/Humanoid_Cylon

Slide 68

Slide 68

The Final Five Takeaways § The site performance business case isn’t just about SEO – it’s about customer UX § Plan a budget/time for performance work § Start with quick wins, “shrink the change” § Set speed targets for all new features § Measure, celebrate, and repeat “All of this has happened before… and all of this will happen again.” Background image found via galactica.wikia.com/wiki/Humanoid_Cylon

Slide 69

Slide 69

Thank you – so say we all! Jonathon Colman In-House SEO for REI about.me/jcolman Twitter: @jcolman hi rin g! ht tp :// bi t .l y/ re i jcolman@rei.com W e’ re E-mail: -jo bs Home: