site speed extreme - seokomm 2014

67
1 SITE SPEED EXTREME WEB-PERFORMANCE OPTIMIERUNG AM LIMIT Bastian Grimm, VP Organic Search, Peak Ace AG | @basgr

Upload: bastian-grimm

Post on 08-Jul-2015

6.696 views

Category:

Technology


3 download

DESCRIPTION

Meine Präsentation der #SEOkomm2014 in Salzburg zum Thema Performance Optimierung. Neben diversen Zahlen sprechen wir über das Critical Path Rendering, Strategien zur Web-Request Optimierung, (WordPress-) Caching und vieles mehr!

TRANSCRIPT

Page 1: Site Speed EXTREME - SEOkomm 2014

1

SITE SPEED EXTREME WEB-PERFORMANCE OPTIMIERUNG AM LIMIT

Bastian Grimm, VP Organic Search, Peak Ace AG | @basgr

Page 2: Site Speed EXTREME - SEOkomm 2014

2

Site Speed als offizieller Rankingfaktor

Full Story: http://pa.ag/1t4xVs6

Und das sogar schon seit 2010…

Page 3: Site Speed EXTREME - SEOkomm 2014

3

Google wird nicht müde…

Full Story: http://pa.ag/1t4xVs6

… das Gesagte zu Wiederholen: Jüngst Ende Oktober 2014:

Page 4: Site Speed EXTREME - SEOkomm 2014

4

Im Grunde geht es primär um den User

Full Story: http://pa.ag/1t4xVs6

Aber dennoch: Auch Crawling wird mit schnelleren Seiten deutlich effizienter

“We encourage you to start looking at

your site's speed - not only to improve

your ranking in search engines, but

also to improve everyone's experience

on the internet.”

- Amit Singhal & Matt Cutts, Google Search Quality Team

Page 5: Site Speed EXTREME - SEOkomm 2014

5

#1 Einige Zahlen zum Start Let’s do this!

Page 6: Site Speed EXTREME - SEOkomm 2014

6

Offenbar hat man Google zugehört…

Source: Searchmetrics Ranking Factors 2014 (US) - http://pa.ag/10cZuU2

Die Top-4 ist deutlich schneller als der Rest

Page 7: Site Speed EXTREME - SEOkomm 2014

7

Durchschnittliche Ladezeit <1 Sekunde

Source: Searchmetrics Ranking Factors 2014 (US) - http://pa.ag/10cZuU2

Erst ab Platz #6 liegen die Antwortzeiten bei > 1,1 Sekunden…

Page 8: Site Speed EXTREME - SEOkomm 2014

8

100ms können DEN Unterschied machen!

Quelle: http://pa.ag/1w8IYwq

Amazon: 1%+ Revenue pro 100ms, Yahoo: 9%+ Traffic pro 400 ms, …

Page 9: Site Speed EXTREME - SEOkomm 2014

9

Und auch für Google ist Speed wichtig

Quellen: http://pa.ag/1oBipmg & http://pa.ag/1EufbF1

Studie #1: 400ms langsamere Ergebnisse bedeuten -0,6% weniger Suchen pro User

Studie #2: 500ms beuteten sogar -15% Traffic auf den Suchergebnisseiten

Page 10: Site Speed EXTREME - SEOkomm 2014

10

Start mit Google PageSpeed Insights

https://developers.google.com/speed/pagespeed/insights/

Kostenloses, web-basiertes Scoring von Domains gegen ein Set von Best Practices

Page 11: Site Speed EXTREME - SEOkomm 2014

11

Start mit Google PageSpeed Insights

https://developers.google.com/speed/pagespeed/insights/?url=www.omx.at&tab=desktop

Priorisierung (Wirkungsgrad) sowie thematische Aufteilung (JS, Bilder, etc.)

Page 12: Site Speed EXTREME - SEOkomm 2014

12

YSlow: Die Mutter der Auditing Tools

http://yslow.org/

Kostenlos, für fast alle Browser – Achtung: Ergebnisse ggf. verbindungsabhängig

Page 13: Site Speed EXTREME - SEOkomm 2014

13

Vergleiche & vieles mehr mit GTmetrix

http://gtmetrix.com/

PageSpeed & YSlow in einem Tool, Report Download, API & mehr…

Page 14: Site Speed EXTREME - SEOkomm 2014

14

Perfmap für Chrome

Download: http://pa.ag/10MgGPy

Site Performance Heatmaps für geladene Ressourcen einer URL

Page 15: Site Speed EXTREME - SEOkomm 2014

15

Perfmap für www.omx.at Ladezeiten (cached vs. non-cached) in Form von Heatmaps

