Web Marketing Now - WPO

56
www.andrea-cardinale.it [email protected] @CardinaleAndrea www.webandtech.it Andrea Cardinale Web Developer & Web Marketing Specialist Web Performance Specialist + Andrea Cardinale

description

Web Performance Optimization: come e perché

Transcript of Web Marketing Now - WPO

Page 3: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Perchè?1) Ranking

Page 4: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Using site speed in web search rankinghttp://googlewebmastercentral.blogspot.it/2010/04/using-site-speed-in-web-search-ranking.htmlWebmaster Level: AllFriday, April 09, 2010 at 11:00 AM

“You may have heard that here at Google we're obsessed with speed, in our products and on the web. As part of that effort, today we're including a new signal in our search ranking algorithms: site speed.”

Posted by Amit Singhal, Google Fellow and Matt Cutts, Principal Engineer, Google Search Quality Team

Page 5: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Using site speed in web search rankinghttp://googlewebmastercentral.blogspot.it/2010/04/using-site-speed-in-web-search-ranking.htmlWebmaster Level: AllFriday, April 09, 2010 at 11:00 AM

“You may have heard that here at Google we're obsessed with speed, in our products and on the web. As part of that effort, today we're including a new signal in our search ranking algorithms: site speed.”

Posted by Amit Singhal, Google Fellow and Matt Cutts, Principal Engineer, Google Search Quality Team

Page 6: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Perchè?1) Ranking

2) Conversioni

Page 7: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Tasso di abbandono

Page 8: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / Studi

Condotte da grandi aziende

(anche se un po' vecchiotte restano valide)

Page 9: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiBingUna pagina di 2 secondi più lenta provoca un calo del 4,3% dei ricavi/utente.

Page 10: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiGoogle400 millisecondi di ritardo causa un calo dello 0,59% nelle ricerche/utente.

Page 11: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiYahoo400 millisecondi di rallentamento provocano un calo del 5-9% del traffico.

Page 12: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiShopzillaVelocizzare il sito di 5 secondi ha aumentato il tasso di conversione del 7-12%, raddoppiato il numero di sessioni di search engine marketing, ed ha dimezzato il numero di server necessari.

Page 13: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiMozillaLa diminuizione di 2,2 secondi del caricamento delle loro landing pages ha aumentato le conversioni di download del 15,4%, ovvero 60 milioni di download di Firefox in più all'anno.

Page 14: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ricerche / Analisi / StudiNetflixLa sola adozione di un fattore di ottimizzazione, la compressione gzip, ha determina un aumento di velocità del 13-25% e ridotto il traffico di rete in uscita del 50%.

Page 15: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: http://www.watchingwebsites.com

Page 16: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: http://www.watchingwebsites.com

Page 17: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: http://www.watchingwebsites.com

Page 18: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: http://www.watchingwebsites.com

Page 19: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Perchè?1) Ranking

2) Conversioni

3) Mobile

Page 20: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: Human Highway

● 2012 => 4%

● 2013 => 10%

● crescita a tripla cifra(+165% anno su anno)

e-Shopping

Page 21: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Fonte: What Users Want from Mobile

● 74% degli utenti abbandona dopo aver atteso il caricamento per cinque secondi

● Il 46% non ritornerà in un sito lento

● 71% degli utenti mobile si aspettano che sul proprio smartphone i siti web siano veloci almeno quanto lo sono sul proprio PC/Notebook

Performance

Page 22: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Perchè?"10 Golden Rules for Successful Apps" by Fred WilsonFonte: http://blog.apps-builder.com/10-golden-rules-for-successful-apps/

1. Speed

"Speed is more than a feature.It’s the most important feature."

Page 23: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

I tempi di caricamento dipendono per almeno

80%dal front-end

Page 25: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Diminuire il numero di richieste

Averlo più piccolo (il tempo di ogni richiesta)

Page 26: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

PageSpeedhttps://developers.google.com/speed/pagespeed/

Yahoo! YSlowhttp://developer.yahoo.com/yslow/

WebPagetesthttp://www.webpagetest.org/

GTmetrixhttp://gtmetrix.com/

Pingdomhttps://www.pingdom.com/

Akamai's Mobitesthttp://mobitest.akamai.com/m/index.cgi

Which loads faster?http://whichloadsfaster.com/

Load Impacthttp://loadimpact.com/

Speedoohttp://www.giorgiotave.it/speedoo/

WebPagetest

Page 27: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Unire più files CSS / JS

Minori richieste al serverMinor tempo di latenza

primo.css + secondo.css + terzo.css unico.cssprimo.js + secondo.js + terzo.js unico.js

