14. Google Search Ranking “Our users place a lot of value in speed — that’s why we’ve decided to take site speed into account in our search rankings.” Google Blog, April 2010 17.05.2010 Performance. Webmontag. 14
17. Die (bekannten) 14 Regeln Gzip Components Add an Expires Header Reduce DNS Lookups Avoid Redirects Make Fewer HTTP Requests Make JavaScript and CSS External Minify JavaScript Put CSS at the Top Avoid CSS Expressions Put Scripts at the Bottom Remove DuplicateScripts Use a Content Delivery Network (CDN) Configure ETags Make AJAX Cacheable 17.05.2010 Performance. Webmontag. 17 http://developer.yahoo.com/performance/rules.html
18. Die (bekannten) 14 35 Regeln FlushBufferEarly UseGETforAjaxRequests Postload Components Preload Components ReducetheNumberofDOM Elements Split ComponentsAcross Domains MinimizeNumberofiframes Avoid404s ReduceCookie Size UseCookie-Free Domains for Components MinimizeDOM Access DevelopSmart Event Handlers Choose<link> Over @import AvoidFilters OptimizeImages OptimizeCSS Sprites Do Not ScaleImages in HTML Makefavicon.ico Small andCacheable Keep Components Under25 KB Pack Components Into a Multipart Document AvoidEmpty Imagesrc 17.05.2010 Performance. Webmontag. 18 http://developer.yahoo.com/performance/rules.html
23. Die Lösung: M(ultipart)HTML in der ie.css/*Content-Type: multipart/related; boundary="SEPARATOR"--SEPARATORContent-Location:bgimg1Content-Transfer-Encoding:base64iVBORw0[…]*/ 17.05.2010 Performance. Webmontag. 23 http://phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/
24. Die Lösung: M(ultipart)HTML in der ie.css#wrapper { background:url( "mhtml:http://me.com/ie.css!bgimg1" );} 17.05.2010 Performance. Webmontag. 24 http://phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/
26. Apache modconcat zum Aggregieren von CSS oder JavaScript <script type="text/javascript"src="http://yourdomain.com/??script-1.js,script-2.js"></script> Verwendet den Cache Header derjüngstenDatei 17.05.2010 Performance. Webmontag. 26 http://artzstudio.com/2008/08/using-modconcat-to-speed-up-render-start/
„WPO“ ist das Akronym für Web Performance Optimierung, analog zu „SEO“ wird es in den nächsten Jahren eine eigene Industrie werden.
TenniTheurer und Steve Souders begannen 2006 bei Yahoo!, die Performanz von Webseiten eingehender zu untersuchen. Entsprechend der Prämisse, dass man am Ende mehr profitiert, wenn man seine Erkenntnisse mit anderen teilt, publizierte Yahoo! diese Ergebnisse auf Konferenzen und Blogs noch im selben Jahr. Souders veröffentlichte in der Zwischenzeit zwei Bücher zum Thema und arbeitet heute bei Google. Bei Namics befassen wir uns mit WPO seit Sommer 2006.
Studien von Yahoo! und Google haben ergeben, dass nur 10-20% der Ladezeit vom Server abhängig ist. Bis vor wenigen Jahren dachte man bei Geschwindigkeit ausschließlich an den Server. Tatsächlich werden aber 80-90% der Ladezeit im Frontend fällig. Darum ist Web Performance Optimierung (WPO) im Frontend effizienter.Zwei wichtige Schwachstellen sind JavaScript-Dateien und die schiere Anzahl von Dateien:JavaScript lädt sequentiell und blockiert sämtliche nachfolgenden Inhalte. Darum sollte es nicht im Kopf, sondern im Fuß einer Seite stehen.Zweitens können ältere Browser, vor allem der Internet Explorer, nur 2-4 Dateien parallel laden. Dateien bilden darum eine Schlange, die nur langsam abgearbeitet wird. Ziel ist es darum, durch Zusammenfassung von Dateien die Anzahl der HTTP-Requests zu reduzieren.
Zusätzlich zur Seitenverzögerung hat man festgestellt, dass die Nutzer abgelenkter werden. 400 ms. mehr Ladezeit führten zu fast 800 ms. Verzögerung bis zur Interaktion mit der Seite!
AOL hat die Anzahl der Page Views in Abhängigkeit von der Ladegeschwindigkeit untersucht. Wenig überraschend war die Anzahl der besuchten Seiten höher, wenn sie schnell luden. Interessanterweise ist der Kurvenverlauf bei den untersuchten Sites unterschiedlich. Offenbar spielt der Kontext bzw. Surf-Modus eine Rolle, wieviele Seiten ein User durchklickt.
Es gibt verschiedene JavaScript-Libraries, die Bilder erst dann nachladen, wenn man sie braucht.