Page 16: Site Speed EXTREME - SEOkomm 2014

16

#2 Konzepte der Optimierung Critical Path Rendering in a Nutshell

Page 17: Site Speed EXTREME - SEOkomm 2014

17

Critical Path Rendering

Quelle & Bilder: http://pa.ag/1txGANU

“The code and resources required to render the initial view of a web page"

The Path The Render

The Critical (initial view)

“They [Google] are not talking about the overall time it takes to download a webpage. What

they care about is how quickly does a user start seeing content on that page.”

Page 18: Site Speed EXTREME - SEOkomm 2014

18

Google selbst empfiehlt dabei:

Den ganzen Beitrag lesen: http://pa.ag/1ypomT2

Ohne Scrollen sichtbare Inhalte immer zuerst, der Rest kann warten!

1. HTML so strukturieren, dass kritische (above-the-fold)

Inhalte zuerst geladen werden

2. Für alle anderen Ressourcen: Anzahl & Größe minimieren,

ggf. on-demand / deferred (nach-) laden

Page 19: Site Speed EXTREME - SEOkomm 2014

19

Was braucht Ihre Website wirklich?

http://www.phpied.com/css-and-the-critical-path/

Keine Fonts, kein JS & Videos; aber dafür ganz sicher HTML, CSS & ggf. ein Logo

Page 20: Site Speed EXTREME - SEOkomm 2014

20

Was braucht Ihre Website wirklich? Keine Fonts, kein JS & Videos; aber dafür ganz sicher HTML, CSS & ggf. ein Logo

“If you worry about performance, you

should get the CSS out of the way

asap. Make CSS small, minify,

compress, load (same host, no DNS)

and inline (if small enough).”

Page 21: Site Speed EXTREME - SEOkomm 2014

21

Automatisiertes Erstellen des CP-CSS

Ausprobieren: http://pa.ag/ccpcssgen

Vorher: 192.204 Zeichen; nachher: 11.433 Zeichen

Page 22: Site Speed EXTREME - SEOkomm 2014

22

#3 Site Speed Regelwerk Die wichtigsten Regeln für schnelle Websites

Page 23: Site Speed EXTREME - SEOkomm 2014

23

(Fast) alles was Sie wissen müssen…!

Page 24: Site Speed EXTREME - SEOkomm 2014

24

(Fast) alles was Sie wissen müssen…!

Page 25: Site Speed EXTREME - SEOkomm 2014

25

Anzahl der HTTP Anfragen reduzieren Multiple CSS (JavaScripts) kombinieren; je CSS wird ein HTTP Request ausgeführt

Page 26: Site Speed EXTREME - SEOkomm 2014

26

CSS oben, JavaScript unten! JS im HEAD muss erst komplett(!) geladen werden, bevor die Seite ausgegeben wird!

Page 27: Site Speed EXTREME - SEOkomm 2014

27

HeadJS enables parallelizing JS file downloads; Super-awesome!

http://headjs.com/

Und wenn das Kombinieren nicht klappt…

Page 28: Site Speed EXTREME - SEOkomm 2014

28

Minify für CSS & JavaScript Dateien Entfernen von überflüssigen Leerzeilen, Umbrüchen & Kommentaren

For CSS, try: http://www.phpied.com/cssmin-js/

http://developer.yahoo.com/yui/compressor/

http://www.minifycss.com/css-compressor/

For JS, go with: http://jscompress.com/

https://github.com/mishoo/UglifyJS

http://www.crockford.com/javascript/jsmin.html

https://developers.google.com/closure/compiler

Page 29: Site Speed EXTREME - SEOkomm 2014

29

Warum man Zip + Minify nutzen sollte: ~88% Ersparnis durch kombinierte Verwendung

Normal

271 KB

Minified

90 KB

GZIP‘ed

78 KB

Min. + GZIP‘ed

32 KB

Page 30: Site Speed EXTREME - SEOkomm 2014

30

csscss: Eine CSS Redundanz Analyse Auffinden von Mehrfachdeklarationen in CSS

http://zmoazeni.github.io/csscss/

Page 31: Site Speed EXTREME - SEOkomm 2014

31

Für Icons & Layout: CSS Sprites Ein „großes“ Bild und CSS-Eigenschaften, um entsprechende Abschnitte zu zeigen

http://www.spritecow.com/ & http://spriteme.org/

Page 32: Site Speed EXTREME - SEOkomm 2014

32

Und bei allen anderen Bildern:

https://tinypng.com/ & http://www.jpegmini.com/

TinyPNG & JPEGmini zum Entfernen von Meta Daten und Co.

Page 33: Site Speed EXTREME - SEOkomm 2014

33

GZIP Kompression aktivieren