Page 28: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Diminuire il peso dei CSS / JS

Riduzione download dati

Esempio: jQuery 1.8.3

Development version: 247KBMinified version: 93,6KB -62%

Page 29: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Prima (16 richieste) Dopo (2 richieste)

Page 30: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Diminuire il peso delle risorse

Riduzione download datiEsempio: jQuery 1.8.3

Development version: 247KBMinified version: 93,6KBGzipped version: 32KB -87%

Page 31: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Evitare continui downloadsdella stessa risorsa

Minori richieste al server

Page 32: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Sfruttiamo la cache del browser

Risorse statiche:Implementare una policy "Never expire" impostando una data molto lontana (es.: 1 anno)

Risorse dinamiche:Utilizzare una data appropriata per il Cache-Control header e utilizzare il Last-Modified header per segnalare un'eventuale update della risorsa

Page 33: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Esempio tramite .htaccess<IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType text/html A3600</IfModule>

<FilesMatch "\.(css|js|CSS|JS)$"> <IfModule mod_headers.c> Header set Pragma "public" Header set Cache-Control "public, must-revalidate, proxy-revalidate" </IfModule></FilesMatch>

Page 34: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

First View(16.176s)

19 richieste

Repeat View(0.543s)

4 richieste

Page 35: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Il browser e il server web riutilizzanola stessa connessione per trasferire i files

● Riduce la latenza dei trasferimenti HTTP

● Riduce l'utilizzo della CPU

Page 36: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Cookie-less domain

Parallelize downloads across hostnames

Page 37: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

www.miosito.itHTML + componenti dinamici

static1.miosito.it static2.miosito.itcomponenti statici (img, css, js)

Page 38: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

● Consente di massimizzare downloads paralleli

● Massimo 2/4 domini altrimenti si ha una penalizzazione DNS lookup

● Evitiamo il trasferimento di inutili dati relativi ai cookies che non utilizziamo

● Esempi: Yahoo! → yimg.com YouTube → ytimg.com Amazon → images-amazon.com

Page 40: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

<link rel="dns-prefetch" href="//fakecdn.domain.com">

Page 41: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

diminuire i tempi di latenza

diminuire il carico di lavoro del server

CloudFronthttp://aws.amazon.com/cloudfront/

CloudFlarehttps://it.cloudflare.com/

Akamaihttp://www.akamai.com/

MaxCDNhttp://www.maxcdn.com/

Imgixhttp://www.imgix.com/

Page 42: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Un'unica immagine per n immagini

Minori richieste al web server

Es.: Google CSS Sprite

Page 43: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

offrire immagini non scalate

attributi width e height del tag img

corrispondenti alle dimensioni dell'immagine

Page 44: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Ridurre la dimensione delle immagini

● JPEG progressive

● WebP

Page 45: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

JPEG non ottimizzata

331.2KB

Progressive JPEG

306.6KB

-8%

WebP220.7KB

-33.3%

Page 47: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Lazy loading

Non carichiamo l'immagine a priorima solo solo se è visibile

Aumento velocià percepitaEvitiamo richieste inutili

Risparmiamo banda

Page 48: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Lazy loading

Non carichiamo l'immagine a priorima solo solo se è visibile

Aumento velocià percepitaEvitiamo richieste inutili

Risparmiamo banda

Page 49: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Lazy loading

da 18 richieste (384KB) a 9 richieste (142KB)

Page 50: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Single Point Of Failure

Esempiby Steve Souders

http://stevesouders.com/tests/spof/slow-script.php?t=1368886996

La causa principalescript esterni

Altre cause:fogli di stile @font-face inline

Fogli di stile con @font-face Script seguito da @font-face

Page 51: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Single Point Of Failure

Finche lo script non viene caricato

la pagina mostrerà una schermata bianca

Page 52: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Script esterni

Facebook widgetTwitter widget

Advertising scripts

altri widgets altri scripts

Page 53: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Asynchronous / Deferprima

Page 54: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

Asynchronous / Defer

dopo

Page 55: Web Marketing Now - WPO

Blog : www.andrea-cardinale.itE-mail : [email protected]

Twitter : @CardinaleAndreaGoogle Plus : + Andrea Cardinale

Andrea Cardinale

● modulo per Apache● permette l’ottimizzazione automatica di pagine web● Comprende le ultime tecniche di ottimizzazione web● 40 filtri di ottimizzazione configurabili● Possibilità di convertire le immagini in webP

Ottima soluzione per ottimizzarevelocemente e senza agire sul codice

siti già realizzati osu cui è difficile applicare soluzioni custom