http://www.gzip.org/ & http://pa.ag/1t4DGpH

Starkes Verkleinern der Dateien verkürzt die Transfergeschwindigkeit (pro Datei)

On Apache, try “mod_deflate” which is straight forward:

AddOutputFilterByType DEFLATE text/html text/plain

text/xml

Page 34: Site Speed EXTREME - SEOkomm 2014

34

Caching für statische Ressourcen Firebug, Live HTTP Headers oder Web Sniffer zeigen entsprechende Header

Page 35: Site Speed EXTREME - SEOkomm 2014

EINFACH MAL DIE IT FRAGEN… DIE WISSEN GANZ SICHER WIE CACHING GEHT!

Image Source: podbean.com

Page 36: Site Speed EXTREME - SEOkomm 2014

36

Und wenn das doch nicht der Fall ist: Good luck finding someone who does the job properly!

Page 37: Site Speed EXTREME - SEOkomm 2014

37

Cookie-less Domains für Static Assetts Werden Cookies verwenden, so werden diese für JEDE Ressource mitgeschickt…

Keine Cookies… … auf gstatic.com

1. „Einfach keine Cookies setzen“

2. RequestHeader unset Cookie (Apache mod_headers)

3. Header unset Set-Cookie (Cookie Header entfernen)

Page 38: Site Speed EXTREME - SEOkomm 2014

38

Diverse Optimierungen im Mark-Up Auch direkt im HTML kann man viele Dinge falsch machen… ein Auszug:

Niemand braucht HTML Kommentare (in einem Live System) –

spätestens beim Build entfernen (z.B. mit Apache ANT)

Verschieben von inline CSS / JS in externe Dateien (Ausnahme

Critical Path Rendering) – den HTML Code so kompakt wie

möglich halten.

Auf @import in CSS verzichten – Browser können dann Dateien

nicht mehr parallel herunterladen

Bilder niemals mit width / height skalieren – kleinere Bilder

bedeutet geringere Dateigröße, also immer gleich die richtige

Größe anliefern (besser noch: klein laden, mit großen ersetzen)

Page 39: Site Speed EXTREME - SEOkomm 2014

39

Eure Social Media Buttons…! Ich weiß, Social Signals und so… aber BITTE unbedingt ASYNCHRON laden!

Page 40: Site Speed EXTREME - SEOkomm 2014

40

#4 WordPress Performance Tipps & Tricks für die einfache Umsetzung in WP

Page 41: Site Speed EXTREME - SEOkomm 2014

41

Auf geht‘s… Die Ausgangsbasis: PageSpeed Insights, WP 4.0 Standard Installation, Theme Twenty Fourteen

Page 42: Site Speed EXTREME - SEOkomm 2014

42

WP Super Cache WordPress Caching Engine, >6 Mio. Downloads, kostenlos

https://wordpress.org/plugins/wp-super-cache/

Page 43: Site Speed EXTREME - SEOkomm 2014

43

Das Ergebnis: Nix...! Standard-Caching reicht nicht für „gute Scores“ (bzw. schnelle Seiten)

Page 44: Site Speed EXTREME - SEOkomm 2014

44

Better WordPress Minify JavaScript und CSS-Dateien kombinieren + minify‘en

https://wordpress.org/plugins/bwp-minify/

Page 45: Site Speed EXTREME - SEOkomm 2014

45

Besser: Alle „Minify-Issues“ erledigt „Leverage Browser-Caching“: Verursacht durch externes jQuery!

Page 46: Site Speed EXTREME - SEOkomm 2014

46

Use Google Libraries Ausliefern von jQuery, Dojo, Prototype, uvm. über das Google CDN

https://wordpress.org/plugins/use-google-libraries/

Page 47: Site Speed EXTREME - SEOkomm 2014

47

Fast perfekt… 91/100 Rest: Manuelles anpassen von Sourcecode bzw. der .htaccess

Page 48: Site Speed EXTREME - SEOkomm 2014

48

Alles zurück auf Start: Neue Runde! PageSpeed Insights, WP 4.0 Standard Installation, Theme Twenty Fourteen

Page 49: Site Speed EXTREME - SEOkomm 2014

49

W3 Total Cache Das wohl umfangreichste und bekannteste Caching Plug-in

https://wordpress.org/plugins/w3-total-cache/

Page 50: Site Speed EXTREME - SEOkomm 2014

50

W3 Total Cache Das wohl umfangreichste und bekannteste Caching Plug-in

https://wordpress.org/plugins/w3-total-cache/

Page 51: Site Speed EXTREME - SEOkomm 2014

51

Out of the Box: 92/100 PageSpeed Insights, WP 4.0 Standard Installation, Theme Twenty Fourteen

Page 52: Site Speed EXTREME - SEOkomm 2014

52

The new Kid in Town: WP Rocket Kostenpflichtiges Premium Plug-in, ab 29€ pro Domain

http://wp-rocket.me/de/

Page 53: Site Speed EXTREME - SEOkomm 2014

53

The new Kid in Town: WP Rocket Kostenpflichtiges Premium Plug-in, ab 29€ pro Domain

http://wp-rocket.me/de/funktionen/

Page 54: Site Speed EXTREME - SEOkomm 2014

54

Kraken: Automatisierte Bildoptimierung Lossless & Lossy Optimization für PNG, JPG und GIF, z.B. für alle User-Uploads

https://wordpress.org/plugins/kraken-image-optimizer/

Page 55: Site Speed EXTREME - SEOkomm 2014

55

EWWW: Same Game, aber lokal… Installation der notwendigen Libraries auf dem Server (mitgeliefert)

https://wordpress.org/plugins/ewww-image-optimizer/

Page 56: Site Speed EXTREME - SEOkomm 2014

56

Wer hat‘s bemerkt?! ALLE vorgenannten Tests komplett ohne Verwendung eines CDN!

http://www.cdnplanet.com/cdns/

Page 57: Site Speed EXTREME - SEOkomm 2014

57

#5 Server, DB & Hosting Serverseitige Optimierungen für noch mehr Speed

Page 58: Site Speed EXTREME - SEOkomm 2014

58

mod_pagespeed für Apache

https://code.google.com/p/modpagespeed/

Automatisierte Implementation von Regeln aus PageSpeed Insights

Page 59: Site Speed EXTREME - SEOkomm 2014

59

mod_spdy: SPDY für Apache (& nginx)

https://code.google.com/p/mod-spdy/

59% Marktanteil für Apache und zus. 22% für nginx = gute Ausgangsbasis

Page 60: Site Speed EXTREME - SEOkomm 2014

60

Und dann kam in 08/2014 das:

Quelle: http://pa.ag/11dz05w

Google kündigt HTTPS (TLS over HTTP) als „Rankingsignal“ an…

Page 61: Site Speed EXTREME - SEOkomm 2014

61

SPDY Usage-Statistiken

Quelle: http://w3techs.com/technologies/details/ce-spdy/all/all

Bereits 2,6% aller Webseiten nutzen das SPDY-Protokoll

Page 62: Site Speed EXTREME - SEOkomm 2014

62

Einfach mal in Ruhe ausprobieren…!

Page 63: Site Speed EXTREME - SEOkomm 2014

63

SPDY Kompatibilität prüfen

http://caniuse.com/spdy & http://spdycheck.org/

Alle modernen Browser (außer kleinere Probleme im IE) können SPDY!

Page 64: Site Speed EXTREME - SEOkomm 2014

64

Drei Tipps für PHP Session im RAM, APC als PHP-Cache & PHP-FPM ausprobieren

session.save_handler = memcached

session.save_path = "localhost:11211"

#1 Mit memcached Sessions direkt im RAM speichern: (Vorteil: Keine Festplattenzugriffe mehr!)

#2 Mit APC Funktionen, Objekte & Co im RAM halten: (Sowie: Bereits kompilierten Bytecode cachen vs. immer zur Laufzeit neu-kompilieren)

#3 PHP-FPM (FastCGI Process Manager) ausprobieren! (Insbesondere für Seiten mit viel Traffic… http://php-fpm.org/)

Page 65: Site Speed EXTREME - SEOkomm 2014

65

Drei Tipps für mysql Suchen nie direkt in mysql, einfache Strukturen verwenden

#1 Suchen in MySQL ist tödlich (Besser: eine „echte“ Suche verwenden, denn „MATCH AGAINST“

oder auch „LIKE“ in mysql sind extrem langsam!)

#2 Sinnvolle, einfache Tabellenstrukturen verwenden (Muss es VARCHAR(255) sein oder reicht VARCHAR(20)? Niemals textbasierte

Primary Keys verwenden!)

#3 Konfigurieren mit MySQLTuner, Debug / Monitoring mit innotop

Page 66: Site Speed EXTREME - SEOkomm 2014

66

WE ARE HIRING: pa.ag/ace-jobs 10+ Openings in PPC, SEO as well as Content & Online PR in Berlin, Germany!

http://pa.ag/ace-jobs

Page 67: Site Speed EXTREME - SEOkomm 2014

67

Vielen Dank! Fragen?

[email protected]

twitter.com/peakaceag

facebook.com/peakaceag

www.peakace.de

http://pa.ag/seokomm-speed